Données

L'onglet Données définit les propriétés du formulaire qui se rapportent à la base de données liée au formulaire.

DĂ©finit la source de donnĂ©es Ă  laquelle le formulaire est liĂ© ou spĂ©cifie si les donnĂ©es peuvent ĂȘtre, ou non, Ă©ditĂ©es. Outre les fonctions de tri et de filtre, figurent Ă©galement toutes les propriĂ©tĂ©s nĂ©cessaires Ă  la crĂ©ation d'un sous-formulaire.

Pour accéder à cette commande...

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

Ouvrez la barre d'outils Ébauche de formulaire, cliquez sur l'icĂŽne PropriĂ©tĂ©s du formulaire - onglet DonnĂ©es.


Analyser l'instruction SQL

SpĂ©cifie si l'instruction SQL doit ĂȘtre analysĂ©e par LibreOffice. Si elle est dĂ©finie sur Oui, cliquez sur le bouton... situĂ© Ă  cĂŽtĂ© de la zone de liste Contenu. La fenĂȘtre qui s'affiche permet de crĂ©er graphiquement une requĂȘte de base de donnĂ©es. Lorsque vous fermerez cette fenĂȘtre, l'instruction SQL correspondant Ă  la requĂȘte crĂ©Ă©e sera insĂ©rĂ©e dans la zone de liste Contenu.

Autoriser les ajouts

DĂ©termine si des donnĂ©es peuvent ĂȘtre ajoutĂ©es.

Autoriser les modifications

DĂ©termine si les donnĂ©es peuvent ĂȘtre modifiĂ©es.

Autoriser les suppressions

DĂ©termine si les donnĂ©es peuvent ĂȘtre supprimĂ©es.

Barre de navigation

Indique si les fonctions de navigation de la barre de formulaire infĂ©rieure peuvent ĂȘtre utilisĂ©es.

L'option "Formulaire parent" concerne les sous-formulaires. Lorsque vous sĂ©lectionnez cette option pour un sous-formulaire, vous pouvez naviguer parmi les enregistrements du formulaire principal Ă  condition que le curseur se trouve dans le sous-formulaire. Étant donnĂ© qu'un sous-formulaire est liĂ© au formulaire principal via une relation 1:1, la navigation s'effectue toujours dans le formulaire parent.

Contenu

DĂ©termine le contenu Ă  utiliser pour le formulaire. Il peut s'agir d'une table existante ou d'une requĂȘte (crĂ©Ă©e auparavant dans la base de donnĂ©es), mais le contenu peut Ă©galement ĂȘtre dĂ©fini via une instruction SQL. Avant de saisir un contenu, vous devez en dĂ©finir le type exact dans Type de contenu.

Si vous avez sĂ©lectionnĂ© "Table" ou "RequĂȘte" dans Type de contenu, la zone rĂ©pertorie toutes les tables et requĂȘtes paramĂ©trĂ©es dans la base de donnĂ©es sĂ©lectionnĂ©e.

Cycle

Détermine le comportement de la touche de tabulation pendant la navigation. La touche de tabulation permet de se déplacer vers l'avant dans le formulaire. Si vous appuyez simultanément sur la touche Maj, la navigation suit la direction opposée. Si vous atteignez le dernier (ou le premier) champ et appuyez de nouveau sur la touche de tabulation, différents effets peuvent se produire. Définissez l'effet de la touche à l'aide des options suivantes :

Option

Signification

Par défaut

Ce paramÚtre permet de définir automatiquement un cycle orienté vers une connexion à une base de données existante. S'il existe dans un formulaire une connexion à une base de données, il est normalement possible de basculer vers l'enregistrement précédent ou suivant au moyen de la touche de tabulation lorsque vous quittez le dernier champ (voir Tous les enregistrements). S'il n'y a pas de connexion à une base de données, le basculement s'effectue vers le précédent formulaire ou le suivant (voir la page actuelle).

Tous les enregistrements

Cette option ne s'applique qu'aux formulaires de base de données et sert à explorer l'ensemble des enregistrements. Si vous utilisez la touche Tabulation pour quitter le dernier champ d'un formulaire, l'enregistrement actif est modifié.

Enregistrement actif

Cette option ne s'applique qu'aux formulaires de base de données et sert à explorer l'enregistrement actif. Si vous utilisez la touche Tabulation pour quitter le dernier champ d'un formulaire, l'enregistrement actif est modifié.

Page active

Si vous quittez un formulaire à partir de son dernier champ, le curseur passe au premier champ du formulaire suivant. Cette option, qui est la norme avec les formulaires HTML, est particuliÚrement appropriée avec ceux-ci.


Filtre

