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 à [email protected] pour vous désinscrire
Les archives de la liste sont disponibles à
https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy