Boucle for each sur l'ensemble des tables d'une BD et exécution SQL avec nom de table variable
Bonjour,
J'essaie de faire une boucle for each afin d'ajouter à une table "Retraitement_commandes" les enregistrements de toutes les tables de ma base de données dont le nom commence par "Export".
J'ai essayé différentes choses, avec ou sans bloc with, mais j'ai toujours des messages d'erreur...est-ce que l'un de vous voit d'où ça vient?
Le message d'erreur semble généré par l'exécution de la requête SQL, mais j'ai pourtant l'impression que les variables sont bien intégrées...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Option Compare Database
Function ImportCommande()
Dim db As DAO.Database
Dim MaTable As DAO.TableDef
Dim sqlajout As String
Set db = CurrentDb
sqlajout = "INSERT INTO Retraitement_commandes SELECT DISTINCT [" & MaTable.Name & "].* FROM [" & MaTable.Name & "];"
For Each MaTable In db.TableDefs
If MaTable.Name Like "Export*" Then
DoCmd.RunSQL (sqlajout)
DoCmd.DeleteObject acTable, MaTable
Exit For
End If
Next MaTable
End Function |
L'exécution me renvoie ce message d'erreur : "Erreur d'exécution '91' Variable de bloc ou objet de bloc With non défini"
J'ai essayé de cocher dans les références Microsoft.DAO 3.6 Object Library mais impossible, j'ai un autre message d'erreur : " Nom de module, de projet ou de bibliothèque d'obets déjà utilisé"...
Merci pour votre aide!