Valeur NULL invisible sous Access
Jérémy
-
Jérémy -
Jérémy -
Bonjour,
Voici mon problème :
A l'aide d'un formulaire, je met à jour la base de donnée de la manière suivante :
Le champ dans ma base est vide alors que ce n'est pas le cas de la variable "MonChamp" récupérée par formulaire.
Et bien figurez-vous que malgré tout, "MonChamp" étant différent de "objRec("monchamp"), la condition If n'est pas vérifiée et le serveur passe aux instructions qui suivent End If...
Bizarre...
En cherchant un peu, je me suis aperçu que lorsque je modifiais manuellement un champ dans la base de donnée et que j'effaçais tout ensuite, la condition If était vérifiée et le serveur procédait à l'enregistrement des modifs dans la base.
Serait-ce alors une histoire de champ de valeur NULL à l'origine et qui prendrait la valeur "" (vide) dès qu'on le modifie une fois ?
Mystère !
En tout cas, si quelqu'un peut m'éclairer sur le sujet...
Je n'ai d'ailleurs pas trouvé comment faire afficher le valeur Null sous access afin de différencier les champs NULL des champs Vide
Merci d'avance,
Jérémy ;-)
Voici mon problème :
A l'aide d'un formulaire, je met à jour la base de donnée de la manière suivante :
'récupération de la valeur du champ "monchamp"
MonChamp = request.Form("monchamp")
'test si la nouvelle valeur du champ est différente de celle présente dans le base de données
If MonChamp <> objRec("monchamp") then
[enregistrement des modifs dans la base]
End If
Le champ dans ma base est vide alors que ce n'est pas le cas de la variable "MonChamp" récupérée par formulaire.
Et bien figurez-vous que malgré tout, "MonChamp" étant différent de "objRec("monchamp"), la condition If n'est pas vérifiée et le serveur passe aux instructions qui suivent End If...
Bizarre...
En cherchant un peu, je me suis aperçu que lorsque je modifiais manuellement un champ dans la base de donnée et que j'effaçais tout ensuite, la condition If était vérifiée et le serveur procédait à l'enregistrement des modifs dans la base.
Serait-ce alors une histoire de champ de valeur NULL à l'origine et qui prendrait la valeur "" (vide) dès qu'on le modifie une fois ?
Mystère !
En tout cas, si quelqu'un peut m'éclairer sur le sujet...
Je n'ai d'ailleurs pas trouvé comment faire afficher le valeur Null sous access afin de différencier les champs NULL des champs Vide
Merci d'avance,
Jérémy ;-)
A voir également:
- Valeur NULL invisible sous Access
- Clé usb invisible - Guide
- Acer quick access ✓ - Forum PC portable
- Access runtime ✓ - Forum Access
- Pseudo invisible - Forum Jeux vidéo
- Dossier invisible - Guide
4 réponses
Ok je vois.
Par contre n'y a t'il vraiment aucun moyen de voir si la valeur d'un champ est NULL ou VIDE sous Microsoft Access ?
Car pour l'instant l'affichage est une cellule vide, indifféremment de ces 2 valeurs.
Merci encore
Par contre n'y a t'il vraiment aucun moyen de voir si la valeur d'un champ est NULL ou VIDE sous Microsoft Access ?
Car pour l'instant l'affichage est une cellule vide, indifféremment de ces 2 valeurs.
Merci encore
Bonjour
Serait-ce alors une histoire de champ de valeur NULL à l'origine et qui prendrait la valeur "" (vide) dès qu'on le modifie une fois ?
Oui, sûrement
MonChamp <> objRec("monchamp")
Si un des termes de l'expression est NULL, la valeur de l'expression est NULL. et NULL étant traduit par FALSE lors de la conversion en boolean (pour traiter le if), tu as l'impression que MonChamp est égal à objRec("monchamp")
Si tu avais écrit if MonChamp = objRec("monchamp"), tu aurais eu le même comportement pour les enregistrements NULL, puisque dans ce cas, MonChamp = objRec("monchamp") et MonChamp <> objRec("monchamp") sont tous les deux NULL c'est à dire FALSE !
Serait-ce alors une histoire de champ de valeur NULL à l'origine et qui prendrait la valeur "" (vide) dès qu'on le modifie une fois ?
Oui, sûrement
MonChamp <> objRec("monchamp")
Si un des termes de l'expression est NULL, la valeur de l'expression est NULL. et NULL étant traduit par FALSE lors de la conversion en boolean (pour traiter le if), tu as l'impression que MonChamp est égal à objRec("monchamp")
Si tu avais écrit if MonChamp = objRec("monchamp"), tu aurais eu le même comportement pour les enregistrements NULL, puisque dans ce cas, MonChamp = objRec("monchamp") et MonChamp <> objRec("monchamp") sont tous les deux NULL c'est à dire FALSE !