Probléme avec ce code

Résolu
omartt Messages postés 83 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 3 août 2013 - 27 juin 2010 à 21:05
omartt Messages postés 83 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 3 août 2013 - 28 juin 2010 à 11:40
Bonjour à tous,
Je me sert de ce code pour lier une combobox avec base de donnée access mais ce code exige que tous les champs du table soient remplis sinon il y'a le message suivant:
"INVALID USE OF NULL"
J'aimerais bien ajouter quelque chose à ce code pour éviter ce message d'erreur
voici le code:
 Set DB = New ADODB.Connection
Set RS = New ADODB.Recordset
DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database password=123; Data Source=" & App.Path & "\khentout.mdb"

      RS.Open "select * from patient ", DB, adOpenDynamic, adLockOptimistic
 
RS.MoveFirst
    Do While RS.EOF = False
        Combo1.AddItem RS!med
        RS.MoveNext
    Loop
    RS.MoveFirst


merci

7 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
28 juin 2010 à 08:50
'=========DEBUT DE FICHIER==========
Option Explicit
Dim DB As ADODB.Connection
Dim RS As ADODB.Recordset
'===================================

Dim S As String
Set DB = New ADODB.Connection
DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database password=123; Data Source=" & App.Path & "\khentout.mdb"
Set RS = DB.Execute("SELECT * FROM patient")
While Not(RS.EOF)
S = ""
On Error Resume Next
S = RS("med")
On Error Goto 0
If S <> "" Then Combo1.AddItem S
RS.MoveNext
Wend
RS.Close : Set RS = Nothing


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
3
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
27 juin 2010 à 22:50
Essaie IsNull avant d'ajouter dans le ComboBox ...

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
27 juin 2010 à 23:13
Bonsoir
Essaye d'écrire ça
Do While RS.EOF = False
If IsNull(patient.fields("xxx")) Then
ou
If not IsNull(patient.fields("xxx")) Then

tu dois savoir quelle champs causent le Null

Mais je ne comprend pas pourquoi tu lis tout
ton tableau dans un combobox si tu lisais un champ du tableau je comprendrais
0
omartt Messages postés 83 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 3 août 2013
28 juin 2010 à 00:48
Essaie IsNull avant d'ajouter dans le ComboBox

Merci monsieur ghuysmans99 mais comme je suis débutant j'ignore cette procédure.

Essaye d'écrire ça
Do While RS.EOF = False
If IsNull(patient.fields("xxx")) Then
ou
If not IsNull(patient.fields("xxx")) Then

tu dois savoir quelle champs causent le Null

merci monsieur ShayW pour le code


J'ai recopier votre votre code mais ça n'a pas marché.
Enfin j'ai ajouter à mon code:
On Error Resume Next 

et J'ai plus ce message d'erreur mème si s'il y'a un champs vide dans la colonne 'med'. mais je suis pas certain s'il est la bonne solution.
merci encore
0

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

Posez votre question
murdek Messages postés 2 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 28 juin 2010
28 juin 2010 à 11:17
Salut Omartt
Juste un avis car je ss tres tres debutant en VB mais si tu fesais plutot
("SELECT * FROM patient where FILED not null") ou bien
("SELECT * FROM patient where FIELD not like ''")
Field est le chemp que tu affiche dans ta Combo.
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
28 juin 2010 à 11:34
De toutes façons il ne devrait pas avoir de nom de patient NULL. Si c'est le cas, c'est que la base est mal complétée.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
omartt Messages postés 83 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 3 août 2013
28 juin 2010 à 11:40
Merci à tous et un grand merci pour ghuysmans99

car son code a bien marché.
0
Rejoignez-nous