[Résolu] Formulaire mise à jour autre table
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.
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.
-
Ljans
- Fraîchement OOthentifié
- Messages : 4
- Inscription : 22 mai 2021 08:57
[Résolu] Formulaire mise à jour autre table
Bonjour,
J'ai créé une base de données pour la gestion de sachets de graines.
J'ai deux tables principales à savoir la table variété et la table sachets, une variété pouvant être associée à plusieurs sachets.
J'ai un formulaire permettant d'ajouter de nouvelles variétés et un autre pour les nouveaux sachets.
Cependant, lorsque j'enregistre un nouveau sachet juste après avoir créé une nouvelle variété, je ne parviens pas à récupérer l'id_variete (clé primaire de la t_variete) dans le formulaire sachet. Résultat, j'ai bien enregistré mon sachet mais aucun id_variete n'y est associé ce qui me pose problème pour les requêtes.
Je cherche donc à afficher automatiquement l'id_variete correspondant lorsque je sélectionne une variété dans une liste déroulante. Quelqu'un pourrait-il m'aiguiller?
En espérant avoir été suffisamment claire,
Je vous joins le fichier odb, la base de données a été fortement épurée pour l'envoi. Merci d'avance,
Ljans
J'ai créé une base de données pour la gestion de sachets de graines.
J'ai deux tables principales à savoir la table variété et la table sachets, une variété pouvant être associée à plusieurs sachets.
J'ai un formulaire permettant d'ajouter de nouvelles variétés et un autre pour les nouveaux sachets.
Cependant, lorsque j'enregistre un nouveau sachet juste après avoir créé une nouvelle variété, je ne parviens pas à récupérer l'id_variete (clé primaire de la t_variete) dans le formulaire sachet. Résultat, j'ai bien enregistré mon sachet mais aucun id_variete n'y est associé ce qui me pose problème pour les requêtes.
Je cherche donc à afficher automatiquement l'id_variete correspondant lorsque je sélectionne une variété dans une liste déroulante. Quelqu'un pourrait-il m'aiguiller?
En espérant avoir été suffisamment claire,
Je vous joins le fichier odb, la base de données a été fortement épurée pour l'envoi. Merci d'avance,
Ljans
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Ljans le 18 févr. 2023 21:59, modifié 1 fois.
Libreoffice 7.1.2.2
Windows 10 (version 2004)
Windows 10 (version 2004)
-
pulcinopio
- Membre prOOscrit
- Messages : 243
- Inscription : 13 juil. 2022 17:13
Re: Formulaire mise à jour autre table
Salut Ljeans,
Tout d'abord merci pour avoir posté ton fichier. Cela ne court pas les rues dernièrement.
Je joins le fichier fruits secs juste pour te dire qu'il fallait tout simplement une troisième table....
Bien à toi
pulcinopio
Tout d'abord merci pour avoir posté ton fichier. Cela ne court pas les rues dernièrement.
Je joins le fichier fruits secs juste pour te dire qu'il fallait tout simplement une troisième table....
Bien à toi
pulcinopio
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 6.0.4 sur Ubuntu 18.04
-
jeanmimi
- Grand Maître de l'OOffice

- Messages : 17219
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: Formulaire mise à jour autre table
Bonjour,
viewtopic.php?p=249743#p249743
Dans ta Base, j'ai mis à jour les contrôles Zone de liste à la place de Zone Combinée par exemple et modifié les deux formulaires qui vont bien.
J'ai un ajouté un Bouton sur le formulaire de saisie des sachets qui permet d'ouvrir le formulaire de saisie des variétés sans être obligé de fermer celui de la saisie des sachets, avec la Macro Ouvrir par tag :
J'ai ajouté la Macro citée par Piaf dans le fil plus haut :
Il ne te reste plus qu'à tester la Base.
La solution a été donnée ici :
viewtopic.php?p=249743#p249743
Dans ta Base, j'ai mis à jour les contrôles Zone de liste à la place de Zone Combinée par exemple et modifié les deux formulaires qui vont bien.
J'ai un ajouté un Bouton sur le formulaire de saisie des sachets qui permet d'ouvrir le formulaire de saisie des variétés sans être obligé de fermer celui de la saisie des sachets, avec la Macro Ouvrir par tag :
Code : Tout sélectionner
Sub OuvForm(evt As Object)
'*************************************************************************************************
'Lancée par l'appui sur un bouton
' Permet l'ouverture d'un formulaire dont le nom est renseigné dans le champ
' "Complément d'information" du bouton
'=================================================================================================
Dim oForms As Object
Dim sNomForm As String
sNomForm = evt.Source.Model.tag
oForms = ThisComponent.Parent.FormDocuments
IF oForms.hasByName(sNomForm) Then
oForms.getByName(sNomForm).open
Else
MsgBox("Formulaire inconnu : " & sNomForm, 16)
End IF
End Sub
Code : Tout sélectionner
Sub Actualiser(oEv as Object)
oEv.Source.Model.Refresh
End SubVous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 25.8.4 (x64)(23 février 2026)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
jeanmi2403
- SuppOOrter

