Bonsoir,
Il faut considérer que la base n'est pas ouverte, il va donc falloir
ouvrir la connexion. Je te transmets ce que j'ai fait (fonctionnel !) en
adaptant le code fourni par Pierre-Yves Samyn sur Ask.Libreoffice.
Car le code que j'avais fait avec
oConnexion.Parent.DatabaseDocument.formDocuments.getByName("FichePerso").Open
Ne fonctionne pas, le système me dit qu'il n'y a pas de connexion à la
base de données !!!
Si quelqu'un a une idée ?
Il suffira d'adapter les noms de fichier et de formulaire
--------------------------------------
global oConnexion as object
sub OuvrirFormulaire()
dim oForms as object, oForm as object
dim oParamFichier(2) as new com.sun.star.beans.PropertyValue
oConnexion = ConnecterSource
oForms = oConnexion.Parent.DataBaseDocument.FormDocuments
oParamFichier(0).Name = "ActiveConnection"
oParamFichier(0).Value = oConnexion
oParamFichier(1).Name = "OpenMode"
oParamFichier(1).Value = "open"
oForm = oForms.loadComponentFromURL("FichePerso", "", 0, oParamFichier())
oForm.CurrentController.Frame.ContainerWindow.toFront
end sub
Function ConnecterSource()
Dim sNomSource As String, sLogin As String, sPassword As String
Dim oSource As Object, oDbContext As Object
sNomSource = ConvertToURL
("I:\TrvOpen\Projets\Dépannage-Forum\Bases\BD-Exemple.odb")
oDbContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oSource = oDbContext.getByName(sNomSource)
sLogin = ""
sPassword = ""
oConnexion = oSource.getConnection(sLogin, sPassword)
if IsNull(oConnexion) then
MsgBox("Connexion impossible", 16)
Stop
end if
ConnecterSource = oConnexion
End Function
-----------------------------------------------------
Le 28/08/2025 à 20:04, Claude Sarcey a écrit :
Bonjour,
Je suis sur Mac avec Séquoia 15.6.1.
J’ai développé une base données qui fonctionne plutôt bien avec LibreOffice 25.2.3.2 (AARCH64).
Ma base est essentiellement constituée de requêtes et de formulaires.
J’ai formulaire « menu » qui fait office de menu 😂. Quand j’exécute ce formulaire, tout se passe
bien, le menu apparaît et j’ai accès à tout ce qu’il me propose.
J’ai souhaité qu’à l’ouverture de la base, le menu se lance automatiquement.
Pour ce faire je suis allé dans outils/personnaliser
Onglet : Événements
Choix macro : ouvrir-menu
Contenu de la macro :
Sub ouvrir_menu
const FormulaireAouvrir ="Menu"
ThisDatabaseDocument.FormDocuments.getbyname(FormulaireAouvrir).open
End Sub
Quand je lance ma base en double cliquant sur son nom dans l’explorateur, j’ai 2 erreurs :
La première en forme de pop up : Récupération de document LibreOffice 25.2
En raison d’une erreur, LibreOffice a planté. Tous les fichiers sur lesquels vous travaillez vont
être enregistrés. La prochaine fois que LibreOffice sera lancé, les fichiers seront automatiquement
récupérés.
Quand je fais OK (seule possibilité), seconde erreur :
Même titre que la première : je peux sélectionner le nom de ma base et cliquer sur « récupérer la
sélection ».
Ma base se lance sans afficher le menu.
Si quelqu’un a une idée je suis preneur.
Merci d’avance.
Claude Sarcey-,
Envoyé de mon GSM.
--
Jean-Michel COSTE
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.