Bonjour,
Je n'arrive pas à écrire le code VBA en remplacement de la requête suivante qui permet de copier une partie d'une table de la base1 dans une table de même nom dans la base2 (selon un critère de choix).
le sql de ma requête est le suivant :
Je ne peux pas laisser la requête et faire DoCmd.OpenQuery car la valeur "XXX" dépend d'un curseur "i" dans une boucle...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 INSERT INTO NOMTABLE (CHAMP1, CHAMP2, CHAMP3) IN 'D:\CheminBaseDeDonnees2\NomBase2.mdb' SELECT CHAMP1, CHAMP2, CHAMP3 FROM NOMTABLE WHERE Left([CHAMP1],2) In (select CHAMP_X from NOMTABLEX WHERE CHAMP_Y="ZZZZZ");
J'aimerais avoir au final qqchose comme
Merci beaucoup pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 For i=1 to 10 'création de la base "i" par copie d'une base initiale "STRUCTURE" FileCopy "BaseOriginale", "BaseFinale_" & i 'ajout des données de la table NOMTABLE (base "STRUCTURE") dont le champ CHAMP1 est une valeur dans une liste variable selon la base COPIE dans la table NOMTABLE (base COPIE i) ReqSQL1 = "INSERT INTO NOMTABLE (CHAMP1, CHAMP2, CHAMP3) IN 'CheminBase\BaseFinale_i.mdb' " & _ "SELECT CHAMP1, CHAMP2, CHAMP3 FROM NOMTABLE " & _ "WHERE Left([CHAMP1],2) IN (SELECT DISTINCT CHAMP_X FROM NOMTABLEX WHERE CHAMP_Y="""ZZZ""");" Set rs = CurrentDb.OpenRecordset(ReqSQL) Next i
MarieO
Partager