- Messages : 1485
- Inscription : 18 janv. 2008 09:02
- Localisation : Val de Marne
Re: Formulaire mise à jour autre table
Bonsoir,
Visiblement le modèle de la base n'est pas bon.
Il faudrait avoir une idée du projet avec plus de détails pour structurer la base de manière optimale.
@Pulcinopio : ton formulaire n'est pas optimisé, la liste déroulante doit être placée sur le contrôle du champ concerné.
Cordialement,
Visiblement le modèle de la base n'est pas bon.
Il faudrait avoir une idée du projet avec plus de détails pour structurer la base de manière optimale.
@Pulcinopio : ton formulaire n'est pas optimisé, la liste déroulante doit être placée sur le contrôle du champ concerné.
Cordialement,
Jean-Michel
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
-
pulcinopio
- Membre prOOscrit
- Messages : 243
- Inscription : 13 juil. 2022 17:13
Re: Formulaire mise à jour autre table
Merci Jean-Michel,
J'ai essayé d'améliorer mon formulaire espérant avoir compris tes indications.
Bien à vous
pulcinopio
J'ai essayé d'améliorer mon formulaire espérant avoir compris tes indications.
Bien à vous
pulcinopio
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 6.0.4 sur Ubuntu 18.04
-
micmac
- RespOOnsable forum

- Messages : 10105
- Inscription : 28 août 2010 08:45
Re: Formulaire mise à jour autre table
pulcinopio, le forum est très clair : la règle n° 7
stipule que Un sujet = le problème d'une seule personne .
Vous ne devez pas poser une question dans le fil d'un autre. Celle-ci ne fait qu'interférer et les réponses éventuellement postées ne feront qu'embrouiller la lecture du problème initial.
Merci de cesser d'intervenir dans le fil de discussion d'autres personnes pour des questions personnelles.
Si vous avez des questions à poser vous devez ouvrir un nouveau sujet pour votre question en rappelant que vous avez le même problème que dans ce fil.
stipule que Un sujet = le problème d'une seule personne .
Vous ne devez pas poser une question dans le fil d'un autre. Celle-ci ne fait qu'interférer et les réponses éventuellement postées ne feront qu'embrouiller la lecture du problème initial.
Merci de cesser d'intervenir dans le fil de discussion d'autres personnes pour des questions personnelles.
Si vous avez des questions à poser vous devez ouvrir un nouveau sujet pour votre question en rappelant que vous avez le même problème que dans ce fil.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
-
jeanmi2403
- SuppOOrter

