Name der aktuellen Datenbank ermitteln

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Name der aktuellen Datenbank ermitteln

Beitrag von eBayer »

Hier hast Du gleich 2 Funktionen, die Du sicher gebrauchen kannst.
Viel Spaß, eBayer

Function getLoadedUrl() As String 'Funktion um den Pfad zur Anwendung zu erhalten
Dim oDatenbankKontext As Object, oDatenquelle As Object, i As Integer, sURL As String
oDatenbankKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
oDatenquelle = oDatenbankKontext.getByName( getDbName() )
sURL = oDatenquelle.DatabaseDocument.location
i = instr(sURL, oDatenquelle.DatabaseDocument.title) - 2
getLoadedUrl() = ConvertFromUrl(left(sURL,i))
End Function

Function getDbName() As String ' Den Namen der Datenbank (odb) ermitteln
sName = left(ThisComponent.Title, instr(ThisComponent.Title, ".odb")-1)
getDbName = sName
End Function
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Name der aktuellen Datenbank ermitteln

Beitrag von eBayer »

Die Funktion getLoadedUrl() benötigt in meinem Beispielcode die Funktion getDbName()
setze doch mal testweise "Erkenfara" für getDbName() rein.
Gruss eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Name der aktuellen Datenbank ermitteln

Beitrag von eBayer »

logisch, die Funktion funktioniert nur, wenn die Datenbank angemeldet ist...
Extras - Optionen - OpenOffice.org Base - Datenbanken.....
Damit die Funktion in jedem Fall läuft, müsstest Du abfangen, wenn kein Eintrag gefunden wurde - also ein Leerstring.
..... ein kleines Beispiel zum üben - mach mal!
Gruss eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Antworten