Probleme avec un recordset vb6

Signaler
Messages postés
105
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
9 septembre 2009
-
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
-
Bonjour, voilà j'ai un souci avec un recordset.

Par d"faut je fais une requete SQL sur une table. Si le recordset recupere des données correspondantes il me les affiche bien dans ma listbox. Mais par contre s'il n'y a rien il me dit que BOF et EOF sont équivalent et me met une erreur...hors s'il n'y a rien a retourner je ne veux pas qu'il y ai d'erreur..

j'ai essayé if rc.BOF <> rc.eof then... remplissage sinon rien..

mais ca ne fonctionne pas...

rc.Open "Select consommables.nom_consommable,consommes.id_consommable FROM consommes, consommables WHERE consommes.id_imprimante=" & "" & refimprimante & " AND consommes.id_consommable=consommables.id_consommable  "

If rc.BOF = rc.EOF Then

Do

list_ajout.AddItem (rc!id_consommable) & "-" & (rc!nom_consommable)

rc.MoveNext

Loop Until rc.EOF

rc.Close

End If

2 réponses

Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
18
Salut,


Attention à la condition

( rc.BOF = rc.EOF ) : c'est le contraire de ce que vous voulez faire !


faites par exemple :

(...)

rs.Open
If rs.EOF Then

    ' la requete renvoie 0 lignes

    exit sub

else

    ' votre traitement

    (...)
end if


Cordialement..
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Essaye plutôt cela :

While Not Rc.Eof
          list_ajout.AddItem (rc!id_consommable) & "-" & (rc!nom_consommable)
          Rc.MoveNext
Wend

A+
Exploreur

 Linux a un noyau, Windows un pépin