- Messages : 1485
- Inscription : 18 janv. 2008 09:02
- Localisation : Val de Marne
Re: Formulaire mise à jour autre table
Bonjour,
De saines lectures pour construire une base de données : Les Guides officiels
Je répète, tant qu'on n'est pas fixés sur la finalité du projet, on pense dans le vide.pulcinopio a écrit : ↑18 févr. 2023 03:36 J'ai essayé d'améliorer mon formulaire espérant avoir compris tes indications.
De saines lectures pour construire une base de données : Les Guides officiels
Jean-Michel
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
-
Ljans
- Fraîchement OOthentifié
- Messages : 4
- Inscription : 22 mai 2021 08:57
Re: Formulaire mise à jour autre table
Bonjour,
Merci pour votre réactivité et vos réponses! En effet ma BDD n'est peut être pas optimisée, je débute et j'essaie de me débrouiller comme je peux ^^
L'idée de cette base de donnée est de faciliter la gestion des sachets de graines et les plantations associées. A ce jour j'ai plus de 300 variétés et presque 400 sachets.
L'utilisation se fait à la fois par l'entrée sachet et par l'entrée variétés. Sur chaque sachet est noté son numéro (id_sachet). Voici quelques exemples d'utilisation de la BDD à travers les requêtes : qu'est ce qu'on plante ce mois ci, quels sont les sachets qui périment cette année, quels sachets sont vides ? etc
Je vous ai fourni qu'un "aperçu" de la base de données, ciblant mon problème, car le fichier était trop volumineux (je ne sais pas trop pourquoi..)
J'ai bien lu vos réponses et j'ai tenté d'exécuter les macros mais cela ne fonctionne pas.
pulcinopio : je ne comprends pas pourquoi il manquerait une tierce table ?
jeanmimi : ce n'est peut être pas le plus simple mais j'avais contourné la macro d'actualisation avec un bouton sur mon formulaire saisie_sachet. Ceci me permets d'avoir la dernière variété rentrée mais pas d'afficher son numéro. D'ailleurs quand je teste ta macro cela ne fonctionne pas, j'ai le message d'erreur suivant : Pour illustrer le problème, j'ai entré une nouvelle variété "fraises" dans mon formulaire f_saisie_variete. Lorsque je rebascule sur le formulaire f_saisie_sachet, je réactualise avec le bouton "rafraichir", je sélectionne "fraises" dans ma liste déroulante "nom variété" mais le numéro de variété correspondant ne s'affiche pas automatiquement, je suis obligée de le saisir manuellement. Pourtant il s'agit du champ commun à toutes mes tables, ce qui me posera problème par la suite lors des requêtes. Je continue de chercher de mon côté mais si jamais vous avez d'autres pistes je suis preneuse!
Bien à vous,
Ljans
Merci pour votre réactivité et vos réponses! En effet ma BDD n'est peut être pas optimisée, je débute et j'essaie de me débrouiller comme je peux ^^
L'idée de cette base de donnée est de faciliter la gestion des sachets de graines et les plantations associées. A ce jour j'ai plus de 300 variétés et presque 400 sachets.
L'utilisation se fait à la fois par l'entrée sachet et par l'entrée variétés. Sur chaque sachet est noté son numéro (id_sachet). Voici quelques exemples d'utilisation de la BDD à travers les requêtes : qu'est ce qu'on plante ce mois ci, quels sont les sachets qui périment cette année, quels sachets sont vides ? etc
Je vous ai fourni qu'un "aperçu" de la base de données, ciblant mon problème, car le fichier était trop volumineux (je ne sais pas trop pourquoi..)
J'ai bien lu vos réponses et j'ai tenté d'exécuter les macros mais cela ne fonctionne pas.
pulcinopio : je ne comprends pas pourquoi il manquerait une tierce table ?
jeanmimi : ce n'est peut être pas le plus simple mais j'avais contourné la macro d'actualisation avec un bouton sur mon formulaire saisie_sachet. Ceci me permets d'avoir la dernière variété rentrée mais pas d'afficher son numéro. D'ailleurs quand je teste ta macro cela ne fonctionne pas, j'ai le message d'erreur suivant : Pour illustrer le problème, j'ai entré une nouvelle variété "fraises" dans mon formulaire f_saisie_variete. Lorsque je rebascule sur le formulaire f_saisie_sachet, je réactualise avec le bouton "rafraichir", je sélectionne "fraises" dans ma liste déroulante "nom variété" mais le numéro de variété correspondant ne s'affiche pas automatiquement, je suis obligée de le saisir manuellement. Pourtant il s'agit du champ commun à toutes mes tables, ce qui me posera problème par la suite lors des requêtes. Je continue de chercher de mon côté mais si jamais vous avez d'autres pistes je suis preneuse!
Bien à vous,
Ljans
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libreoffice 7.1.2.2
Windows 10 (version 2004)
Windows 10 (version 2004)
-
jeanmi2403
- SuppOOrter

