DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL
  • Présentation
  • Comment gérer la valeur NULL dans une de vos rubriques ?
  • Gérer la valeur NULL
  • Limites
  • Comment utiliser la valeur NULL dans vos applications ?
  • Comment enregistrer une valeur NULL dans une rubrique ?
  • Personnaliser l'affichage des rubriques dont la valeur est NULL
  • Requête : Condition de sélection
  • Exemple
  • Limitations
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
WINDEV, WEBDEV et WINDEV Mobile permettent de gérer la valeur NULL dans les rubriques des fichiers de données HFSQL et pour tous les autres types d'accès (Natif, OLE DB, ...).
Ainsi, lors de calculs sur les enregistrements de vos fichiers de données, les enregistrements contenant une rubrique Nulle ne seront pas pris en compte. Par exemple, si une requête calcule la note moyenne des élèves pendant le trimestre, seules les notes des élèves présents seront prises en compte. Si l'élève est absent, sa note correspondra à la valeur nulle.
Comment gérer la valeur NULL dans une de vos rubriques ?

Gérer la valeur NULL

Pour gérer la valeur nulle dans vos fichiers de données, vous disposez :
  • Sous l'éditeur d'analyses :
    • d'une option "NULL supporté" dans la description du fichier de données (onglet "Détail"). Cette option permet de définir si la gestion du NULL est supportée pour ce fichier de données. Dans ce cas, il sera possible de gérer la valeur NULL pour les différentes rubriques du fichier de données.
    • d'une option "Nouvel onglet" dans la description du fichier de données (onglet "Détail"). Cette option permet d'indiquer que la rubrique clé peut contenir la valeur NULL. Les enregistrements dont les index contiendront des valeurs à NULL seront accessibles en recherche.
      ATTENTION : Lors de l'activation de cette fonctionnalité, le fichier d'index généré n'est plus compatible avec les versions inférieures à la 28.
      Seules les applications compilées en version 28 (et supérieure) pourront accéder à ces fichiers de données.
      Si une application écrite dans les version 27 et inférieures tentent d'accéder à un fichier dont cette option est activée, une erreur est générée : "Erreur, la version du fichier est trop récente".
    • d'une option "Valeur NULL par défaut" pour chaque rubrique de vos fichiers (onglet "Général" de la description de la rubrique). Cette option permet de définir la valeur nulle comme valeur par défaut de la rubrique.
    • d'une option "NULL autorisé" pour chaque rubrique de vos fichiers (onglet "Général" de la description de la rubrique). Cette option permet d'autoriser ou non l'utilisation de la valeur NULL pour cette rubrique. Par défaut, si le fichier de données supporte le NULL, toutes les rubriques du fichier de données ont l'option "NULL Autorisé" cochée.
  • En programmation, de plusieurs propriétés :
    NullLa propriété Null permet de :
    • Affecter NULL à la rubrique pour l'enregistrement en cours.
    • Savoir si la rubrique est associée à la valeur NULL pour l'enregistrement en cours.
    • Définir la valeur par défaut d'une rubrique lors de la description d'un fichier de données par programmation.
    NullAutoriséLa propriété NullAutorisé permet de gérer la valeur NULL dans les rubriques des fichiers de données HFSQL.
    NullIndexéLa propriété NullIndexé permet de paramétrer le mode de gestion de la valeur "Null" pour une rubrique clé.
    NullSupportéLa propriété NullSupporté permet de gérer la valeur NULL dans des fichiers de données HFSQL.

Limites

Il n'est pas possible d'utiliser la valeur NULL :
  • sur les rubriques tableau.
  • sur les clés composées.
Comment utiliser la valeur NULL dans vos applications ?

Comment enregistrer une valeur NULL dans une rubrique ?

  1. Cochez la case "NULL supporté" lors de la description du fichier de données sous l'éditeur d'analyses (option "Description du fichier de données" du menu contextuel, onglet "Info").
    Par défaut, l'option "NULL Autorisé" est cochée pour toutes les rubriques du fichier de données.
  2. Générez l'analyse.
  3. Cochez l'option "NULL si vide" du champ de saisie lié à la rubrique. Si l'utilisateur n'a saisi aucune valeur dans ce champ, la valeur NULL sera automatiquement affectée à la rubrique, lors de l'utilisation :
Remarques :
  • L'option "NULL si vide" des champs de saisie permet également de gérer les paramètres optionnels d'une requête paramétrée. Pour plus de détails, consultez Utilisation d'une requête paramétrée.
  • Si la valeur par défaut de la rubrique est NULL (case cochée sous l'éditeur), la fonction HRAZ remet la propriété Null à Vrai.
  • Par défaut, l'option "Nouvel onglet" n'est pas cochée pour les fichiers de données. Le fichier de données est ainsi compatible avec les anciennes versions. Le NULL au niveau de l'index est alors considéré comme une chaîne vide ("") pour les rubriques de type chaîne ou comme la valeur 0 pour les rubriques numériques.
    Si l'option "Nouvel onglet" est cochée, la rubrique clé peut contenir la valeur NULL. Les enregistrements dont les index contiendront des valeurs à NULL seront accessibles en recherche.

Personnaliser l'affichage des rubriques dont la valeur est NULL

Par défaut, si un champ de saisie est lié à une rubrique dont la valeur est NULL, la valeur affichée dans le champ est "". Pour personnaliser ce mode d'affichage, utilisez la fonction ChampErreur avec la constante ceNull.

Requête : Condition de sélection

Il est possible sous l'éditeur de requête de prendre en compte ou non les enregistrements ayant une rubrique nulle. Il suffit de créer une condition de sélection, et de choisir l'option "Est nulle" ou "N'est pas Nulle".
Dans une requête de sélection effectuant un calcul, tous les enregistrements ayant une valeur nulle (pour la rubrique de calcul) ne seront pas pris en compte.

Exemple

L'exemple suivant est une requête qui permet de calculer la moyenne des notes des élèves pour le cours de Français pour l'année 2003. Si une des notes correspond à la valeur NULL, cette note n'est pas prise en compte.
SELECT Notes.Cours AS Cours,
Notes.DateNote AS DateNote,
LEFT(Notes.DateNote,4) AS Année,
AVG(Notes.Note) AS la_moyenne_Note
FROM Notes
WHERE Notes.Cours = 'Français'
AND Notes.Note IS NOT NULL
AND LEFT(Notes.DateNote,4) = '2003'
GROUP BY Notes.Cours, Notes.DateNote, LEFT(Notes.DateNote,4)
Limitations
  • Lors de la gestion de l'intégrité, la valeur NULL n'est pas prise en compte.
  • Un enregistrement relié sur 0 ou chaîne vide ("") équivaut à un enregistrement relié sur NULL.
  • Par compatibilité, le transfert de la propriété Null par affectation n'est pas possible.
    • Ne pas faire :
      Fic1.Rub1 = Fic2.Rub2
    • Faire :
      Fic1.Rub1..Null = Fic2.Rub2..Null
Nouveauté 2024
Gestion des types nullables : Si l'option "Autoriser les types nullables" est cochée dans la description du projet, il devient possible d'utiliser la syntaxe :
Fic1.Rub1 = Fic2.Rub2
Pour plus de détails, consultez Gestion de la valeur NULL : Autoriser les types nullables.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 20/03/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale