Bonjour,
J'ai un formulaire avec 7 champs numériques, les 6 premiers champs je les renseigne manuellement, le 7e champ est la la somme des 6 autres renseigné par une formule, j'ai aussi ajouter un bouton "Enregistrer".
Je précise que tous mes champs sont liés à ma table via la propriété "Données" > champ de données.
J'ai lié au bouton "Enregistrer" dans les propriété général l'action " enregistrer l'enregistrement actif.
Lorsque j'appuie sur le bouton "Enregistrer" ma table se mets à jour à l'exception du "Champ numérique" renseigner par une formule ?
Est-ce que vous pouvez m'aider.
Merci
[Résolu] Enregistrement de champ numérique calculer automatiquement
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.
-
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 10 févr. 2024 09:16
[Résolu] Enregistrement de champ numérique calculer automatiquement
Dernière modification par GJPierre le 12 févr. 2024 10:22, modifié 2 fois.
Libre Office version 7.6.4.1 (X86_64) sous Windows 10
-
- RespOOnsable forum
- Messages : 9258
- Inscription : 28 août 2010 08:45
Re: Enregistrement de champ numérique calculer automatiquement
Bonjour et bienvenue sur le forum,
Joindre un fichier facilite le travail des bénévoles et peut s'avérer fort utile pour obtenir une solution adaptée.
Comment joindre un fichier.
Veillez également à dépersonnaliser votre fichier.
.
Joindre un fichier facilite le travail des bénévoles et peut s'avérer fort utile pour obtenir une solution adaptée.
Comment joindre un fichier.
Veillez également à dépersonnaliser votre fichier.
.
Afin de profiter des dernières améliorations, pensez à être à jour de la dernière version officielle stableDans votre signature il y a écrit :
Libre Office version 7.5.3.2 sous Windows 10
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
-
- Grand Maître de l'OOffice
- Messages : 16960
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: Enregistrement de champ numérique calculer automatiquement
Bonjour,
C'est possible, sans Macro, en faisant faire le calcul dans une Requête et en affichant le résultat dans un sous-formulaire (SubForm) en relation avec le Formulaire (MainForm) principal.
Il y a plusieurs exemples dans le forum, comme ici :
https://forum.openoffice.org//fr/forum/ ... 75#p356775
C'est possible, sans Macro, en faisant faire le calcul dans une Requête et en affichant le résultat dans un sous-formulaire (SubForm) en relation avec le Formulaire (MainForm) principal.
Il y a plusieurs exemples dans le forum, comme ici :
https://forum.openoffice.org//fr/forum/ ... 75#p356775
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 10 févr. 2024 09:16
Re: Enregistrement de champ numérique calculer automatiquement
Le calcul se fait correctement, selon cette macro
seulement quand j'enregistre ces données dans ma table, le champ9 ne s'enregistre pas ?
Code : Tout sélectionner
Sub SommeDesChamps
Dim Form As Object
Dim Field1 As Object
Dim Field2 As Object
Dim Field3 As Object
Dim Field4 As Object
Dim Field5 As Object
Dim Field6 As Object
Dim Field7 As Object
Dim Field8 As Object
Dim SumField As Object
Dim Total As String
Form = ThisComponent.DrawPage.Forms.getByName("MonFormulaire")
Field1 = Form.getByName("Champ1")
Field2 = Form.getByName("Champ2")
Field3 = Form.getByName("Champ3")
Field4 = Form.getByName("Champ4")
Field5 = Form.getByName("Champ5")
Field6 = Form.getByName("Champ6")
Field7 = Form.getByName("Champ7")
Field8 = Form.getByName("Champ8")
SumField = Form.getByName("Champ9")
Total = Field1.Value + Field2.Value + Field3.Value + Field4.Value + Field5.Value + Field6.Value + Field7.Value + Field8.Value
SumField.value =Total
End Sub
Dernière modification par micmac le 12 févr. 2024 09:16, modifié 1 fois.
Raison : Code balisé pour faciliter la lecture
Raison : Code balisé pour faciliter la lecture
Libre Office version 7.6.4.1 (X86_64) sous Windows 10
-
- RespOOnsable forum
- Messages : 9258
- Inscription : 28 août 2010 08:45
Re: Enregistrement de champ numérique calculer automatiquement
Bonjour,
Bis repetita
Bis repetita
micmac a écrit : ↑10 févr. 2024 09:40 Comment joindre un fichier.
Veillez également à dépersonnaliser votre fichier.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
-
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 10 févr. 2024 09:16
Re: Enregistrement de champ numérique calculer automatiquement
Bonjour,
Vous trouverez ci-joint une copie de ma base de donnée.
Bonnes salutations
Vous trouverez ci-joint une copie de ma base de donnée.
Bonnes salutations
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office version 7.6.4.1 (X86_64) sous Windows 10
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: Enregistrement de champ numérique calculer automatiquement
Salut,
Comme l'indique jeanmimi, on ne stocke jamais d'informations calculées.
Ce que tu cherches à faire est contre-productif dans une base de données.
Tu n'as qu'une seule table dans ton ODB. Je ne vois pas l'intérêt d'utiliser Base dans ce cas.
Une feuille de calcul suffit d'autant que c'est pour faire un tirage de loto.
Je ne vois pas dans ton code, un quelconque commit pour faire cette action d'enregistrement.
Comme l'indique jeanmimi, on ne stocke jamais d'informations calculées.
Ce que tu cherches à faire est contre-productif dans une base de données.
Tu n'as qu'une seule table dans ton ODB. Je ne vois pas l'intérêt d'utiliser Base dans ce cas.
Une feuille de calcul suffit d'autant que c'est pour faire un tirage de loto.
Les questions sur les macros se postent dans la bonne section (cf. bandeau rouge en haut de la page).
Je ne vois pas dans ton code, un quelconque commit pour faire cette action d'enregistrement.