[VBA] [Résolu] Recordset ADOBD vide à partir requête Access
Bonjour,
Je rencontre un problème de chargement d'un recordset à partir d'une requête Access (2003 SP2).
Voici mon code (basique ...) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
' Déclaration connexion
Dim CONX As New ADODB.Connection
Set CONX = CurrentProject.Connection
' Déclaration recorset
Dim RecordsetConfig As New ADODB.Recordset
RecordsetConfig.ActiveConnection = CONX
' Chargement du recordset avec une requête Access : TPEexportConfig
Dim SQL As String
SQL = "select * from TPEexportConfig"
RecordsetConfig.Open SQL, CONX, adOpenDynamic
RecordsetConfig.MoveFirst
Do Until RecordsetConfig.EOF = True
' insertion en base pour chaque enregistrement
DoCmd.RunSQL "INSERT INTO ConfigTPE (NumTPE,IdEltConf,Version) VALUES (" & RecordsetConfig.Fields(0) & ", 1 ,'" & RecordsetConfig.Fields(1) & "');", True
RecordsetConfig.MoveNext
Loop
RecordsetConfig.Close |
Mais je bloque à la ligne MoveFirst avec l'erreur suivante :
Code:
1 2
| erreur d'exécution '3021'
BOF ou EOF est égal à True ou l'enregistrement actuel a été supprimé |
Et si je ne mets pas mon RecordsetConfig.MoveFirst je ne rentre pas dans la boucle.
Ce qui m'étonne c'est qu'en passant via DAO je n'avais pas ce pb.
En revanche si ma variable SQL s'appuie sur une table Access (et non plus une requête Access), je rentre dans ma boucle (bon après j'ai de gros pb de perfs dont je parlerai après ...)
Quelqu'un voit-il mon erreur ?
D'avance merci de l'aide de quiconque pour le grand débutant VBA que je suis.