Pfad einer Datenbank per Makro tauschen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

sarotti
****
Beiträge: 105
Registriert: So, 12.03.2006 17:40
Wohnort: Nähe Krefeld

Pfad einer Datenbank per Makro tauschen

Beitrag von sarotti »

Hallo Forum,

habe folgende Aufgabe:

Bei einer bestehenden odb-Datenbank, die auf ein Verzeichnis mit dbf-Dateien zugreift, möchte ich per Makro das Verzeichnis, in dem die Tabellen liegen, ändern können. Hintergrund ist, das ich die Datenbank veteilen möchte und das Vezeichnis für den User einfach änderbar sein sollte, ohne dass dieser sich mit OO Datenquellen auseinander setzen muss.

Leider klappt das per Makro nicht so wie ich das gehofft hatte. :(

Code: Alles auswählen

Sub DB_Zugriff
	DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
	oDatenquelle = DatabaseContext.getByName("DBF_db")
	
	If not oDatenquelle.IsPasswordRequired Then
		oDatVerb = oDatenquelle.getConnection("","")
	else
		oHandler = oDatenquelle.createUnoService("com.sun.star.sdb.InteractionHandler")
		oDatVerb = oDatenquelle.ConnectWithCompletion(oHandler)
	end if
REM Diese Eigenschaft ist L E I D E R schreibgeschützt
oDatVerb.MetaData.URL=“sdbc:dbf:file:///c:/dbf-Verzeichnis/“

REM hier erfolgt in Basic eine Änderung - aber ohne Auswirkung für den Datenbankzugriff
oDatVerb.Parent.URL=“sdbc:dbf:file:///c:/dbf-Verzeichnis/“

..................
Für Hilfe bin ich schon mal dankbar

Gruss
sarotti