Access 2002
Fermé
babette63
-
27 mars 2012 à 16:42
OlivrT Messages postés 323 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 24 mai 2012 - 27 mars 2012 à 21:23
OlivrT Messages postés 323 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 24 mai 2012 - 27 mars 2012 à 21:23
1 réponse
OlivrT
Messages postés
323
Date d'inscription
lundi 2 novembre 2009
Statut
Membre
Dernière intervention
24 mai 2012
36
27 mars 2012 à 21:23
27 mars 2012 à 21:23
Il y a plusieurs possibilités :
1) Dans votre requête, utiliser la fonction IsNull.
Exemple :
Imaginons que vous ayez une table "Employes", avec un champ Nom et Salaire.
2) Modifier la même table, et dans la propriété valeur par défaut du champ Salaire, indiquer 0. Lorsque vous ajouterez un nouvel enregistrement dans votre table, si dans le champ Salaire, rien n'est spécifié, sa valeur sera zéro.
Remarque : Dans MS Access comme dans pas mal de base de données, la valeur Null est différent d'un champ "vide", comme par exemple un nom qui a été remplit et ensuite effacé. Le champ ne sera plus null mais équivalent à "" !
C'est une erreur que font souvent les développeurs en VBA par exemple.
J'explique :
1) Dans votre requête, utiliser la fonction IsNull.
Exemple :
Imaginons que vous ayez une table "Employes", avec un champ Nom et Salaire.
SELECT IsNull([Nom];'Nom Absent'), IsNull([Salaire];0) Salaire From Employes;Cette requête retournera 'Nom absent' si le champ "Nom" n'a pas été remplit. Même chose avec le champ Salaire.
2) Modifier la même table, et dans la propriété valeur par défaut du champ Salaire, indiquer 0. Lorsque vous ajouterez un nouvel enregistrement dans votre table, si dans le champ Salaire, rien n'est spécifié, sa valeur sera zéro.
Remarque : Dans MS Access comme dans pas mal de base de données, la valeur Null est différent d'un champ "vide", comme par exemple un nom qui a été remplit et ensuite effacé. Le champ ne sera plus null mais équivalent à "" !
C'est une erreur que font souvent les développeurs en VBA par exemple.
J'explique :
If Not IsNull([txtNom]) Then
MaVariable = [txtNom]
' L'erreur ici est que la zone de texte "txtNom" pourrait être non nulle mais vide !
' Il faut donc y ajouter ceci :
If txtNom.value <> '' Then
' Code ...
Else
MsgBox "Nom absent !"
End If
Else
' Code ...
MsgBox "Nom absent !"
End If