- Messages : 1485
- Inscription : 18 janv. 2008 09:02
- Localisation : Val de Marne
Re: Formulaire mise à jour autre table
Rebonjour,
Eh bien voilà ! Comme je le soupçonnais, nous sommes (une fois de plus) devant un Problème XY.
Je vois dans la dernière copie d'écran, tout un tas de choses dont on n'avait pas idée, et aussi des choses qui semblent redondantes.
Entre autres, le nombre de boutons "Valider" me paraît excessif
Donc, il faut préciser quelles sont les données de départ, et ce à quoi on doit aboutir, de manière à structurer les données de manière cohérente pour l'obtention du (des) résultat souhaité.
En un mot, décrire ton travail et écrire un cahier des charges...
On peut bien sûr aider pour ça.
Cordialement
Eh bien voilà ! Comme je le soupçonnais, nous sommes (une fois de plus) devant un Problème XY.
Je vois dans la dernière copie d'écran, tout un tas de choses dont on n'avait pas idée, et aussi des choses qui semblent redondantes.
Entre autres, le nombre de boutons "Valider" me paraît excessif
Donc, il faut préciser quelles sont les données de départ, et ce à quoi on doit aboutir, de manière à structurer les données de manière cohérente pour l'obtention du (des) résultat souhaité.
En un mot, décrire ton travail et écrire un cahier des charges...
On peut bien sûr aider pour ça.
Cordialement
Jean-Michel
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
-
jeanmimi
- Grand Maître de l'OOffice

- Messages : 17219
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: Formulaire mise à jour autre table
J'avais bien sûr testé la Macro avant de mettre la Base en ligne.
Par contre, il faut que tu l'enregistres sur ton PC avant de pouvoir faire fonctionner la Macro.
Si le contrôle Zone de liste est correctement paramétré pour afficher la commande SQL, le numéro ID est automatiquement enregistré dans la Table :
Code : Tout sélectionner
"SELECT "nom_variete", "id_variete" FROM "T_varietes" ORDER BY "nom_variete" ASC"| Ajout : Des projets identiques ou ressemblants ont été postés dans le forum : search.php?st=0&sk=t&sd=d&sr=topics&key ... d%5B%5D=26 |
Dernière modification par jeanmimi le 18 févr. 2023 19:58, modifié 2 fois.
LibreOffice : Version : 25.8.4 (x64)(23 février 2026)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
jeanmi2403
- SuppOOrter

- Messages : 1485
- Inscription : 18 janv. 2008 09:02
- Localisation : Val de Marne
Re: Formulaire mise à jour autre table
Bonsoir,
Le problème est très certainement dans la construction des contrôles Zone de liste, avec la requête SQL et le champ lié.
Il va falloir faire un cours détaillé pour adapter à ton problème...
A plus,
Le problème est très certainement dans la construction des contrôles Zone de liste, avec la requête SQL et le champ lié.
Il va falloir faire un cours détaillé pour adapter à ton problème...
A plus,
Dernière modification par jeanmi2403 le 19 févr. 2023 12:33, modifié 2 fois.
Jean-Michel
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
-
Ljans
- Fraîchement OOthentifié
- Messages : 4
- Inscription : 22 mai 2021 08:57
Re: Formulaire mise à jour autre table
Rebonjour,
C'est bon, le problème est résolu ! Il s'agissait effectivement d'un problème de paramétrage du contrôle de zone de liste. Je confondais "champs de données" et "contenu de liste"... J'avais rentré nom_variete au lieu de id_variete pour le champs de données...
En revanche je ne parviens toujours pas à exécuter les macros, mais je vais persévérer !
Un grand merci pour votre aide !
Ljans
C'est bon, le problème est résolu ! Il s'agissait effectivement d'un problème de paramétrage du contrôle de zone de liste. Je confondais "champs de données" et "contenu de liste"... J'avais rentré nom_variete au lieu de id_variete pour le champs de données...
En revanche je ne parviens toujours pas à exécuter les macros, mais je vais persévérer !
Un grand merci pour votre aide !
Ljans
Libreoffice 7.1.2.2
Windows 10 (version 2004)
Windows 10 (version 2004)
-
Oukcha
- RespOOnsable modération

- Messages : 4343
- Inscription : 06 oct. 2008 08:03
Re: Formulaire mise à jour autre table
Bonjour,
Merci d'appliquer le balisage dans le premier message du fil de discussion, en ajoutant l'icône
et en tapant [Résolu] (respectez la graphie donnée) comme illustré ci-dessous :

Cordialement
Merci d'appliquer le balisage dans le premier message du fil de discussion, en ajoutant l'icône
Cordialement