Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans une
table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu "find
et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer, dans
l'ensemble des querys, tous les anciens noms de champs par les nouveaux?
en vous remerciant,
Frédéric
Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans une
table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu "find
et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer, dans
l'ensemble des querys, tous les anciens noms de champs par les nouveaux?
en vous remerciant,
Frédéric
Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans une
table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu "find
et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer, dans
l'ensemble des querys, tous les anciens noms de champs par les nouveaux?
en vous remerciant,
Frédéric
FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans une
table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu "find et
change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer, dans
l'ensemble des querys, tous les anciens noms de champs par les nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta base
et pour chacune tu utilises un replace pour changer le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
FTH a écrit :
Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans une
table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu "find et
change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer, dans
l'ensemble des querys, tous les anciens noms de champs par les nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta base
et pour chacune tu utilises un replace pour changer le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans une
table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu "find et
change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer, dans
l'ensemble des querys, tous les anciens noms de champs par les nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta base
et pour chacune tu utilises un replace pour changer le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:uZ0lnP53JHA.1416@TK2MSFTNGP04.phx.gbl...
FTH a écrit :
Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:uZ0lnP53JHA.1416@TK2MSFTNGP04.phx.gbl...
FTH a écrit :
Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
FTH a écrit :Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans MSysQueries.expression
et je ne vois rien dans le code qui fasse reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans une
table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu "find
et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer, dans
l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne connaissant pas
les conséquences de manip sur les tables systéme, je regarde mais je
touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet de
reccuperer le 'source' de la requete "Nomrequete" et de le modifier à mon
grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
FTH a écrit :
Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans MSysQueries.expression
et je ne vois rien dans le code qui fasse reference à cela..
Merci
Frédéric
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:uZ0lnP53JHA.1416@TK2MSFTNGP04.phx.gbl...
FTH a écrit :
Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans une
table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu "find
et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer, dans
l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne connaissant pas
les conséquences de manip sur les tables systéme, je regarde mais je
touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet de
reccuperer le 'source' de la requete "Nomrequete" et de le modifier à mon
grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
FTH a écrit :Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans MSysQueries.expression
et je ne vois rien dans le code qui fasse reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans une
table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu "find
et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer, dans
l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne connaissant pas
les conséquences de manip sur les tables systéme, je regarde mais je
touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet de
reccuperer le 'source' de la requete "Nomrequete" et de le modifier à mon
grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" wrote in message
news:FTH a écrit :Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du
champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne connaissant
pas les conséquences de manip sur les tables systéme, je regarde mais
je touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet
de reccuperer le 'source' de la requete "Nomrequete" et de le modifier
à mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:OHEYifO5JHA.4184@TK2MSFTNGP02.phx.gbl...
FTH a écrit :
Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:uZ0lnP53JHA.1416@TK2MSFTNGP04.phx.gbl...
FTH a écrit :
Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du
champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne connaissant
pas les conséquences de manip sur les tables systéme, je regarde mais
je touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet
de reccuperer le 'source' de la requete "Nomrequete" et de le modifier
à mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" wrote in message
news:FTH a écrit :Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du
champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne connaissant
pas les conséquences de manip sur les tables systéme, je regarde mais
je touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet
de reccuperer le 'source' de la requete "Nomrequete" et de le modifier
à mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
FTH a écrit :Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" wrote in message
news:FTH a écrit :Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du
champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne connaissant
pas les conséquences de manip sur les tables systéme, je regarde mais je
touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet de
reccuperer le 'source' de la requete "Nomrequete" et de le modifier à
mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
oui exactement
FTH a écrit :
Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:OHEYifO5JHA.4184@TK2MSFTNGP02.phx.gbl...
FTH a écrit :
Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:uZ0lnP53JHA.1416@TK2MSFTNGP04.phx.gbl...
FTH a écrit :
Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du
champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne connaissant
pas les conséquences de manip sur les tables systéme, je regarde mais je
touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet de
reccuperer le 'source' de la requete "Nomrequete" et de le modifier à
mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
oui exactement
FTH a écrit :Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" wrote in message
news:FTH a écrit :Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du
champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne connaissant
pas les conséquences de manip sur les tables systéme, je regarde mais je
touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet de
reccuperer le 'source' de la requete "Nomrequete" et de le modifier à
mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
oui exactement
Re bonjour Fabien,
je reviens vers toi et ta solution pour remplacer les anciens noms de
champs par les nouveaux.
j'y arrive pas. En fait, ça se bloque (not responding)
Quand je regarde pas à pas, je ne vois apparaitre nulle part le
"contenu" de la query.
par contre, je crois voir, dans le SELECT, toutes les queries
concernées. Ne serait il pas possible de traiter chaque query une à une
genre for each xxx? (je dis ça mais suis pas capable de mettre ça en
oeuvre!)
en te remerciant,
Fréédric
"Fabien" wrote in message
news:eMwy%FTH a écrit :Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" wrote in message
news:FTH a écrit :Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs
dans une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de
changer, dans l'ensemble des querys, tous les anciens noms de
champs par les nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de
ta base et pour chacune tu utilises un replace pour changer le nom
du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne
connaissant pas les conséquences de manip sur les tables systéme, je
regarde mais je touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet
de reccuperer le 'source' de la requete "Nomrequete" et de le
modifier à mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
oui exactement
Re bonjour Fabien,
je reviens vers toi et ta solution pour remplacer les anciens noms de
champs par les nouveaux.
j'y arrive pas. En fait, ça se bloque (not responding)
Quand je regarde pas à pas, je ne vois apparaitre nulle part le
"contenu" de la query.
par contre, je crois voir, dans le SELECT, toutes les queries
concernées. Ne serait il pas possible de traiter chaque query une à une
genre for each xxx? (je dis ça mais suis pas capable de mettre ça en
oeuvre!)
en te remerciant,
Fréédric
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:eMwy%23eQ5JHA.480@TK2MSFTNGP06.phx.gbl...
FTH a écrit :
Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:OHEYifO5JHA.4184@TK2MSFTNGP02.phx.gbl...
FTH a écrit :
Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:uZ0lnP53JHA.1416@TK2MSFTNGP04.phx.gbl...
FTH a écrit :
Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs
dans une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de
changer, dans l'ensemble des querys, tous les anciens noms de
champs par les nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de
ta base et pour chacune tu utilises un replace pour changer le nom
du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne
connaissant pas les conséquences de manip sur les tables systéme, je
regarde mais je touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet
de reccuperer le 'source' de la requete "Nomrequete" et de le
modifier à mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
oui exactement
Re bonjour Fabien,
je reviens vers toi et ta solution pour remplacer les anciens noms de
champs par les nouveaux.
j'y arrive pas. En fait, ça se bloque (not responding)
Quand je regarde pas à pas, je ne vois apparaitre nulle part le
"contenu" de la query.
par contre, je crois voir, dans le SELECT, toutes les queries
concernées. Ne serait il pas possible de traiter chaque query une à une
genre for each xxx? (je dis ça mais suis pas capable de mettre ça en
oeuvre!)
en te remerciant,
Fréédric
"Fabien" wrote in message
news:eMwy%FTH a écrit :Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" wrote in message
news:FTH a écrit :Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs
dans une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de
changer, dans l'ensemble des querys, tous les anciens noms de
champs par les nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de
ta base et pour chacune tu utilises un replace pour changer le nom
du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne
connaissant pas les conséquences de manip sur les tables systéme, je
regarde mais je touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet
de reccuperer le 'source' de la requete "Nomrequete" et de le
modifier à mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
oui exactement
FTH a écrit :Re bonjour Fabien,
je reviens vers toi et ta solution pour remplacer les anciens noms de
champs par les nouveaux.
j'y arrive pas. En fait, ça se bloque (not responding)
Quand je regarde pas à pas, je ne vois apparaitre nulle part le "contenu"
de la query.
par contre, je crois voir, dans le SELECT, toutes les queries concernées.
Ne serait il pas possible de traiter chaque query une à une genre for
each xxx? (je dis ça mais suis pas capable de mettre ça en oeuvre!)
en te remerciant,
Fréédric
"Fabien" wrote in message
news:eMwy%FTH a écrit :Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" wrote in message
news:FTH a écrit :Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du
champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne connaissant
pas les conséquences de manip sur les tables systéme, je regarde mais
je touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet
de reccuperer le 'source' de la requete "Nomrequete" et de le modifier
à mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
oui exactement
Ben c'est fort ça !!!
J'ai testé sur une petite base avec quelques requetes et ça fonctionne.
Quant tu debugge fait un debug.print StrSQl pour voir ce que contient la
chaine. Places en un avant et aprés le replace.
Peux tu me copier/coller le code que tu as mis en place ou mieux mettre ta
base sur cjoint.com si elle est petite.
@+
FTH a écrit :
Re bonjour Fabien,
je reviens vers toi et ta solution pour remplacer les anciens noms de
champs par les nouveaux.
j'y arrive pas. En fait, ça se bloque (not responding)
Quand je regarde pas à pas, je ne vois apparaitre nulle part le "contenu"
de la query.
par contre, je crois voir, dans le SELECT, toutes les queries concernées.
Ne serait il pas possible de traiter chaque query une à une genre for
each xxx? (je dis ça mais suis pas capable de mettre ça en oeuvre!)
en te remerciant,
Fréédric
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:eMwy%23eQ5JHA.480@TK2MSFTNGP06.phx.gbl...
FTH a écrit :
Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:OHEYifO5JHA.4184@TK2MSFTNGP02.phx.gbl...
FTH a écrit :
Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:uZ0lnP53JHA.1416@TK2MSFTNGP04.phx.gbl...
FTH a écrit :
Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du
champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne connaissant
pas les conséquences de manip sur les tables systéme, je regarde mais
je touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet
de reccuperer le 'source' de la requete "Nomrequete" et de le modifier
à mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
oui exactement
Ben c'est fort ça !!!
J'ai testé sur une petite base avec quelques requetes et ça fonctionne.
Quant tu debugge fait un debug.print StrSQl pour voir ce que contient la
chaine. Places en un avant et aprés le replace.
Peux tu me copier/coller le code que tu as mis en place ou mieux mettre ta
base sur cjoint.com si elle est petite.
@+
FTH a écrit :Re bonjour Fabien,
je reviens vers toi et ta solution pour remplacer les anciens noms de
champs par les nouveaux.
j'y arrive pas. En fait, ça se bloque (not responding)
Quand je regarde pas à pas, je ne vois apparaitre nulle part le "contenu"
de la query.
par contre, je crois voir, dans le SELECT, toutes les queries concernées.
Ne serait il pas possible de traiter chaque query une à une genre for
each xxx? (je dis ça mais suis pas capable de mettre ça en oeuvre!)
en te remerciant,
Fréédric
"Fabien" wrote in message
news:eMwy%FTH a écrit :Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" wrote in message
news:FTH a écrit :Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs dans
une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le menu
"find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de changer,
dans l'ensemble des querys, tous les anciens noms de champs par les
nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête de ta
base et pour chacune tu utilises un replace pour changer le nom du
champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId =
MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne connaissant
pas les conséquences de manip sur les tables systéme, je regarde mais
je touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me permet
de reccuperer le 'source' de la requete "Nomrequete" et de le modifier
à mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
oui exactement
Ben c'est fort ça !!!
J'ai testé sur une petite base avec quelques requetes et ça fonctionne.
Quant tu debugge fait un debug.print StrSQl pour voir ce que contient la
chaine. Places en un avant et aprés le replace.
Peux tu me copier/coller le code que tu as mis en place ou mieux mettre ta
base sur cjoint.com si elle est petite.
@+
Re Bonjour Fabien,
ça semble fonctionner!
la proc allait trop vite je l'ai donc fait tourner au pas à pas (F5) et
c'est ok
et depuis, ça tourne tout seul.
Merci beaucoup ;-)
Tiens, histoire de fignoler, comment pourrait on faire pour avoir une
table avec (par exemple) MyOldField et MyNewField et pouvoir lancer la
proc qui appliquerait toute la liste des modifs?
En te remerciant encore,
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Re bonjour Fabien,
je reviens vers toi et ta solution pour remplacer les anciens noms de
champs par les nouveaux.
j'y arrive pas. En fait, ça se bloque (not responding)
Quand je regarde pas à pas, je ne vois apparaitre nulle part le
"contenu" de la query.
par contre, je crois voir, dans le SELECT, toutes les queries
concernées. Ne serait il pas possible de traiter chaque query une à
une genre for each xxx? (je dis ça mais suis pas capable de mettre ça
en oeuvre!)
en te remerciant,
Fréédric
"Fabien" wrote in message
news:eMwy%FTH a écrit :Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" wrote in message
news:FTH a écrit :Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs
dans une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le
menu "find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de
changer, dans l'ensemble des querys, tous les anciens noms de
champs par les nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête
de ta base et pour chacune tu utilises un replace pour changer
le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId
= MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne
connaissant pas les conséquences de manip sur les tables systéme,
je regarde mais je touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me
permet de reccuperer le 'source' de la requete "Nomrequete" et de
le modifier à mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
oui exactement
Ben c'est fort ça !!!
J'ai testé sur une petite base avec quelques requetes et ça fonctionne.
Quant tu debugge fait un debug.print StrSQl pour voir ce que contient
la chaine. Places en un avant et aprés le replace.
Peux tu me copier/coller le code que tu as mis en place ou mieux
mettre ta base sur cjoint.com si elle est petite.
@+
Re Bonjour Fabien,
ça semble fonctionner!
la proc allait trop vite je l'ai donc fait tourner au pas à pas (F5) et
c'est ok
et depuis, ça tourne tout seul.
Merci beaucoup ;-)
Tiens, histoire de fignoler, comment pourrait on faire pour avoir une
table avec (par exemple) MyOldField et MyNewField et pouvoir lancer la
proc qui appliquerait toute la liste des modifs?
En te remerciant encore,
Frédéric
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:eZbLwcS5JHA.6004@TK2MSFTNGP02.phx.gbl...
FTH a écrit :
Re bonjour Fabien,
je reviens vers toi et ta solution pour remplacer les anciens noms de
champs par les nouveaux.
j'y arrive pas. En fait, ça se bloque (not responding)
Quand je regarde pas à pas, je ne vois apparaitre nulle part le
"contenu" de la query.
par contre, je crois voir, dans le SELECT, toutes les queries
concernées. Ne serait il pas possible de traiter chaque query une à
une genre for each xxx? (je dis ça mais suis pas capable de mettre ça
en oeuvre!)
en te remerciant,
Fréédric
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:eMwy%23eQ5JHA.480@TK2MSFTNGP06.phx.gbl...
FTH a écrit :
Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:OHEYifO5JHA.4184@TK2MSFTNGP02.phx.gbl...
FTH a écrit :
Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" <UrbaniakFabienxxxx@Neuf.fr> wrote in message
news:uZ0lnP53JHA.1416@TK2MSFTNGP04.phx.gbl...
FTH a écrit :
Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs
dans une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le
menu "find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de
changer, dans l'ensemble des querys, tous les anciens noms de
champs par les nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête
de ta base et pour chacune tu utilises un replace pour changer
le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId
= MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne
connaissant pas les conséquences de manip sur les tables systéme,
je regarde mais je touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me
permet de reccuperer le 'source' de la requete "Nomrequete" et de
le modifier à mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
oui exactement
Ben c'est fort ça !!!
J'ai testé sur une petite base avec quelques requetes et ça fonctionne.
Quant tu debugge fait un debug.print StrSQl pour voir ce que contient
la chaine. Places en un avant et aprés le replace.
Peux tu me copier/coller le code que tu as mis en place ou mieux
mettre ta base sur cjoint.com si elle est petite.
@+
Re Bonjour Fabien,
ça semble fonctionner!
la proc allait trop vite je l'ai donc fait tourner au pas à pas (F5) et
c'est ok
et depuis, ça tourne tout seul.
Merci beaucoup ;-)
Tiens, histoire de fignoler, comment pourrait on faire pour avoir une
table avec (par exemple) MyOldField et MyNewField et pouvoir lancer la
proc qui appliquerait toute la liste des modifs?
En te remerciant encore,
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Re bonjour Fabien,
je reviens vers toi et ta solution pour remplacer les anciens noms de
champs par les nouveaux.
j'y arrive pas. En fait, ça se bloque (not responding)
Quand je regarde pas à pas, je ne vois apparaitre nulle part le
"contenu" de la query.
par contre, je crois voir, dans le SELECT, toutes les queries
concernées. Ne serait il pas possible de traiter chaque query une à
une genre for each xxx? (je dis ça mais suis pas capable de mettre ça
en oeuvre!)
en te remerciant,
Fréédric
"Fabien" wrote in message
news:eMwy%FTH a écrit :Re,
Quand tu dis 'le source', s'agit il du "texte" SQL de la requete?
"Fabien" wrote in message
news:FTH a écrit :Bonjour Fabien,
je test mais pas avec bcp de succes.
ps d'erreur qui s'affichent mas un blocage de l'appli..
Glup
Ceci dit, les champs à modifier apparaissent dans
MSysQueries.expression et je ne vois rien dans le code qui fasse
reference à cela..
Merci
Frédéric
"Fabien" wrote in message
news:FTH a écrit :Bonjour,
Pour différentes raisons, j'ai changé plusieurs noms de champs
dans une table.
pour ce qui est du code vba, pas de soucis, j'ai utilisé le
menu "find et change all" pour passer les nouveaux noms.
par contre, pour les querys, existe il une possibilité de
changer, dans l'ensemble des querys, tous les anciens noms de
champs par les nouveaux?
en vous remerciant,
Frédéric
Salut,
Je propose une procédure qui te donne le nom de chaque requête
de ta base et pour chacune tu utilises un replace pour changer
le nom du champ
Sub Remplace_dans_query(Ancien as string,nouveau as string)
Dim Rst_Query as dao.recordset
Set Rst_Query =Currentdb.openrecordset("SELECT MSysObjects.Name,
MSysQueries.Attribute
FROM MSysQueries INNER JOIN MSysObjects ON MSysQueries.ObjectId
= MSysObjects.Id
WHERE (((MSysObjects.Name) Not Like '~*') AND
((MSysQueries.Attribute)%5));")
While not Rst_Query.eof
StrSQl=currentdb.querydefs(Rst_Query("Name")).sql
currentdb.querydefs(Rst_Query("Name")).sql =
replace(Strsql,Ancien,Nouveau)
Wend
Rst_Query.close
Set Rst_query=Nothing
end sub
Voilà comme ça à la volée ...
A tester donc ;-)
@+
Suite ...
Effectivement je ne touche pas a la table MSSysQueries. Ne
connaissant pas les conséquences de manip sur les tables systéme,
je regarde mais je touche pô !
L'instruction StrSql=currentdb.querydefs("Nomrequete").sql me
permet de reccuperer le 'source' de la requete "Nomrequete" et de
le modifier à mon grés puis de le réenregistrer par un
currentdb.querydefs("Nomrequete").sql=strsql
@+
oui exactement
Ben c'est fort ça !!!
J'ai testé sur une petite base avec quelques requetes et ça fonctionne.
Quant tu debugge fait un debug.print StrSQl pour voir ce que contient
la chaine. Places en un avant et aprés le replace.
Peux tu me copier/coller le code que tu as mis en place ou mieux
mettre ta base sur cjoint.com si elle est petite.
@+