Saisissez les conditions requises pour le filtrage des données dans le formulaire. Les spécifications de filtre suivent les rÚgles SQL sans utiliser la clause WHERE. Par exemple, si vous souhaitez afficher tous les enregistrements comportant le prénom "Michel", tapez dans le champ de données : Prénom = 'Michel'. Vous pouvez également combiner des conditions : Prénom = Michel OR Prénom = Pierre. Tous les enregistrements répondant à ces deux critÚres s'afficheront.

La fonction de filtrage peut ĂȘtre activĂ©e en mode utilisateur Ă  l'aide des icĂŽnes AutoFiltre et Filtre standard de la Barre de formulaire.

Lier les champs esclaves

Si vous crĂ©ez un sous-formulaire, saisissez la variable Ă  un endroit oĂč ses valeurs possibles dans le formulaire parent peuvent ĂȘtre stockĂ©es. Si un sous-formulaire est basĂ© sur une requĂȘte saisissez la variable que vous avez dĂ©finie dans la requĂȘte. Si vous crĂ©ez un formulaire Ă  l'aide d'une instruction SQL saisie dans le champ Source de donnĂ©es, saisissez la variable que vous avez utilisĂ©e dans l'instruction. Vous pouvez choisir un nom de variable quelconque. Si vous souhaitez saisir plusieurs valeurs, appuyez sur Maj+EntrĂ©e.

Si vous avez indiquĂ© par exemple le champ de base de donnĂ©es "Clients_ID" comme champ de base de donnĂ©es supĂ©rieur sous Établir un lien depuis, vous dĂ©terminez ensuite sous Établir un lien avec le nom de la variable au niveau de laquelle les valeurs du champ de base de donnĂ©es "Clients_ID" doivent ĂȘtre lues. Si vous utilisez maintenant cette variable pour dĂ©finir une instruction SQL dans le champ Source de donnĂ©es, les valeurs correspondantes sont affichĂ©es dans le sous-formulaire.

Lier les champs maĂźtres

Si vous créez un sous-formulaire, saisissez le champ de données du formulaire parent responsable de la synchronisation entre le formulaire parent et le sous-formulaire. Pour saisir des valeurs multiples, appuyez sur Maj+Entrée aprÚs chaque ligne de saisie.

Le sous-formulaire se base sur une requĂȘte SQL, et tout particuliĂšrement sur une requĂȘte de paramĂštre. Lorsque vous entrez un nom de champ dans la zoneÉtablir un lien depuis, les donnĂ©es du champ sont lues Ă  partir du formulaire principal au niveau d'une variable que vous devez spĂ©cifier dans la zoneÉtablir un lien avec. Une instruction SQL adĂ©quate permet de comparer cette variable avec les donnĂ©es de la table auxquelles le sous-formulaire se rĂ©fĂšre. Vous pouvez Ă©galement entrer le nom de la colonne dans la zone Établir un lien depuis.

Examinez l'exemple suivant :

La table de base de donnĂ©es sur laquelle s'appuie le formulaire correspond par exemple Ă  une base de donnĂ©es client ("Clients") dans laquelle vous identifiez chaque client par un numĂ©ro unique au niveau d'un champ de donnĂ©es intitulĂ© "Clients_ID". Vous gĂ©rez les commandes d'un client dans une autre table de base de donnĂ©es. Vous souhaitez maintenant visualiser les commandes de chaque client que vous avez entrĂ© dans le formulaire. Pour ce faire, vous devez crĂ©er le sous-formulaire et sous Établir un lien depuis entrez le champ de donnĂ©es de la base de donnĂ©es client auquel le client peut ĂȘtre clairement identifiĂ©, donc "Clients_ID" (sans guillemets). Sous Établir un lien avec, entrez le nom d'une variable Ă  laquelle les donnĂ©es du champ Clients_ID doivent s'ajouter, par exemple "x".

Le sous-formulaire doit indiquer les donnĂ©es appropriĂ©es Ă  partir de la table des commandes ("Commandes") pour chaque ID client (ID_Client -> x). Ce n'est possible que si chaque commande n'est assignĂ©e qu'Ă  un seul client dans la table des commandes. Vous pouvez aussi utiliser un autre champ nommĂ© ID_Client. Cependant, pour Ă©viter les confusions entre ce champ et le mĂȘme champ du formulaire principal, le champ est nommĂ© NumĂ©ro_Client.

Comparez maintenant le Numéro_Client de la table "Commandes" à l'ID_Client de la table "Clients". Pour ce faire, vous pouvez par exemple utiliser la variable x avec l'instruction SQL suivante :

SELECT * FROM Commandes WHERE No_Client = : x (si le sous-formulaire doit afficher toutes les données de la table Cde.)

ou :

SELECT Article FROM Commandes WHERE No_Client = : x (si le sous-formulaire ne doit afficher que les données du champ "Article" de la table Cde.)

