Aide requête VBA INSERT

Résolu
Signaler
Messages postés
85
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
4 juillet 2006
-
Messages postés
85
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
4 juillet 2006
-
bonjour,

j'utilise actuellement une requête INSERT qui me permet de prendre les valeurs d'autre table pour les copier dans la mienne. j'aimerai cependant rajouter une colonne qui contiendrait le nom de la table d'ou a été copié la valeur.
avez vous une idée ?

ma requête :

MaReq = "INSERT INTO CumulTest(NumTri, TestEffectueLe, TestEffectuePar,Nom_test) SELECT [N° de tri], [Test effectué le], [Effectué par],[" & tbd.Name & "] FROM [" & tbd.Name & "];"

merci d'avance,

Dyr

3 réponses

Messages postés
268
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
19 janvier 2017
2
La requête que vous avez écrite ne peut pas fonctioner pour la bonne et simple raison que "tbd.Name" n'est pas un champ de la table tbd.Name. Il faut faire, pour chaque table ajoutée :
Requête1 = "INSERT INTO CumulTest(NumTri, TestEffectueLe, TestEffectuePar) SELECT [N° de tri], [Test effectué le], [Effectué par] FROM [" & tbd.Name & "];"
Requête2 = "UPDATE CumulTest SET Nom_test='" & tbd.Name & "' WHERE Nom_test Is Null;"
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
85
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
4 juillet 2006

Rebonjour, merci pour ta reponse ca marche a peu près.
mon seul pb now c'est que la boucle avec le UPDATE revien a coller partout le tbd.name de la derniere table. Ainsi, au lieu d'avoir chaque ligne avec les valeurs et a la fin le nom du test, j'ai les valeurs et puis toujours le meme nom de test. une solution ?

MaReq = "INSERT INTO Dates_tests(NumTri, TestEffectueLe, TestEffectuePar) SELECT [N° de tri], [Test Effectué le], [Effectué par] FROM [" & tbd.Name & "];"
Db.Execute (MaReq)
MaReq2 = "UPDATE Dates_tests SET Nom_test='" & tbd.Name & "' "
Db.Execute (MaReq2)

merci
Messages postés
85
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
4 juillet 2006

maxi méa culpa , je n'avais pas vu que j'avais perdu un bout de ta ligne