[Résolu] Enregistrement des modifications dans un formulaire

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.
Jean-Baptiste
NOOuvel adepte
NOOuvel adepte
Messages : 15
Inscription : 29 juin 2007 09:41

[Résolu] Enregistrement des modifications dans un formulaire

Message par Jean-Baptiste »

Voici mon problème, le même que dans ce fil:http://user.services.openoffice.org/fr/ ... c3586.html



Bonjour,



J'ai un formulaire externe; à partir de celui-ci, j'accède à mes formulaires de la base par macro; je peux faire mes modifications et tout ce que je veux; je quitte ensuite manuellement tout en enregistrant (par bouton enregistrer ou en cliquant sur la croix puis enregistrer).

Je peux fermer mes documents (base, formulaire, formulaire externe), et les ré-ouvrir, tout se passe bien)

Cependant, dès le moment où je quitte le démarrage rapide, toutes mes modifictions sont perdues...

De la même façon que D-MoNs, si je visualise une table de ma base de données après avoir fait mes modifs, alors la tout est enregistré définitivement...




J'ai la version 2.2, donc le problème ne doit pas venir de là.

Existe-t-il une commande à mettre dans mes macros pour enregistrer correctement?


Merci
Dernière modification par Jean-Baptiste le 24 juil. 2007 13:38, modifié 1 fois.
2.2.1 sous Windows XP
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Message par Dude »

On va pas critiquer le démarrage rapide mais as-tu essayé de le désactiver pour voir ?
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Jean-Baptiste
NOOuvel adepte
NOOuvel adepte
Messages : 15
Inscription : 29 juin 2007 09:41

Message par Jean-Baptiste »

Oui, j'ai essayé (Il n'était pas activé et je l'ai fait pour tester)

En fait: lorsqu'il n'est pas lancé, dès que je quitte ma base de données et mon formulaire externe, je perds mes modifs (sauf si entre temps, j'ai visualisé une table). En fait, j'ai l'impression que les modifications sont enregistrées quelque part dans openoffice, mais que dès que je quitte tout (y compris le démarrage rapide) elles disparaissent.
2.2.1 sous Windows XP
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Message par Dude »

C'est quoi le format de la base ? Elle est en local, en réseau ?
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Jean-Baptiste
NOOuvel adepte
NOOuvel adepte
Messages : 15
Inscription : 29 juin 2007 09:41

Message par Jean-Baptiste »

Non non, je travaille seulement sur mon ordinateur, même si elle est destinée à être utilisée en réseau plus tard. J'utilise le moteur HSQL.



Edit:

Quand je dis que les modifications sont enregistrées définitivement après avoir visualisé une table ou un autre formulaire, cela ne fonctionne que si je l'ouvre manuellement (et non par bouton+macro)
2.2.1 sous Windows XP
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Message par Dude »

Jean-Baptiste a écrit :cela ne fonctionne que si je l'ouvre manuellement (et non par bouton+macro)
Ca veut dire quoi ? Que ton formulaire fonctionne avec des macros pour la gestion SQL ? Dans ce cas, il doit te manquer un commit quelque part pour forcer l'enregistrement.
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Jean-Baptiste
NOOuvel adepte
NOOuvel adepte
Messages : 15
Inscription : 29 juin 2007 09:41

Message par Jean-Baptiste »

En effet, j'ai utilisé l'instruction commit, et ça a l'air de fonctionner: elle sert à forcer l'enregistrement si j'ai bien compris?

Par contre, je ne sais pas trop comment l'utiliser:
Pour tester, j'ai fait:

Code : Tout sélectionner

Sub sauvegarder
url = ConvertToURL("C:\Suivi.odb")
Doc = StarDesktop.LoadComponentFromURL(url,"_blank,0,Array())
Forms = Doc.GetFormDocuments()

Forms.commit()

End Sub

Cependant, le LoadComponentFromURL fait qu'au moment de la sauvegarde de Suivi.odb, la base de données s'ouvre, ce qui n'est pas nécessaire... Est-ce que j'ai un autre moyen?
2.2.1 sous Windows XP
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26195
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Message par Dude »

Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Jean-Baptiste
NOOuvel adepte
NOOuvel adepte
Messages : 15
Inscription : 29 juin 2007 09:41

Message par Jean-Baptiste »

Désolé, je me suis emporté.......

La suite ici: http://user.services.openoffice.org/fr/ ... c5949.html.
2.2.1 sous Windows XP