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 : Sélectionner tout - Visualiser dans une fenêtre à part
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!