Vous pouvez entrer l'instruction SQL soit dans le champ Source de donnĂ©es, ou vous gĂ©nĂ©rez une requĂȘte de paramĂštre correspondante que vous utilisez pour crĂ©er le sous-formulaire.

N'ajouter que des données

Permet de déterminer si le formulaire ne doit autoriser que l'ajout de nouvelles données (Oui) ou s'il doit également autoriser d'autres propriétés (Non).

IcĂŽne Remarque

Si N'ajouter que des données est défini sur "Oui", il n'est pas possible de modifier ou de supprimer des données.


Source de données

Définit la source de données à laquelle le formulaire doit renvoyer. Si vous cliquez sur le bouton ..., la boßte de dialogue Ouvrir s'affiche. Vous pouvez y sélectionner une source de données.

Trier

Spécifie les conditions de tri des données dans le formulaire. La spécification des conditions de tri suit les rÚgles SQL sans utilisation de la clause ORDER BY. Par exemple, si vous souhaitez trier tous les enregistrements d'une base de données dans l'ordre croissant dans un champ et dans l'ordre décroissant dans un autre champ, saisissez Prénom ASC, Nom DESC (en supposant que Prénom et Nom sont les noms des champs de données).

Vous pouvez utiliser les icÎnes correspondantes de la barre de formulaire en mode utilisateur pour effectuer les opérations suivantes : Tri croissant, Tri décroissant, Tri.

Type de contenu

DĂ©termine si la source de donnĂ©es doit ĂȘtre une table ou une requĂȘte de base de donnĂ©es existante, ou si le formulaire doit ĂȘtre gĂ©nĂ©rĂ© Ă  partir d'une instruction SQL.

Si vous choisissez Table ou RequĂȘte, le formulaire fera rĂ©fĂ©rence Ă  la table ou Ă  la requĂȘte spĂ©cifiĂ©e sous Contenu. Pour crĂ©er une requĂȘte ou un sous-formulaire, sĂ©lectionnez l'option SQL. Vous pourrez alors saisir l'instruction de la requĂȘte SQL ou du sous-formulaire directement dans la zone Contenu de liste dans l'onglet DonnĂ©es sous PropriĂ©tĂ©s du contrĂŽle.

Qu'est-ce qu'un sous-formulaire ?

La gĂ©nĂ©ration de formulaires s'effectue d'aprĂšs une table ou une requĂȘte de base de donnĂ©es. Ils permettent de prĂ©senter les donnĂ©es et peuvent ĂȘtre utilisĂ©s pour saisir de nouvelles donnĂ©es ou pour modifier des donnĂ©es.

Pour obtenir un formulaire pouvant faire rĂ©fĂ©rence aux donnĂ©es d'une table ou d'une requĂȘte et pouvant Ă©galement afficher des donnĂ©es d'une autre table, vous devez crĂ©er un sous-formulaire. Ce sous-formulaire peut ĂȘtre, par exemple, une zone de texte affichant les donnĂ©es d'une autre table de base de donnĂ©es.

Un sous-formulaire est un composant supplémentaire du formulaire principal. Le formulaire principal est également appelé formulaire "parent". Les sous-formulaires sont nécessaires dÚs lors que vous accédez à plusieurs tables depuis un formulaire. Chaque table supplémentaire requiert son propre sous-formulaire.

Une fois crĂ©Ă©s, vous pouvez transformer les formulaires en sous-formulaires. Il suffit de passer en mode Ébauche, puis d'ouvrir le navigateur de formulaire. Dans le navigateur de formulaire, faites glisser le formulaire que vous souhaitez transformer en sous-formulaire sur tout autre formulaire. Ce dernier devient le formulaire principal.

L'utilisateur de votre document ne peut pas savoir si un formulaire possÚde des sous-formulaires. Il ne voit qu'un document dans lequel des données sont entrées ou dans lequel des données figurent déjà.

Dans les champs de donnĂ©es du formulaire principal, renseignez le champ Établir un lien depuis. Dans le sous-formulaire, l'option Établir un lien avec peut ĂȘtre dĂ©finie comme un champ qui sera mis en correspondance avec le contenu du champ Établir un lien depuis.

Lorsque l'utilisateur parcourt les données, le formulaire affiche toujours l'enregistrement des données actuelles. Si des sous-formulaires ont été définis, leur contenu s'affichera dans un délai trÚs court d'environ 200 ms, durée pendant laquelle vous pouvez rapidement parcourir les enregistrements de données du formulaire principal. Si vous accédez au prochain enregistrement de données principales dans le temps imparti, il sera inutile d'extraire et d'afficher les données du sous-formulaire.

Aidez-nous !