|
|
|
|
|
- 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
Gestion du NULL dans HFSQL
Non disponible avec ce type de connexion
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, etc.). 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 "NULL indexé (le fichier sera incompatible avec les applications en version inférieure à 28)" 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 :
| | Null | La 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 identifiants automatiques
- sur les clés composées.
Comment utiliser la valeur NULL dans vos applications ? Comment enregistrer une valeur NULL dans une rubrique ? - 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. - Générez l'analyse.
- 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 "NULL indexé (le fichier sera incompatible avec les applications en version inférieure à 28)" n'est pas cochée pour les fichiers de données. Le fichier de données est ainsi compatible avec les anciennes versions.
Si cette option n'est pas cochée, 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 cette option est cochée, la rubrique clé peut contenir la valeur NULL. Les enregistrements dont les index contiennent des valeurs NULL sont accessibles en recherche. Cette option a un impact sur les temps de parcours et sur les recherches dans l'index.
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) - 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 :
- Faire :
Fic1.Rub1..Null = Fic2.Rub2..Null
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|