petitcatenaire
Messages postés17Date d'inscriptionsamedi 6 décembre 2008StatutMembreDerniè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
petitcatenaire
Messages postés17Date d'inscriptionsamedi 6 décembre 2008StatutMembreDerniè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.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 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
petitcatenaire
Messages postés17Date d'inscriptionsamedi 6 décembre 2008StatutMembreDerniè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 . . .
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 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.
petitcatenaire
Messages postés17Date d'inscriptionsamedi 6 décembre 2008StatutMembreDerniè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