[Résolu][Base] Sauvegarder avant de fermer l'appli

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Mong38
Fraîchement OOthentifié
Messages : 3
Inscription : 31 janv. 2024 08:42

[Résolu][Base] Sauvegarder avant de fermer l'appli

Message par Mong38 »

Bonjour,
J'ai créé une petite appli avec un formulaire menu qui ouvre divers formulaires de saisie, rapports et mises à jour de données. J'ai ajouté un bouton pour fermer le menu et revenir à Base. Pour éviter à l'utilisateur des manips risquées (et à moi des heures de réparation) je veux aussi un bouton pour fermer complètement, et l'appli et Libre Office.

J'ai donc associé une macro avec l'instruction ThisDatabaseDocument.close(True) à mon bouton. Ça ferme bien, mais sans sauvegarder les éventuelles modifs de présentation ou de structure. Il y a sûrement un truc... que je n'ai pas trouvé.
Merci de m'éclairer
Dernière modification par Mong38 le 15 févr. 2024 08:38, modifié 1 fois.
Libre Office 7.6.2 sur Windows 10 Professionnel 64 bits
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10152
Inscription : 28 août 2010 08:45

Re: [Base] Sauvegarder avant de fermer l'appli

Message par micmac »

Bonjour,

Pour être aidé efficacement par les bénévoles de ce forum, veuillez fournir les éléments suivants :
1. publier le code de la macro exposant le problème
2. joindre votre base : Comment joindre un fichier. Pensez à dépersonnaliser le fichier à joindre.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Jeff
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 10038
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: [Base] Sauvegarder avant de fermer l'appli

Message par Jeff »

Bonjour et bienvenue,

À tout hasard, en l'absence de fichier joint : viewtopic.php?t=61779&hilit=ThisDatabaseDocument+close

Lire le fil jusqu'au bout, y'a une correction à effectuer.

A +
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.16 / Debian 13 "Trixie" / Xfce
AOO 4.1.15 / Debian 11 "Bullseye" / Cinnamon
Mong38
Fraîchement OOthentifié
Messages : 3
Inscription : 31 janv. 2024 08:42

Re: [Base] Sauvegarder avant de fermer l'appli

Message par Mong38 »

Merci, mais il n'a pas vraiment de code à montrer: la macro de fermeture ne comprend pour l'instant que cette seule instruction ThisDatabaseDocument.close(True).

Et si la base est bien fermée, les modifications éventuelles apportées aux formulaires, requêtes et autres objets ne sont pas sauvegardées. Il faudrait au moins que Libre Office demande, ou bien insérer une instruction de sauvegarde avant la fermeture. Pour dire autrement: quel serait l'équivalent ooBasic de la méthode save en VB, qui enregistrerait la totalité de la base?
Libre Office 7.6.2 sur Windows 10 Professionnel 64 bits
Mong38
Fraîchement OOthentifié
Messages : 3
Inscription : 31 janv. 2024 08:42

Re: [Base] Sauvegarder avant de fermer l'appli

Message par Mong38 »

Ok autant pour moi, la réponse était trop simple, je cherchais avec les mauvais mots-clefs. Voici donc le code tout bête pour sauvegarder puis fermer.

Code : Tout sélectionner

Sub FermetureBase
	Fermer_form_menu
	With ThisDatabaseDocument
		.store
		.close(True)
	End with
End Sub 
Merci pour votre attention, lorsque mon projet sera raisonnablement fini je le partagerai volontiers en entier.
Libre Office 7.6.2 sur Windows 10 Professionnel 64 bits