Bonjour,
Je viens vous solliciter à nouveau concernant le problème ci-dessous :
Je souhaite copier quelques enregistrements d'une table vers une autre (selon certains critères). J'ai essayé 2 manières mais aucune ne fonctionne.
- La table source s'appelle Essai1, la table destination s'appelle Essai2 (table vierge).
- Les tables comportent les mêms noms de champs.
- Dans la requête j'ai mis les infos suivantes :
J'utilise une boucle pour tester tous les enregistrements de essai1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Dim db As DAO.Database Dim db2 As DAO.Database Dim rec As DAO.Recordset Dim rec2 As DAO.Recordset Set db = CurrentDb Set rec = db.OpenRecordset("Essai1") Set rec2 = db.OpenRecordset("Essai2")
Ensuite je vous décris les 2 situations :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Do While rec.EOF = False ... Loop
1°) Je copie champs par champs comme suit
etc ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 rec2.Edit Essai2![champs1]=Essai1![champs1] Essai2![champs3]=Essai1![champs3] rec2.Update
lorsque je démarre la requête le message suivant apparait :
erreur d'execution "3021" - aucun enregistrement en cours. Faut-il dans ce cas de figure créer des enregistrements vides ?
2°) Je copie enregistrement après enregistrement avec le code suivant trouvé sur un forum :
mais la ligne de code reste en rouge avec la surbrillance bloquée sur le nom de la table Essai2 et je ne peux pas aller plus loin
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part INSERT INTO Essai2 SELECT * FROM essai1
le message suivant apparait : erreur de compilation - attendu "fin d'instruction"
Pourriez-vous m'apporter votre aide
merci par avance
MichaSarah
Partager