Bonjour,
J'ai fait une base de données des oeuvres d'un peintre sous Access qui fonctionne et je souhaite la transposer sous LibreOfficeBase.
Il y a une Table et un Formulaire principal. Un dossier de photos est dans le même dossier que la base de données.
Le formulaire dans Base fonctionne avec sa barre de navigation.
Comme il faut importer une photo pour chaque enregistrement, je rajoute des boutons de navigation dans le formulaire.
Dans le formulaire de Base j'ai mis le Bouton pour avoir l'enregistrement Suivant, auquel est associé la 3e MACRO ci-après. Elle ne fonctionne pas et j'ai le message "Erreur 1501 pas de connexion active trouvée dans un appel à GoToRecord".

J'ai un problème avec les MACROS en Basic avec la bibliothèque Access2Base. Je suis sous W10(64) et LibreOffice 6.4.2.
Comme cela fonctionne avec VBA Access je pensais (c'est fait pour cela) qu'avec Access2Base ce serait plus facile qu'avec Basic seul et Uno.

Si quelqu'un a des idées pour faire avancer le sujet, je l'en remercie d'avance.

Et bon courage à tous.

Les 3 Macros suivantes sont dans le même module associé au document base de données.
La 1ère devrait être en tête pour annoncé l'utilisation de la bibliothèque Access2Base.
La 2e est pour ouvrir un formulaire de titre "Accueil" à l'ouverture de la base et ne pose pas de problème.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub DBOpen(Optional poEvent As Object)
	If GlobalScope.BasicLibraries.hasByName("Access2Base") Then
		GlobalScope.BasicLibraries.loadLibrary("Access2Base")
	End If
	Call Application.OpenConnection(ThisDatabaseDocument)
End Sub
 
Sub OuvrirAccueil
   Dim  F_Accueil  as  Object
   ThisDatabaseDocument.CurrentController.connect()
       maConnexion = ThisDatabasedocument.CurrentController.ActiveConnection
   ThisDatabaseDocument.FormDocuments.getByName( "F_Accueil" ).open
 
 End Sub
 
 Sub EnrSuivant
    ThisDatabaseDocument.CurrentController.connect()
       maConnexion = ThisDatabasedocument.CurrentController.ActiveConnection
    Access2Base.DoCmd.GotoRecord ( , , acnext, )
  End Sub