Données

L'onglet Donn√©es permet d'assigner une source de donn√©es √† l'√©l√©ment de contr√īle s√©lectionn√©.

Pour accéder à cette commande...

Ouvrez le menu contextuel d'un √©l√©ment de formulaire s√©lectionn√©, choisissez l'onglet Propri√©t√©s du contr√īle - Donn√©es.

Ouvrez la barre d'outils √Čbauche de formulaire, cliquez sur l'ic√īne Contr√īle - onglet Donn√©es.


note

Pour les formulaires avec connexion de base de données, la base de données correspondante est définie dans les propriétés de formulaire. Vous trouverez les fonctions concernées sur l'onglet Données.


Les param√®tres possibles de l'onglet Donn√©es d'un contr√īle d√©pendent du contr√īle respectif. Vous ne verrez que les options qui sont disponibles pour le contr√īle actif et son contexte.
Les champs suivants sont disponibles :

Cellule liée

Sp√©cifie la r√©f√©rence √† une cellule li√©e sur la feuille de calcul. L'√©tat ou le contenu du contr√īle est li√© au contenu de la cellule. Les tableaux suivants dressent la liste des contr√īles avec les types de liens correspondants :

Case à cocher avec cellule liée

Action

Résultat

Sélectionnez la case à cocher :

L'expression TRUE est saisie dans la cellule liée.

Désélectionnez la case à cocher :

L'expression FALSE est saisie dans la cellule liée

La case à cocher à trois états possède l'état "indéterminé" :

L'expression #NV est saisie dans la cellule liée.

Saisissez une valeur ou une formule qui retourne une valeur dans la cellule liée :

Si la valeur saisie est TRUE ou non nulle, la case à cocher est activée.
Si la valeur saisie est FALSE ou 0, la case à cocher est désactivée.

Effacez le contenu de la cellule liée ou saisissez du texte ou une formule qui retourne du texte ou une erreur :

La case à cocher est définie sur l'état "indéterminé" si c'est une case à cocher à trois états ; sinon, elle est désactivée.

Sélectionner la zone. La zone Valeur référentielle contient du texte.

Le texte de la zone Valeur référentielle est copié dans la cellule.

Désactiver la zone. La zone Valeur référentielle contient du texte :

Une cha√ģne vide est copi√©e dans la cellule.

La zone Valeur référentielle contient du texte. Saisissez le même texte dans la cellule :

La case à cocher est activée.

La zone Valeur référentielle contient du texte. Saisissez un autre texte dans la cellule :

La case à cocher est désactivée.


Bouton radio avec cellule liée

Action

Résultat

Sélectionner le bouton radio :

L'expression TRUE est saisie dans la cellule liée.

Pour désactiver le bouton radio, il suffit d'en activer un autre :

L'expression FALSE est saisie dans la cellule liée

Saisissez une valeur ou une formule qui retourne une valeur dans la cellule liée :

Si la valeur saisie est TRUE ou non nulle, le bouton radio est activé.
Si la valeur saisie est FALSE ou 0, le bouton radio est désactivé.

Effacez le contenu de la cellule liée ou saisissez du texte ou une formule qui retourne du texte ou une erreur :

Le bouton radio est désactivé.

Cliquez sur le bouton radio. La zone Valeur référentielle contient du texte :

Le texte de la zone Valeur référentielle est copié dans la cellule.

Cliquez sur un autre bouton radio du même groupe. La zone Valeur référentielle contient du texte :

Une cha√ģne vide est copi√©e dans la cellule.

La zone Valeur référentielle contient du texte. Saisissez le même texte dans la cellule :

Le bouton radio est activé.

La zone Valeur référentielle contient du texte. Saisissez un autre texte dans la cellule :

Le bouton radio est désactivé.


Zone de texte avec cellule liée

Action

Résultat

Saisir du texte dans la zone de texte :

Le texte est copié dans la cellule lié.

Effacer le contenu de la zone de texte :

