Liste déroulante et remplissage auto

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Joupi
Fraîchement OOthentifié
Messages : 3
Inscription : 12 mai 2011 04:31

Liste déroulante et remplissage auto

Message par Joupi »

Bonjour,

débutant avec OpenOffice Base, merci pour ce forum et ceux qui le font vivre.

Je teste avec une base sur des plantes:
Voilà ce que j'aimerai faire, en simplifiant :
2 champs : 1 pour le nom scientifique, 1 autre à côté pour le nom français.
À un nom scientifique de plante, correspond un nom français.

J'ai donc créé une liste déroulante, avec les noms des plantes.

Mais j'aimerai que, en choisissant par exemple le nom scientifique d'une plante dans la liste déroulante, le champ suivant se remplisse automatiquement par le nom français correspondant. Et inversement.
C'est à dire :
Choix dans Liste déroulante des noms scientifiques > Champ "Nom scientifique" rempli par nom scientifique > remplissage automatique par le nom français correspondant dans le champs "Nom français".
ou
Choix dans Liste déroulante des noms français > Champ "Nom français" rempli par nom français > remplissage automatique par le nom scientifique correspondant dans le champs "Nom scientifique".

J'espère être clair, et que ma question n'est pas trop idiote.
J'ai bien fait des recherches, mais comme je n'utilise peut-être pas les bon termes, je n'ai rien trouvé de correspondant.

Merci par avance.
OpenOffice 3.3.0 - Windows XP
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
Messages : 3948
Inscription : 06 oct. 2008 08:03

Re: Liste déroulante et remplissage auto

Message par Oukcha »

Bonjour et bienvenue,

Il serait plus facile de répondre à votre question en nous joignant un exemple de fichier avec notre service Ci-Joint (lien en bas de la page lors de la rédaction du message) : http://user.services.openoffice.org/fr/ ... ne-PJ.html

Cela augmentera vos chances de réponse en évitant d'avoir à recréer quelque chose qui au final, pourrait ne pas convenir.

Dans l'attente.
                                        
Pour tout savoir sur le fonctionnement de ce forum :arrow: À lire avant tout ! Image
Jeff
GourOOu
GourOOu
Messages : 9628
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Liste déroulante et remplissage auto

Message par Jeff »

Bonjour et bienvenue,

Je pense que ce post, en section tutoriel, peux t’intéresser :
Filtrer une liste en fonction d'une autre

A +
Joupi
Fraîchement OOthentifié
Messages : 3
Inscription : 12 mai 2011 04:31

Re: Liste déroulante et remplissage auto

Message par Joupi »

Bonjour Ouchka, et merci.

Je ne pensais pas que ça aurait été très utile, vu que je ne sais pas si mon début est correct :D , mais voilà mon fichier exemple, ainsi qu'une copie d'écran.
JoupiPlantes003Ecr.jpg
Ce que j'essaye de faire :
Quand je choisis par exemple "Plante Scient 001" dans la première liste déroulante, la case "Nom français" se remplit automatiquement par "Nom franç 001".
Ou inversement, si je choisis "Plante franç 001" dans la deuxième liste déroulante, la case "Nom scientifique" se remplit automatiquement par "Nom sicent 001"

J'espère que ce sera plus clair :)

Merci.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 3.3.0 - Windows XP
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Re: Liste déroulante et remplissage auto

Message par Pierre-Yves Samyn »

Bonjour et bienvenue sur ce forum

C'est plus clair avec ta base exemple...

