Boutons enregistrement inactif dans sous formulaires

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.
nogaro
Membre lOOyal
Membre lOOyal
Messages : 41
Inscription : 05 oct. 2008 13:15

Boutons enregistrement inactif dans sous formulaires

Message par nogaro »

Bonjour à tous,
Suite à ma question précédente sur la mise à jour de données numériques via un sous-formulaire à laquelle jeanmimi m'a répondu efficacement,
La modération vous a écrit: Ce lien : https://forum.openoffice.org/fr/forum/v ... 46#p318046

il me reste tout de même une question obsédante : Voici une nouvelle base de données (jointe à ce post) où il est à nouveau question d'une gestion de stock. Des techniciens peuvent prélever des milieux de culture dans un stock et j'aimerais que le stock soit mis à jour au fil de ces prélèvements. Pour ce faire j'ai créé une requête qui me permet de calculer la différence entre un stock initial et ce qui est prélevé à un moment donné par un technicien.
- Dans un premier formulaire, le stock prélevé à un moment donné est enregistré dans une table temporaire (TEMP) via un sous formulaire MAIS premier problème, le bouton d'enregistrement n'est pas actif et rien n'est donc enregistré dans la table temporaire !
- Depuis ce formulaire une macro permet d'ouvrir un second formulaire qui lui affiche les résultats de la requête basée sur la table temporaire qui me permet de calculer la différence entre le stock initial et ce qui a été prélevé (malheureusement comme la table temporaire est vide car le bouton enregistrement n'est pas actif... cela ne marche pas) et un sous formulaire permet nomalement de corriger le stock de la table MILIEU avec le résultat de la requête, MAIS La encore il est impossible d'enregistrer la modification.

Je me doute que l'inactivité de ces boutons ou barre d'enregistrment n'est pas un bug mais vraisemblablement lié à un problème structural. Mais je ne vois pas et tout réponse sera la bienvenue :-)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Oukcha le 15 oct. 2018 13:40, modifié 1 fois.
Raison : Titre corrigé
Libre Office 6.0.3.2 sous Linux Mint 19
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Boutons d'enregistrment inactifs dans les sous formulair

Message par jeanmimi »

Bonjour,
nogaro a écrit :- Dans un premier formulaire, le stock prélevé à un moment donné est enregistré dans une table temporaire (TEMP) via un sous formulaire MAIS premier problème, le bouton d'enregistrement n'est pas actif et rien n'est donc enregistré dans la table temporaire !
Comment la Table TEMP entre-t-elle en Relation avec les autres Tables ?
Absence de relation.png
Puis, pourquoi choisir des Tables avec des clés primaires de Type TEXTE alors que les clés primaires de Type INTEGER sont à la fois mieux gérées par le Code SQL et moins consommatrices d'octets ?
Relations par INTEGER.png
Mais je n'ai pas trouvé l'utilité de la Table TEMP.
Point positif à souligner : les noms des champs sont sans espaces et sans accents.
 Ajout : Par contre, mettre les photos des membres du Labo dans une Table de la Base est généralement considéré ici comme une mauvaise idée, car le risque de plantage est augmenté. 
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
nogaro
Membre lOOyal
Membre lOOyal
Messages : 41
Inscription : 05 oct. 2008 13:15

Re: Boutons d'enregistrment inactifs dans les sous formulair

Message par nogaro »

Merci jeanmimi pour ces bonnes remarques. La table temporaire servait à fournir une entrée à la requête affichée dans le formulaire d'actualisation.

Mais si je me reporte à la réponse que tu m'avais fournie sur un fil précédent (https://forum.openoffice.org/fr/forum/v ... =9&t=58839) la base pourrait en effet devenir de manière plus simple celle attachée à ce post avec entrée et sortie et l'état du stock uniquement affichée par une requête. En revanche, je ne suis pas arrivé à insérer une table STOCK INITIAL puisque pour moi le stock initial retombe toujours sur un système ou il apparait dans la table du milieu ou du produit... mais en ai-je réellement besoin ?
[EDITION] je n'avais pas posté la bonne version de la base, voila qui est fait.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 6.0.3.2 sous Linux Mint 19
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Boutons d'enregistrment inactifs dans les sous formulair

Message par jeanmimi »

nogaro a écrit :La table temporaire servait à fournir une entrée à la requête affichée dans le formulaire d'actualisation.
La méthode à utiliser est différente.
Pour avoir l’affichage des résultats d'une requête, il faut créer un Sous-Formulaire, bien sur avec un champ relié à un champ du formulaire hiérarchiquement supérieur.
Pour la mise à jour de l'affichage de la requête; il y a deux façons de procéder (illustrées dans le forum) :
- une Macro récupérant les valeurs de la requête, mises à jour par les nouvelles données entrées
- ou, sans Macro, un bouton dont l'Action est : Rafraichir le formulaire
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox