Frequently asked questions - Base

    From The Document Foundation Wiki
    < Faq‎ | Base(Redirected from FR/FAQ/Base/125)
    This page is a translated version of the page Faq/Base/125 and the translation is 93% complete.
    Other languages:


    Comment gérer les champs vides (Null) ?

    Calculs sur des champs

    Dans LibreOffice la propagation de Null implique que lorsque Null est utilisé dans une expression, le résultat de l'expression est lui-même Null.

    Par exemple une opération du type :

    "Total" - "Acompte"

    Donnera un résultat Null si l'un des champs n'a pas été saisi. La solution est d'utiliser une fonction permettant de tester si le champ comprend ou non une valeur. Parmi les fonctions disponibles on utilise fréquemment IFNULL dont la syntaxe est :

    IFNULL(exp,valeur)

    Si exp est Null, valeur est retournée, sinon c'est Exp

    Pour cet exemple nous utilisons IFNULL pour retourner zéro lorsque le champ est vide.

    copie d'écran requête en mode ébauche, calcul = 0 si on n'utilise pas IFNULL
    Le premier calcul montre la propagation du Null pour l'ID 1 (Acompte non saisi)

    The SQL command is

    SELECT "ID", "Acompte", "Total", "Total" - "Acompte", IFNULL( "Total", 0 ) - IFNULL( "Acompte", 0 ) FROM "Table1"

    Sélectionner des enregistrements pour lesquels un champ est vide

    On souhaite rechercher les enregistrements pour lesquels un champ n'a pas été saisi.

    • Le critère de sélection à utiliser en mode ébauche est :


    IS EMPTY


    • Le critère de sélection à utiliser en mode SQL est :


    IS NULL


    • Avec l'exemple ci-dessus :
    copie d'écran requête en mode ébauche avec IS EMPTY
    Sélection des enregistrements ayant des champs non saisis


    Nota

    1. En mode ébauche il est également possible de saisir le critère IS NULL qui sera automatiquement remplacé après validation par IS EMPTY
    2. En mode SQL la syntaxe IS NULL est la seule autorisée :


    SELECT "ID", "Acompte", "Total" FROM "Table1" WHERE "Acompte" IS NULL


    Gestion des champs booléens

    copie d'écran cf. légende
    Différents états d'un booléen
    • La sélection d'enregistrements ayant des champs booléens non saisis utilise le même critère IS EMPTY.
    • Il faut noter qu'un champ booléen peut avoir trois états : coché, décoché, non saisi.
    Ces deux derniers états ne sont pas équivalents : décoché = FALSE (faux / 0) et non saisi = indéterminé/non renseigné.
    • LibreOffice matérialise ces différents états : décoché = case vide et non saisi = fond coloré
      • IS EMPTY sélectionne les cases vides (non renseignées)
      • FALSE sélectionne les cases décochées (valeur FALSE ou 0)
      • TRUE sélectionne les cases cochées (valeur TRUE ou 1)