Le contenu de la cellule liée est effacé.

Saisir du texte ou une valeur dans la cellule liée :

Le texte ou la valeur est copié(e) dans la zone de texte.

Saisir une formule dans la cellule liée :

Le résultat de la formule est copié dans la zone de texte.

Effacer le contenu de la cellule liée :

Le contenu de la zone de texte est effacé.


Champ numérique et champ formaté avec cellule liée

Action

Résultat

Saisir une valeur dans le champ :

La valeur est copiée dans la cellule liée.

Effacer le contenu du champ :

La valeur 0 est définie dans la cellule liée.

Saisissez une valeur ou une formule qui retourne une valeur dans la cellule liée :

La valeur est copiée dans le champ.

Effacez le contenu de la cellule liée ou saisissez du texte ou une formule qui retourne du texte ou une erreur :

La valeur 0 est définie dans le champ.


Zone de liste avec cellule liée

Les zones de liste prennent en charge deux modes Liaison, voir la propriété "Contenu de la cellule liée ".

  1. Contenu lié : synchronisez le contenu textuel de l'entrée de zone de liste sélectionnée avec le contenu de la cellule.

  2. Position de la sélection liée : la position, dans la zone de liste, de l'élément sélectionné est synchronisée avec la valeur numérique contenue dans la cellule.

Action

Résultat

Sélectionner un seul élément de liste :

Le contenu est lié : le texte de l'élément est copié dans la cellule liée.

La sélection est liée : la position de l'élément sélectionné est copiée dans la cellule liée.
Par exemple, si l'élément sélectionné est le troisième, c'est le chiffre 3 qui est copié.

Sélectionner plusieurs éléments de la liste :

L'expression #NV est saisie dans la cellule liée.

Désélectionner tous les éléments de la liste :

Le contenu est lié : Le contenu de la cellule liée est effacé.

La sélection est liée : la valeur 0 est saisie dans la cellule liée.

Saisir du texte ou une valeur dans la cellule liée :

Le contenu est lié : recherchez et sélectionnez un élément de liste identique.

La sélection est liée : l'élément de liste situé à la position spécifiée (1 correspondant au premier élément) est sélectionné. S'il est introuvable, tous les éléments sont désélectionnés.

Saisir une formule dans la cellule liée :

Recherchez et sélectionnez un élément de liste qui correspond au résultat de la formule et au mode Liaison.

Effacer le contenu de la cellule liée :

Désélectionner tous les éléments de la zone de liste.

Modifier le contenu de la plage source de la liste :

Les √©l√©ments de la zone de liste se mettent √† jour en fonction des modifications, et la s√©lection est conserv√©e. Cela peut entra√ģner la mise √† jour de la cellule li√©e.


Bo√ģte combin√©e avec cellule li√©e

Action

Résultat

Saisissez du texte dans le champ d'√©dition de la bo√ģte combin√©e ou s√©lectionnez une entr√©e √† partir de la liste d√©roulante :

Le texte est copié dans la cellule lié.

Effacer le contenu du champ d'√©dition de la bo√ģte combin√©e :

Le contenu de la cellule liée est effacé.

Saisir du texte ou une valeur dans la cellule liée :

Le texte ou la valeur est copi√©(e) dans le champ d'√©dition de la bo√ģte combin√©e.

Saisir une formule dans la cellule liée :

Le r√©sultat de la formule est copi√© dans le champ d'√©dition de la bo√ģte combin√©e.

Effacer le contenu de la cellule liée :

Le contenu du champ d'√©dition de la bo√ģte combin√©e est effac√© :

Modifier le contenu de la plage source de la liste :

Les √©l√©ments de la liste d√©roulante se mettent √† jour en fonction des modifications. Le champ d'√©dition de la bo√ģte combin√©e et la cellule li√©e ne sont pas modifi√©s.


Champ de données

Avec les formulaires de base de donn√©es, vous pouvez lier les champs de contr√īle aux champs de donn√©es.

