Bonjour,
J'essaie de faire une boucle qui me permette d'utiliser un recordset et d’arrêter la boucle lorsque l'on arrive à la fin des valeurs.
Je veux utiliser un champs du recordset pour faire une sélection dans une requête du type SELECT .... WHERE Champ1 = recordset(Champ1)
Pour débuger ma requête j'essaie de la simplifier en faisant apparaitre une valeur dans un objet de formulaire.
Lorsque j'applique ce code, j'obtiens bien l'affichage de la dernière valeur de ma liste dans mon objet de formulaire.
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 Private Sub Test_Click() Dim SQL As String Dim Req As Recordset Dim VarTest As String SQL = "SELECT [T_Client_Acces].[ID_Client], [T_Client_Acces].[ID_Segment_Client] FROM [T_Client_Acces]" Set Req = CurrentDb.OpenRecordset(SQL) Req.MoveFirst Do Until Req.EOF Req.MoveNext VarTest = Req("[ID_Client]") Lieu = VarTest Loop End Sub
Mais il apparait une fenêtre erreur:
Erreur d'exécution '3021': Aucun enregistrement en cours
le debug étant sur: VarTest = Req("[ID_Client]")
Par contre lorsque je rajoute dans mon code un
J'obtiens l'affichage de ma dernière valeur qui est mon enregistrement sans fenètre erreur, ou tout autre valeur que je met dans le VarTest = ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 If VarTest = 49 Then Exit Do End If
Étant donné que cette boucle sera utilisée dans d'autres boucles j'aurais besoin de vos conseils pour corriger cette erreur.
J'ai aussi essayé les syntaxes suivantes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Do While not Req.EOF ... loop
Code : Sélectionner tout - Visualiser dans une fenêtre à part Do Until Req.EOF = true ... loopQui me font tomber sur la même erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Do If Not Req.EOF = true Then ... End if Loop
Code : Sélectionner tout - Visualiser dans une fenêtre à part Do While not Req.EOF(1) ... loopMe donne une autre erreur: erreur de compilation nombre d'arguments incorrect ou affectation de propriété incorrecte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Do Until Req.EOF(1) ... loop
Mais je ne trouve pas ou est l'erreur.
Bien cordialement.
Julien
Partager