Case vide dans ACCESS

Résolu
sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012 - 9 févr. 2010 à 19:19
sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012 - 9 févr. 2010 à 22:05
Bonjour

J'utilise la sub suivante (pour remplir mon listview à partir d'une requete
sur une BDD access:

' connexion à la base de données
connect


'Ouverture de la base de données
cnx.Open

sql_tout_les_noms = "SELECT xxxxxxxxxxxxx  FROM yyyyy order by xxxxxx"
rst.Open sql_tout_les_noms, cnx
'affichage des enregistrements
i = 0



If rst.EOF = True Then


Else

rst.MoveFirst


While Not (rst.EOF)

acces_base.ListView1.ListItems.Add , , rst!noms_pdt
acces_base.ListView1.ListItems(acces_base.ListView1.ListItems.Count).ListSubItems.Add , , rst!xxx_pdt
acces_base.ListView1.ListItems(acces_base.ListView1.ListItems.Count).ListSubItems.Add , , rst!yyyy
acces_base.ListView1.ListItems(acces_base.ListView1.ListItems.Count).ListSubItems.Add , , rst!zzz_pdt
acces_base.ListView1.ListItems(acces_base.ListView1.ListItems.Count).ListSubItems.Add , , rst!aaa
acces_base.ListView1.ListItems(acces_base.ListView1.ListItems.Count).ListSubItems.Add , , rst!iii_bbb

rst.MoveNext

Wend

End If

rst.Close

End Sub


Mon problème c'est que certains champs de ma BDD sont vides donc au
remplissage il y a un Bug .


Quelqu'un a t-il une idée SVP?


Merci par avance.

3 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
9 févr. 2010 à 20:21
Salut
Dans ta requète, tu peux demander à Access de remplacer les champs (pas "Case") nuls par autre chose :
Select IsNull(nomDuChamp1, "<vide>"), IsNull(nomDuChamp2, "<vide>") From ...

Sinon, tu peux le traiter après requète, lors de ta boucle :
If rst!noms_pdt Is Null Then 
   acces_base.ListView1.ListItems.Add , , "<vide>"
Else
   acces_base.ListView1.ListItems.Add , , rst!noms_pdt
End If
et ce, pour chacun des champs

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012
9 févr. 2010 à 21:41
Bonsoir

Merci pour ta réponse.

Voila ceux que j'ai essayé mais si des champs et vide il bug toujours

 ' connexion à la base de données
connect


'Ouverture de la base de données
cnx.Open

sql_tout_les_noms = "SELECT xxxxxxxxxxxxx  FROM yyyyy order by xxxxxx"
rst.Open sql_tout_les_noms, cnx
'affichage des enregistrements
i = 0



If rst.EOF = True Then


Else

rst.MoveFirst


While Not (rst.EOF)

If rst!noms_pdt Is Null Then
   acces_base.ListView1.ListItems.Add , , "<vide>"
Else
   acces_base.ListView1.ListItems.Add , , rst!noms_pdt
End If


rst.MoveNext

Wend

End If

rst.Close

End Sub


A mon avis cela vient encore de moi.



Merci par avance.
0
sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012
9 févr. 2010 à 22:05
Merci à toi Jack,


Voici le code que j'ai tapé et cela fonctionne bien!

If IsNull(rst!noms_pdt) Then
   acces_base.ListView1.ListItems.Add , , "<vide>"
Else
   acces_base.ListView1.ListItems.Add , , rst!noms_pdt
End If




Merci pour ton aide


Bonne soirée
0