Je travaille sur une base de données avec LibreOffice Base 7.6.
En suivant divers tutos et posts, j'ai réussi à mettre en oeuvre ma base et mes données.
J'ai ensuite créé mes formulaires pour faciliter la saisie des données. Et j'ai inséré des boutons depuis un formulaire MENU pour accéder aux autres formulaires. Tout cela fonctionne à merveille (chapeau aux devs pour leur travail
Cependant, du fait de mon manque de connaissance, je ne parviens pas à ouvrir mes formulaires "de saisie" sur un nouvel enregistrement (il m'affiche systématiquement le premier de la table. Comment procéder ?
Bien-sûr avant de poster ce message, j'ai cherché sur le forum et dans différentes documentations disponible, sans résultat (les posts glanés sur ce forum datent de 2008 (viewtopic.php?t=10739) et 2010 (viewtopic.php?t=26120), mais les codes proposés ne semblent pas fonctionner sur ma version de LibreOffice
Merci pour votre aide et votre compréhension.
EDIT : Pour exemple, voici une base 'basique' en version 'locale' avec une table et deux formulaires : Cependant, pour l'utiliser, il vous faudra la version 2.7.2 de HSQLDB https://hsqldb.org/... (infos de config plus bas)
Et la même base en version 'intégrée' (CF échanges plus bas) :
SOLUTION FINALE :
Si toutefois certains pouvaient avoir besoin, voici la macro qui semble fonctionner :Elle est utilisée dans la base de données de test suivante : Merci à tous pour votre aide précieuse pour arriver à ce résultat !Code : Tout sélectionner
Sub Ouvrir_Type'[nomMacro] const FormAOuvrir ="Form-Type"'[nomFormulaire-àouvrir] const FormAFermer ="MENU"'[nomFormulaire-àfermer] oForms = ThisDatabaseDocument.FormDocuments Lien = oForms.getbyname(FormAOuvrir).open 'issue du suprême https://forum.openoffice.org/fr/forum/viewtopic.php?p=178282#p178282 oForm = Lien.DrawPage.Forms.getByName("MainForm")'[nom"sous"Formulaire] 'attend que le formulaire soit chargé Do while oForm.isLoaded = false Loop wait 100 '[attente en ms] with oForm .last .moveToInsertRow End with bRet = oForms.getByName(FormAFermer).close End Sub




