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]

Répondre à