ich habe folgendes Problem:
Ich würde gerne mit einem Makro in Writer eine Datenbank für Base anlegen. Leider wird sie in Base nicht registriert. Die Abfrage, ob die Datenbank vorhanden ist, liefert außerdem immer false und es wird eine neue generiert, die alte also überschrieben. In Base selbst kann ich die so angelegte DB auch nicht nutzen.
Die DB soll also über das Makro genau so erstellt werden, als ob ich das in Base gemacht hätte.
Kann mir da jemand weiter helfen?
Martin
Code: Alles auswählen
Sub DBConnect
DBKontext = createUnoService("com.sun.star.sdb.DatabaseContext")
If DBKontext.hasByName("testdb") Then
DBQuelle = DBKontext.getByName("testdb")
Msgbox("Zugriff auf die Datenbank erfolgreich")
DBVerbindung = DBQuelle.GetConnection("","")
Else Msgbox("Datenbank nicht gefunden. Sie wird angelegt.")
Call DBCreate
End If
End Sub
Sub DBCreate
Dim Database
Dim Arg()
URL = "private:factory/sdatabase"
Database = StarDesktop.loadComponentFromURL(URL, "_blank", 0, Arg())
Database.storeAsURL("File:///C:/Dokumente%20und%20Einstellungen/Martin/Desktop/testdb.odb", Arg())
Database.close(True)
Msgbox("Datenbank angelegt")
End Sub