AIDEZ MOI , j'ai rien compris

Signaler
Messages postés
1
Date d'inscription
dimanche 18 mai 2008
Statut
Membre
Dernière intervention
27 février 2009
-
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
-
run-time error '3021'
bof ou eof est égale a true ou l’enregistrement actuel a été supprimé

Private Sub Combo2_Click()
Dim rsa As New ADODB.Recordset
Dim req As String
Dim Y As String
Y = (Left(Combo2.Text, 5))
req = "SELECT * FROM article where [Narticle]=' " & Y & "'"
rsa.Open req, ct, adOpenDynamic, adLockOptimistic
Text8.Text = rsa!narticle
Text9.Text = rsa!desig
Text10.Text = rsa!pvente
rsa.Close
End Sub

comment régeler ça

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Oui, parce que après l'exécution de la requète, il faut scruter les solutions.
Cette boucle est présente dans TOUS les codes qui parlent de RecordSet.
Tu aurais donc pu trouver seul la solution en faisant des recherches sur le site

   With monRecordSet
      If .RecordCount > 0 Then
         .MoveFirst
         Do While Not .EOF
            MsgBox monRecordSet!monChamp
            .MoveNext
         Loop
      Else
         MsgBox "Rien trouvé"
      End If
   End With

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
PS : VB6 n'est pas du .Net --> Catégorie modifiée
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
13
Pourtant, je fais :

While Not (Rs.EOF)
  MsgBox rs("MonChamp")
  Rs.MoveNext
Wend

Et pas de problème !
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
13
Oups :

If Rs.EOF Then
  MsgBox "Pas d'enregistrement",vbExclamation
Else
  While Not (Rs.EOF)
    MsgBox Rs("MonChamp")
    Rs.MoveNext
  Wend
End If