Probleme avec un recordset vb6

vinzemuls Messages postés 105 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 9 septembre 2009 - 20 août 2007 à 16:16
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 20 août 2007 à 16:41
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

cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
20 août 2007 à 16:41
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..
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
20 août 2007 à 16:41
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

 
0
Rejoignez-nous