Suite ...
Si le formulaire (doc writer) est externe à la base de données, voici un
moyen de récupérer l'adresse de la source de données :
Sub urlBaseOutForm
Dim oDoc As Object, oDrawPage As Object, oForm As Object
Dim oSource As String, oBaseContext As Object, oTheDB As Object
Dim sTheURL As String, sMsg As String
oDoc = ThisComponent
'on recupere les formulaires du doc
oDrawPage = oDoc.getDrawPage
If oDrawPage.hasElements() Then
'ici pour exemple, on admet que c'est le premier formulaire
'qui est lie a la source de donnees
'sinon on bouclerait a la recherche dans les forms
'd'une source de données
oForm = oDoc.getDrawPage.Forms.getByIndex(0)
oSource = oForm.DataSourceName
MsgBox "Source de données = " & oSource
'apres recuperation du nom de la source, on recherche la connexion
'qui y correspond dans celles qui ont ete enregistrees
oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
If oBaseContext.hasElements() Then
oTheDB = oBaseContext.getByName(oSource)
sTheURL = oTheDB.name
sMsg = "La source de données " & oSource & _
" est enregistrée sous" & chr(10)
sMsg = sMsg & sTheURL
MsgBox(sMsg, 64, "Source de données")
Else
sMsg = "Aucune source de données n'est enregistrée."
MsgBox(sMsg, 16, "DataBase Error")
End If
End If
End Sub
Francois Gatto a écrit :
Bonjour,
Si j'ai bien compris ton problème, tu pourrais obtenir l'information
désirée comme ceci :
ThisComponent.getParent.DataSource.Name
S'il s'agit bien d'un formulaire dans un fichier Base (.odb)
FaVdB a écrit :
Je voudrais récupérer, via une macro activée dans un formulaire, le
répertoire du fichier odb. Malgré mes recherche je n'ai pas trouvé.
--
Francois GATTO
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]