OVH Cloud OVH Cloud

Champ Null et TextBox

2 réponses
Avatar
Lorenzo
Bonjour à tous

Voilà mon problème :

Je pilote une base access à l'aide de VB

Sur ma page se trouvent plusieurs TextBox : Titre, Nom, Prénom,...

Lorsque mon recordset contient que des champs non null tout va bien,
mais lorsqu'un est vide j'ai une erreur '94' utilisation non autorisée
de Null

J'ai tanté de contourner par des test de valeur de mes champs du
recordset sans succès. Voici mon code :

Private Sub Affichage()
sql = "select * from Client where NumClient=" & cec
Set rs1 = db.OpenRecordset(sql, dbOpenDynaset)
Nom.Text = rs1.Fields("Nom")
If rs1.Fields("Nom") = Null Then
Nom.Text = ""
Else
Nom.Text = rs1.Fields("Nom")
End If
rs1.Close
End Sub

Marche pas :-(

ou

Private Sub Affichage()
sql = "select * from Client where NumClient=" & cec
Set rs1 = db.OpenRecordset(sql, dbOpenDynaset)
Nom.Text = rs1.Fields("Nom")
If rs1.Fields("Nom") = "" Then
Nom.Text = ""
Else
Nom.Text = rs1.Fields("Nom")
End If
rs1.Close
End Sub

Idem

Help, Help, Help
Et un Grand Merci d'avance pour vos réponces.

Lorenzo T.

2 réponses

Avatar
Christophe QUEVAL
Bonjour,

A la place de : If rs1.Fields("Nom") = Null Then, faites If
IsNull(rs1.Fields("Nom")) Then...

Christophe


"Lorenzo" a écrit dans le message de
news:
Bonjour à tous

Voilà mon problème :

Je pilote une base access à l'aide de VB

Sur ma page se trouvent plusieurs TextBox : Titre, Nom, Prénom,...

Lorsque mon recordset contient que des champs non null tout va bien,
mais lorsqu'un est vide j'ai une erreur '94' utilisation non autorisée
de Null

J'ai tanté de contourner par des test de valeur de mes champs du
recordset sans succès. Voici mon code :

Private Sub Affichage()
sql = "select * from Client where NumClient=" & cec
Set rs1 = db.OpenRecordset(sql, dbOpenDynaset)
Nom.Text = rs1.Fields("Nom")
If rs1.Fields("Nom") = Null Then
Nom.Text = ""
Else
Nom.Text = rs1.Fields("Nom")
End If
rs1.Close
End Sub

Marche pas :-(

ou

Private Sub Affichage()
sql = "select * from Client where NumClient=" & cec
Set rs1 = db.OpenRecordset(sql, dbOpenDynaset)
Nom.Text = rs1.Fields("Nom")
If rs1.Fields("Nom") = "" Then
Nom.Text = ""
Else
Nom.Text = rs1.Fields("Nom")
End If
rs1.Close
End Sub

Idem

Help, Help, Help
Et un Grand Merci d'avance pour vos réponces.

Lorenzo T.



Avatar
LaCitrouille
Tu peux également faire simplement :

NOM.TEXT = rs1.Fields("Nom") & ""

Attention, cela ne fonctionne que pour les types string.

Cordialement.


"Lorenzo" a écrit dans le message de news:

Bonjour à tous

Voilà mon problème :

Je pilote une base access à l'aide de VB

Sur ma page se trouvent plusieurs TextBox : Titre, Nom, Prénom,...

Lorsque mon recordset contient que des champs non null tout va bien,
mais lorsqu'un est vide j'ai une erreur '94' utilisation non autorisée
de Null

J'ai tanté de contourner par des test de valeur de mes champs du
recordset sans succès. Voici mon code :

Private Sub Affichage()
sql = "select * from Client where NumClient=" & cec
Set rs1 = db.OpenRecordset(sql, dbOpenDynaset)
Nom.Text = rs1.Fields("Nom")
If rs1.Fields("Nom") = Null Then
Nom.Text = ""
Else
Nom.Text = rs1.Fields("Nom")
End If
rs1.Close
End Sub

Marche pas :-(

ou

Private Sub Affichage()
sql = "select * from Client where NumClient=" & cec
Set rs1 = db.OpenRecordset(sql, dbOpenDynaset)
Nom.Text = rs1.Fields("Nom")
If rs1.Fields("Nom") = "" Then
Nom.Text = ""
Else
Nom.Text = rs1.Fields("Nom")
End If
rs1.Close
End Sub

Idem

Help, Help, Help
Et un Grand Merci d'avance pour vos réponces.

Lorenzo T.