Plusieurs possibilités s'offrent à vous :

  1. Premier cas : le formulaire ne comporte qu'une seule table.

    Dans Champ de données, indiquez le champ de la table de sources de données dont vous souhaitez afficher le contenu.

  2. Deuxi√®me cas : l'√©l√©ment de contr√īle appartient √† un sous-formulaire cr√©√© par une requ√™te SQL.

    Dans Champ de données, indiquez le champ de l'instruction SQL dont vous souhaitez afficher le contenu.

  1. Troisi√®me cas : Bo√ģtes combin√©es

    Pour les zones combinées, saisissez, sous Champ de données, le champ de la table du formulaire actif, dans lequel seront stockées les valeurs saisies ou sélectionnées par l'utilisateur. Les valeurs à afficher dans la liste de la zone combinée sont spécifiées par une instruction SQL saisie sous Contenu de liste.

  2. Quatrième cas : Zones de liste

    La table de sources de données ne contient pas les données à afficher, mais une table qui lui est liée est accessible par un champ de données commun.

    Si vous souhaitez qu'une zone de liste affiche les donn√©es d'une table li√©e √† la table de sources de donn√©es active, indiquez dans Champ de donn√©es le champ de la table de sources de donn√©es auquel le contenu de la zone de liste renvoie. Vous pouvez aussi sp√©cifier le champ de base de donn√©es contr√īlant l'affichage des donn√©es dans le formulaire. Ce champ de donn√©es fournit le lien vers l'autre table si les deux tables peuvent √™tre li√©es par un champ de donn√©es commun. Il s'agit g√©n√©ralement d'un champ de donn√©es dans lequel sont stock√©s des num√©ros d'identification uniques. Le champ de donn√©es dont le contenu est affich√© dans le formulaire est indiqu√© par une instruction SQL dans Contenu de liste.

Les zones de liste acceptent des références qui peuvent réalisées au moyen de tables liées par des instructions SQL (4e cas) ou de listes de valeurs :

Références via les tables liées (instructions SQL)

Si vous souhaitez qu'une zone de liste affiche les données d'une table de base de données qui est liée, par un champ de données commun, à la table sur laquelle le formulaire est basé, vous pouvez spécifier le champ de lien de la table du formulaire dans Champ de données.

Le lien est cr√©√© avec une instruction SQL Select qui, si vous avez s√©lectionn√© "SQL" ou "SQL Natif", est sp√©cifi√©e sous Type du contenu de liste dans le champ Contenu de liste. Par exemple, une table "Commandes" est li√©e au contr√īle de formulaire actif et, dans la base de donn√©es, une table "Clients" est li√©e √† la table "Commandes". L'instruction SQL peut √™tre la suivante :

SELECT NomClient, NumClient FROM Clients,

o√Ļ "NomClient" est le champ de donn√©es de la table li√©e "Clients", et "NumClient" le champ de la table "Clients" li√© √† un champ de la table du formulaire "Commandes" indiqu√© dans Champ de donn√©es.

Références via les listes de valeurs

Vous pouvez utiliser des listes de valeurs dans les zones de liste. Ces listes d√©finissent les valeurs de r√©f√©rence. Autrement dit, le champ de contr√īle n'affiche pas directement le contenu d'un champ de base de donn√©es dans le formulaire, mais la liste des valeurs associ√©es.

