Problème avec NULL sur les rubriques DATE
D’après l’aide
Dans une fenêtre indépendante :
soit
RubriqueDate, une rubrique Date
- éventuellement mise à jour par un traitement différent et indépendant de la fenêtre en cours ;
- mais non mouvementée lors de la création de la fiche ;
- avec l'option "NULL supporté" cochée pour la rubrique dans l'éditeur d'analyses.
soit
ChampDeSaisie, un champ de saisie Texte avec IHM - Etat initial : visible + grisé
- sans liaison à une quelconque rubrique (Onglet Liaison - rubrique reliée ou variable : Aucun) ;
- utilisé uniquement en affichage et sans masque de saisie ;
- affichant soit un message soit une date via la fonction DateVersChaine (cela reste donc une chaine)
- pas utilisé lors de la création de la fiche.
soit, d’après l’utilitaire Rechercher sur le code de la fenêtre, seulement deux lignes de code qui « utilisent » mais n’affectent pas la
RubriqueDate dans l’initialisation d’un champ par lequel on ne passe pas durant la création de la fiche (mais bien pendant l’initialisation de la fenêtre et de ses champs)
- SELON RubriqueDate
- AUTRE CAS
ChampDeSaisie = DateVersChaine(RubriqueDate)
Après
EcranVersFichier et
HAjoute, sans utilisation de
HRAZ préalable (première exécution de la fenêtre), donc a priori sans aucune manipulation de cette rubrique, la
RubriqueDate se voit affecter une « valeur », soit le masque date au format standard « __/__/____ ». (cft
WDMap)
Ceci, que l’option "Retourner NULL si vide" soit cochée ou non dans l’onglet Détail.
Si on ajoute à ce fichier déjà mouvementé une rubrique
TestNullDate , tous les enregistrements déjà présents seront mis à jour avec une rubrique Date affichant bien une valeur NULL, pouvant être testée en SQL.
‘Rustine’
Si l’option est cochée, on peut affecter directement la valeur Null (
Fic.RubriqueDate..Null = Vrai) ou une chaine vide (
Fic.RubriqueDate = ‘’) à Fic.RubriqueDate après la fonction
EcranVersFichier de manière à corriger ce problème et obtenir une rubrique soit NULL, soit vide dans le fichier.
Si cette option n’est pas cochée, on ne peut même pas affecter une chaîne vide à la rubrique.
Par contre, une rubrique date quelconque de test
TestNullDate avec l'option "NULL supporté" cochée et qui n’apparaît nulle part dans le code de la fenêtre apparaît bien à NULL sous
WDMap.
Il semble donc que le seul test (SELON) ou la seule utilisation de la
RubriqueDate dans la fonction
DateVersChaine « pervertisse » sa valeur NULL.
A soumettre à la sagacité du support.
J'espère que cela aidera l'un ou l'autre d'entre nous s'il rencontre des difficultés ou des incohérences lors du test de la valeur NULL notamment en SQL, comme je l'ai vécu.
Hemgé
Partager