Supprimer un item vide d'un combobox [Résolu]

Messages postés
75
Date d'inscription
samedi 26 juillet 2003
Statut
Membre
Dernière intervention
21 mai 2014
- - Dernière réponse : Goth25
Messages postés
75
Date d'inscription
samedi 26 juillet 2003
Statut
Membre
Dernière intervention
21 mai 2014
- 29 nov. 2009 à 17:30
Bonjours à tous,

En vb2005, je remplis une combobox a l'aide d'une base de donnée access 2003 de cette facon :

Do Until rs.EOF
cmbSelection.Items.Add(rs.Fields("NuméroTél").Value)
rs.MoveNext()
Loop

Malheureusement, dans la BD j'ai des enrégistrement qui sont vide. Donc forcément à l'éxécution, étant donné que le combobox est en ordre croissant les 20 premières ligne du combobox sont vide.<

Est-ce qu'il y aurait une facon de détecter les vides de la bd avant même d'ajouter l'information dans mon Combobox ?

Merci bcp


Bonne journée !
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
25
1
Merci
je pencherai pour

        Do Until rs.EOF
            If Not ((IsDBNull(rs.Fields("NuméroTél").Value) True) OrElse (rs.Fields("NuméroTél").Value String.Empty)) Then
                cmbSelection.Items.Add(rs.Fields("NuméroTél").Value)
            End If
            rs.MoveNext()
        Loop


pas testé

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 202 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PCPT
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
25
0
Merci
salut,

teste simplement que rs.fields ne soit pas null ou vide avant de l'ajouter


[hr]
Commenter la réponse de PCPT
Messages postés
75
Date d'inscription
samedi 26 juillet 2003
Statut
Membre
Dernière intervention
21 mai 2014
0
Merci
Merci bcp de la rapidité de la réponse.

J'ai donc tester ceci :

Do Until rs.EOF
If isnull(rs.Fields("NuméroTél").Value) Or (rs.Fields("NuméroTél").Value) = "" Then

rs.MoveNext()
Else
cmbSelection.Items.Add(rs.Fields("NuméroTél").Value)
rs.MoveNext()
End If
Loop

Malheureusement isnull du vb6 n'est pas compatible avec le vb.net. J'ai chercher pour system.vbnull et tenter quelque test mais en vain.

Vous n'auriez pas une petite exemple du comment je pourrais tester le null et le vide sur ma chaine ?

Merci bcp


Bonne journée !
Commenter la réponse de Goth25
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
0
Merci
Bonjour,

C'est lors de la construction du recorset (par requête sur ta base, donc), que tu dois faire "ce ménage", pas une fois remplie ta box ....
Commenter la réponse de jmf0
Messages postés
75
Date d'inscription
samedi 26 juillet 2003
Statut
Membre
Dernière intervention
21 mai 2014
0
Merci
Merci bcp PCPT, sa fonctionne.

jmf0, effectivement mais n'étant qu'un novice en sql, j'irai consulter le site web afin d'y faire une longue lecture . Mais uniquement apres ce projet qui tire à sa fin.

Merci encore






Bonne journée !
Commenter la réponse de Goth25