Si vous utilisez des valeurs référentielles provenant d'une liste de valeurs, le contenu du champ de données spécifié sous Champ de données dans le formulaire n'est pas visible. Ce sont les valeurs assignées qui s'affichent à la place. Si vous choisissez "Liste de valeurs" dans le champ Type du contenu de liste de l'onglet Données, et assignez une valeur référentielle à la liste des entrées visibles du formulaire sous Entrées de liste (saisie dans l'onglet Général), les valeurs référentielles sont comparées au contenu du champ de données spécifié. Si une valeur référentielle correspond au contenu d'un champ de données, les entrées de liste associées s'affichent dans le formulaire.

Champ lié

note

Si vous supprimez le contenu de la cellule Champ lié dans l'explorateur de propriétés, le premier champ du résultat défini est utilisé pour afficher et échanger les données.


Cette propriété spécifique aux zones de liste détermine quel champ de données d'une table liée est affichée dans le formulaire.

Si une zone de liste du formulaire affiche le contenu d'une table liée à la table de formulaire, vous devez renseigner le champ Type du contenu de liste si l'affichage est déterminé par une commande SQL ou par la table (liée) à laquelle le système accède. Une fois la propriété Champ lié définie, vous pouvez utiliser un index pour spécifier à quels champs de données de la requête ou de la table le champ de la liste est associé.

note

La propriété Champ lié ne s'applique qu'aux formulaires utilisés pour accéder à plusieurs tables. Si le formulaire est basé sur une seule table, le champ devant s'afficher dans le formulaire est spécifié directement dans Champ de données. Cependant, si vous souhaitez que la zone de liste affiche les données à partir d'une table liée à la table active au moyen d'un champ de données commun, vous devez définir ce champ à l'aide de la propriété Champ lié.


Si vous avez sélectionné "Sql" dans Type du contenu de liste, la commande SQL détermine l'index à spécifier. Exemple : si vous spécifiez une instruction SQL telle que "SELECT Champ1, Champ2 FROM nom_de_table" dans Contenu de liste, référez-vous au tableau suivant :

Champ lié

Lien

-1

L'index de l'entrée sélectionnée dans la liste est lié au champ spécifié sous Champ de données.

{vide} ou 0

Le champ de base de données "Champ1" est lié au champ spécifié sous Champ de données.

1

Le champ de base de données "Champ2" est lié au champ spécifié sous Champ de données.


Si vous avez sélectionné "Table" dans Type du contenu de liste, la structure de la table définit l'index à spécifier. Exemple : si une table de base de données est sélectionnée dans Contenu de liste, référez-vous au tableau suivant :

Champ lié

Lien

-1

L'index de l'entrée sélectionnée dans la liste est lié au champ spécifié sous Champ de données.

{vide} ou 0

La colonne 1 de la table est liée au champ spécifié sous Champ de données.

1

La colonne 2 de la table est liée au champ spécifé sous Champ de données.

2

La colonne 3 de la table est liée au champ spécifié sous Champ de données.


Cha√ģne vide est NULL

D√©finit comment une entr√©e de cha√ģne vide doit √™tre trait√©e. Si d√©finie sur "Oui", une entr√©e de cha√ģne de longueur z√©ro sera trait√©e comme une valeur NULL. Si d√©finie sur "Non", n'importe quelle entr√©e sera trait√©e comme telle, sans aucune conversion.

Une cha√ģne vide est une cha√ģne de longueur z√©ro (""). Normalement une valeur NULL est diff√©rente d'une cha√ģne vide. En g√©n√©rale, un terme NULL est utilis√© pour indiquer une valeur non d√©finie, une valeur inconnue ou "aucune valeur n'a encore √©t√© saisie."

Les systèmes de base de données varient et peuvent traiter une valeur NULL différemment. Consultez la documentation de la base de données que vous utilisez.

Contenu de la cellule liée

Sélectionnez le mode de liaison d'une zone de liste avec une cellule liée dans une feuille de calcul.

  1. Contenu lié : Synchronisez le contenu contextuel de l'entrée de zone de liste sélectionnée avec le contenu de la cellule. Sélectionnez "l'entrée sélectionnée".

  2. Position de la sélection liée : La position dans la zone de liste de l'élément sélectionné est synchronisée avec la valeur numérique contenue dans la cellule. Sélectionnez "Position de l'entrée sélectionnée".

Contenu de liste

Dans des formulaires de base de données, indique la source de données du contenu de la liste de l'élément du formulaire. Ce champ peut être utilisé pour définir une liste de valeurs pour des documents non liés à une base de données.

Dans le cas de formulaires de base de donn√©es, la source de donn√©es d√©termine les entr√©es de la zone de liste ou de la zone combin√©e. En fonction du type s√©lectionn√©, vous pouvez choisir entre diff√©rentes sources de donn√©es dans Contenu de liste, √† condition que ces objets existent dans votre base de donn√©es. Tous les objets de base de donn√©es disponibles correspondant au type s√©lectionn√© dans Type du contenu de liste y sont propos√©s. Si vous avez s√©lectionn√© le type "Liste de valeurs", vous pouvez utiliser des r√©f√©rences pour les formulaires de base de donn√©es. Si l'affichage de l'√©l√©ment de contr√īle est command√© par une instruction SQL, celle-ci est saisie √† cet endroit.

Exemples utilisant des instructions SQL :

Dans le cas de zones de listes, une instruction SQL peut avoir la forme suivante :

SELECT champ1, champ2 FROM table,

O√Ļ "table" est la table dont les donn√©es doivent appara√ģtre dans la liste du champ de contr√īle (table de liste). "champ1" est le champ de donn√©es qui d√©termine les entr√©es qui seront visibles dans le formulaire, c'est-√†-dire dont le contenu appara√ģtra dans la zone de liste. "champ2" est le champ de la table de liste qui est li√© √† la table de formulaire (table de valeurs) via le champ entr√© sous Champ de donn√©es lorsque la valeur 1 est s√©lectionn√©e dans la zone Champ li√©.

Dans le cas de bo√ģtes combin√©es, une instruction SQL peut avoir la forme suivante :

SELECT DISTINCT champ FROM table,

Ici, "champ" désigne le champ de données de la table de liste "table" dont le contenu est affiché dans la liste de la zone combinée.

Listes de valeurs pour les documents HTML

Pour les formulaires HTML, vous pouvez saisir une liste de valeurs dans Contenu de liste. Sélectionnez l'option "Liste de valeurs" dans Type du contenu de liste. Les valeurs saisies à cet endroit ne sont pas visibles dans le formulaire et servent à assigner des valeurs aux entrées visibles. Les entrées saisies dans Contenu de liste correspondent à la balise HTML <OPTION VALUE=...>.

Lors du transfert des donn√©es d'une entr√©e s√©lectionn√©e dans une zone de liste ou dans une bo√ģte combin√©e, la liste de valeurs affich√©e dans le formulaire, saisie sous Entr√©es de liste dans l'onglet G√©n√©ral, ainsi que la liste de valeurs saisie sous Contenu de liste dans l'onglet Donn√©es, sont prises en compte : si un texte (non vide) se trouve √† la position s√©lectionn√©e dans la liste de valeurs (<OPTION VALUE=...>), il est envoy√©. Sinon, c'est le texte affich√© dans le contr√īle (<OPTION>) qui est envoy√©.

Si la liste de valeurs doit contenir un espace vide, saisissez la valeur "$$$empty$$$" sous Contenu de liste à la position correspondante (en respectant la casse). LibreOffice interprète cette entrée comme un espace vide et l'assigne à l'entrée de liste correspondante.

Le tableau suivant montre les relations entre HTML, JavaScript et le champ LibreOffice Contenu de liste en prenant pour exemple une zone de liste nommée "ListBox1". Dans cette description, le terme "item" représente une entrée de liste visible dans le formulaire :

Balise HTML

JavaScript

Entr√©e dans la liste de valeurs du contr√īle (contenu de liste)

Données transmises

<OPTION>Item

Impossible

""

l'entrée de liste visible ("ListBox1=Item")

<OPTION VALUE="Valeur">Item

ListBox1.options[0].value="Valeur"

"Valeur"

La valeur associée à l'entrée de liste ("ListBox1=Valeur")

<OPTION VALUE="">Item

ListBox1.options[0].value=""

"$$$empty$$$"

Une cha√ģne vide ("ListBox1=")


Plage de cellules source

Saisissez une plage de cellules contenant des entr√©es pour une zone de liste ou une bo√ģte combin√©e sur une feuille de calcul. Si la plage de cellules saisie s'√©tale sur plusieurs colonnes, seul le contenu de la colonne la plus √† gauche sera pris en compte pour d√©finir le contr√īle.

Proposition de filtre

Lors de la conception de votre formulaire, vous pouvez d√©finir la propri√©t√© "Proposition de filtre" pour chaque zone de texte de l'onglet Donn√©es de la bo√ģte de dialogue Propri√©t√©s correspondante. Dans les recherches suivantes en mode Filtre, vous pouvez choisir parmi toutes les informations figurant dans ces champs. Le contenu du champ peut ensuite √™tre s√©lectionn√© √† l'aide de la fonction Auto-compl√©tion. Notez cependant que cette fonction consomme davantage d'espace m√©moire et de temps, surtout lorsqu'elle est utilis√©e dans de grandes bases de donn√©es. Il est donc conseill√© de l'employer mod√©r√©ment.

Type du contenu de liste

D√©termine les donn√©es devant s'afficher dans les zones de liste et dans les bo√ģtes combin√©es.

Avec l'option "Liste de valeurs", toutes les entr√©es saisies dans le champ Entr√©es de liste de l'onglet G√©n√©ral s'affichent dans le contr√īle. Pour les formulaires de base de donn√©es, vous pouvez utiliser des valeurs r√©f√©rentielles. Reportez-vous √† la rubrique R√©f√©rences via les listes de valeurs.

Si le contenu de l'√©l√©ment de contr√īle est lu √† partir d'une base de donn√©es, vous pouvez d√©terminer le type de source de donn√©es √† l'aide des autres options. Vous pouvez par exemple choisir entre des tables et des requ√™tes.

Valeur référentielle (activée)

Vous pouvez assigner une valeur r√©f√©rentielle aux boutons radio et aux cases √† cocher. La valeur r√©f√©rentielle est transmise √† un serveur lors de l'envoi du formulaire Web. Les formulaires de base de donn√©es permettent d'√©crire la valeur saisie ici dans la base de donn√©es assign√©e au champ de contr√īle.

Valeurs de référence pour les formulaires Web

Les valeurs r√©f√©rentielles sont utiles si vous devez concevoir un formulaire Web et si les informations sur le statut du contr√īle doivent √™tre transmises √† un serveur. Si l'utilisateur clique sur le contr√īle, la valeur r√©f√©rentielle correspondante est envoy√©e au serveur.

Par exemple, s'il existe deux champs de contr√īle pour les options "f√©minin" et "masculin" et que vous assignez la valeur r√©f√©rentielle 1 au champ "f√©minin" et la valeur 2 au champ "masculin", la valeur 1 est transmise au serveur si l'utilisateur clique sur le champ "f√©minin" et la valeur 2 s'il clique sur le champ "masculin".

Valeurs de référence pour les formulaires de base de données

Avec les formulaires de bases de données, vous pouvez également identifier l'état d'un bouton radio ou d'une case à cocher à l'aide d'une valeur de référence et stocker cette valeur de référence dans la base de données. Par exemple, si vous avez un groupement de trois options appelées "en cours", "terminé" et "à revoir" auxquelles vous avez affecté les valeurs de référence "ToDo", "OK" et "AR", ce sont ces dernières qui apparaissent dans la base de données chaque fois que l'on clique sur l'option correspondante.

Valeur référentielle (désactivée)

Les cases √† cocher et les boutons radio des classeurs peuvent √™tre li√©s aux cellules du document actif. Si le contr√īle est activ√©, la valeur saisie dans la zone Valeur r√©f√©rentielle (activ√©e) est copi√©e dans la cellule. Si le contr√īle est d√©sactiv√©, la valeur saisie dans la zone Valeur r√©f√©rentielle (d√©sactiv√©e) est copi√©e dans la cellule.

Aidez-nous !