SI ma liste est vide .. .

Résolu
petitcatenaire Messages postés 17 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 9 février 2009 - 7 déc. 2008 à 18:45
petitcatenaire Messages postés 17 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 9 février 2009 - 7 déc. 2008 à 21:42
Bonjour à tous voila ma question est simple : coment savoir si ma liste est vide par un IF . .. j'ai d'abord essayer

If lstRevue.RowSource Is Null Then
lst.revue = "Ce client n'est abonné à aucun magazine"
End If

Puis

If lstRevue.RowSource = "" Then
lst.revue = "Ce client n'est abonné à aucun magazine"
End If

Mais le programme n'est pas rentrer dans ma boucle
Vous pouvez m'aider pour ce simple petit truc ?tout silple ?

15 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
7 déc. 2008 à 21:28
encore si c'est DANS access, c'est VBA !
bref, et listcount?
++
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
7 déc. 2008 à 18:49
Peut-etre If lstRevue.Count=0 then ....

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
petitcatenaire Messages postés 17 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 9 février 2009
7 déc. 2008 à 18:56
"Membre de methode ou de données introuvable . . ." Est ce normal ? ( PS comment met ton son code comme le tien pour eclairer mes futurs messages
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
7 déc. 2008 à 19:02
Quel est le type de ta variable lstRevue ?

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
petitcatenaire Messages postés 17 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 9 février 2009
7 déc. 2008 à 19:06
Une liste faite sur une interface avec le type de donnée par defaut mon code complet pour plus de clarté :

Private Sub charge_Click()
'afficher les revues auxquels l'ID est abonné
lstRevue.RowSource "select NomRevue from Abonnement,Revue where Abonne " & idSaisie & " and NumRevue = Abonnement.Revue; "

If lstRevue.Count = 0 Then
lst.revue.RowSource = "Ce client n'est abonné à aucun magazine"
End If
End Sub
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
7 déc. 2008 à 19:29
Salut,

En faite, Casy veut savoir comment tu as déclaré ta variable lstRevue ?

<hr size="2" width="100%" />Pensez : Réponse Acceptée 
0
petitcatenaire Messages postés 17 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 9 février 2009
7 déc. 2008 à 20:22
Non je ne l'ai pas déclaré puisque elle correspond a une liste créer dans le formulaire . . . mais elle sera une chaine de caracteres puisque j'y stocke le contenu d'un select.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
7 déc. 2008 à 20:31
On va dire la même différenment.

Quel est donc alors le type de contrôle utilisé, listview, listbox, combobox, datagridview, ......

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
petitcatenaire Messages postés 17 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 9 février 2009
7 déc. 2008 à 20:36
J'en ai aucune idée . . . Je suis vraiment débutant je savais meme pas qu'il y avais plusieur types de listes . . .
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
7 déc. 2008 à 21:06
OK, j'ai trouvé.

Visiblement tu es en VB6 et non pas en VB2005 comme indique la rubrique ou tu as posté. Tu as utilisé probablement un contrôle DataList.

Alors déjà, il te faut aussi un controle adodc. C'est ce controle que tu vas connecter à ta base de données. C'est aussi dans ce controle que tu vas définir la requette de sélection.

Ensuite dans ton contrôle liste, à la propriété RowSource, il faut affecter le controle adodc. Ensuite dans la propriété ListField, tu vas définir quel est le champ de ta requette qui va remplir la liste, donc ici NomRevue, probablement.
De plus ce controle ne permet pas d'afficher du texte que tu lui passerais. Il te faudra afficher ton message dans un label ou par une messagebox

Ensuite ce controle ne permet pas de connaitre le nombre d'éléments de la liste. Par contre il possède la propriété VisibleCount qui te donne le nombre d'éléments visible à l'écran.
Donc à priori, si tu as un élément ou plus de visible à l'écran c'est que la liste est remplie.
On peut donc en déduire le code suivant (àprès avoir fait toutes les modifications énoncées plus haut)

If lstRevue.VisibleCount = 0 Then
    msgbox("Ce client n'est abonné à aucun magazine" )
End If

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
petitcatenaire Messages postés 17 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 9 février 2009
7 déc. 2008 à 21:12
Je me suis mis en la version 2005 ? argh je suis vraiment desole alors . . . J'utilise access 2000 malheureusement le ".VisibleCount" n'a pas l'air d'éxister . . .
0
petitcatenaire Messages postés 17 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 9 février 2009
7 déc. 2008 à 21:18
Dois-je mettre en resolu et repostuler au bon endroit ou attendre qu'un modo me deplace ?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
7 déc. 2008 à 21:26
déplacé vers VB6, en espérant que....
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
7 déc. 2008 à 21:34
Ok effectivement c'est de l'Access, là, je suis complètement largué. Je n'ai plus qu'Access2007 sur mon poste et je ne sais même pas créer de formulaire avec.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
petitcatenaire Messages postés 17 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 9 février 2009
7 déc. 2008 à 21:42
En m'excusant pour avoir poster un peu trop a la hate je vous remercie a tous de votre aide effectivement il fallait utiliser listcount encore merci a vous
0
Rejoignez-nous