Je déduis de celle-ci que tu auras besoin (au moins... ) de deux tables : une table des observations (si ma supposition d'après "date obs" est bonne) et une table des plantes qui ne servira qu'à apparier noms scientifiques et "français".

Mais ce que je ne peux deviner c'est si à une observation correspond une ou plusieurs plantes ? Dans la PJ je suis parti de l'hypothèse où une observation = une plante.

Les deux listes déroulantes permettent d'enregistrer l'identifiant de la plante dans le champ identifiant de la table Observations. Une des listes affiche le libellé scientifique et l'autre le nom français. Le choix dans l'une est répercuté dans l'autre dès la sortie de la liste.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Joupi
Fraîchement OOthentifié
Messages : 3
Inscription : 12 mai 2011 04:31

Re: Liste déroulante et remplissage auto

Message par Joupi »

Bonjour,

Désolé pour la réponse tardive, mais j'essayais de comprendre :P

Je devais écrire mon post pendant que tu as envoyé le tien, Jeff, ce qui fait que je n'avais pas vu.
En effet, j'avais vu ce tuto, mais il ne correspondait pas vraiment, ou du moins je n'ai pas compris :oops:

Un grand merci Pierre-Yves pour avoir pris le temps de m'aider.
Ça semble bien correspondre à ce que je souhaitais.
En effet, il y a une plante par observation (une plante par date).

Donc si j'ai bien compris, c'est dans la table "Observation" que je dois mettre tous les champs supplémentaires, comme par exemple "Photographié-Observé-..." ou "Lieu", "Commune",... ?

La table "Plantes", je n'y touche pas, sauf pour y ajouter les noms latin et français ?

Par contre, désolé si je suis boulet, mais j'aime comprendre :D
comment as-tu fais pour que les noms latins et français correspondent quand on rentre un des deux dans le formulaire ?

Et dernière question, désolé : comment afficher l'ensemble, c'est-à-dire "Date, ..., Nom latin, Nom français,... ensemble ?
Je vois bien dans la Table "Observation" l'ID_Plante, mais je n'arrive pas à y faire afficher les noms latin et français.

Idem pour le rapport, ou j'ai la date, ou j'ai le nom latin et français, mais je n'arrive pas à avoir l'ensemble.


Encore merci pour votre aide.
OpenOffice 3.3.0 - Windows XP
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Re: Liste déroulante et remplissage auto

Message par Pierre-Yves Samyn »

Joupi a écrit :Donc si j'ai bien compris, c'est dans la table "Observation" que je dois mettre tous les champs supplémentaires, comme par exemple "Photographié-Observé-..." ou "Lieu", "Commune",... ?
Oui...
Joupi a écrit :La table "Plantes", je n'y touche pas, sauf pour y ajouter les noms latin et français ?
Oui...
Joupi a écrit :Par contre, désolé si je suis boulet, mais j'aime comprendre :D
Ben... c'est plutôt une qualité non... ?
Joupi a écrit :comment as-tu fais pour que les noms latins et français correspondent quand on rentre un des deux dans le formulaire ?
Notre logiciel Base est de type "relationnel" : les tables sont mises en relation deux à deux à l'aide de champs "communs". Le champ identifiant d'une table devra figurer (avec le même type : texte, integer...) également dans "l'autre" table, pour laquelle bien sûr il ne sera pas identifiant.

Dans ton cas la table plantes a son identifiant. On doit faire figurer dans la table Observations un champ de même type permettant de stocker la valeur de la table "de référence", Plantes en l'occurrence.

Exemple concret :

L'observation 1 du 10/05/11 porte sur la plante dont l'identifiant est 2310, on s'arrangera (et le formulaire de saisie est là pour ça) pour stocker 2310 dans la table observation. Dès lors il sera possible de "retrouver" la plante correspondante.

Le formulaire est fondé sur la table Observations. Les deux listes déroulantes sont associées au champ ID_Plante de cette table. Autrement dit, quand on choisit une plante c'est son identifiant qui sera stocké dans le champ ID_Plante de la table Observations (cf. ci-dessus), quelle que soit la liste utilisée.

Quand on sélectionne une plante dans la liste (en français par exemple) le logiciel stocke donc l'identifiant dans le champ... L'autre liste (nom scientifique par exemple) est fondée sur le même champ et prend donc automatiquement la même valeur.
Joupi a écrit :comment afficher l'ensemble, c'est-à-dire "Date, ..., Nom latin, Nom français,... ensemble ?
Je vois bien dans la Table "Observation" l'ID_Plante, mais je n'arrive pas à y faire afficher les noms latin et français.
Par la consultation "directe" de la table Observations ce n'est pas possible en effet. On utilise pour cela une requête (ou une vue dans certains cas spécifiques) qui "met en relation" les tables (cf. PJ).

Si tu veux créer un rapport il faudra le fonder sur la requête
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.