Öffnen einer nicht registrierten Datenbank (Base)

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Öffnen einer nicht registrierten Datenbank (Base)

Re: Öffnen einer nicht registrierten Datenbank (Base)

von rito » Di, 14.06.2011 15:45

Vielen Dank für eure Antworten! Wird gleich mal ausprobiert!

Gruß
rito

Re: Öffnen einer nicht registrierten Datenbank (Base)

von DPunch » Sa, 11.06.2011 08:30

Aloha
rito hat geschrieben:DatenBanken.registerobject("NeueDB",NeuDB) <=Wofür ist der String in den Anführungszeichen?
Der String in den Anführungszeichen legt fest, unter welchem Namen die Datenbank bei Base registriert werden soll (Extras -> Optionen -> Base -> Datenbanken)

Dazu sei noch angemerkt, dass Du die Datenbank gar nicht registrieren musst - und vielleicht auch nicht solltest -, wenn es keine Interaktion zwischen Benutzer und Datenbank geben soll in Form von z.B. Serienbriefen o.Ä.

Anstatt .registerObject kannst Du also direkt mit (in Deinem Codeschnipsel)

Code: Alles auswählen

oConnection = NeuDB.getConnection("","")
weitermachen.

Re: Öffnen einer nicht registrierten Datenbank (Base)

von F3K Total » Fr, 10.06.2011 17:43

Hallo rito,
so könnte es klappen:

Code: Alles auswählen

Sub register_database_from_writer

odoc=thisComponent'Writer Dokument

oFolder="Folder_DB" 'Name des Ordners der Datenbank
oDBname="DBname.odb" 'Name der Datenbank, muß natürlich existieren, sonst gibt es einen Fehler

url_DB=replace(odoc.url,odoc.title,"")+oFolder+"/"+oDBname'zusammengesetzter Pfad zur Datenbank
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
NeuDB=DatabaseContext.getByName(url_DB)
DatabaseContext.registerobject(oDBname,NeuDB)'neue Datenbank anmelden

Msgbox "Die Datenbank "+oDBname+" wurde unter dem Pfad "+url_DB+" registriert"

End Sub
Gruß R

Re: Öffnen einer nicht registrierten Datenbank (Base)

von rito » Fr, 10.06.2011 09:24

Genauer zum relativen Pfad:

Ich möchte ein Writerdokument bearbeiten und aus Writer die Datenbank aufrufen und die Datenbank soll zum Writerdokument mittels relativem Pfad geöffnet werden.

Ich hoffe man konnte mich mit meinem Kauderwelsch verstehen :D

Öffnen einer nicht registrierten Datenbank (Base)

von rito » Fr, 10.06.2011 08:11

Und wieder ein neues Problem für mich

Ich würde gerne aus Writer heraus per Makro auf die Daten einer nicht registrierten Datenbank-Datei (Base) zugreifen.

Mein Buch zur OpenOffice-Programmierung zeigt mir jedoch lediglich Wege für schon registrierte Datenbanken.
Zugriffe auf die Datenbank sollten mit relativen Pfaden erfolgen, da ich die Dateien weitergeben möchte und ja nicht weiß wie deren Verzeichnisstruktur aussieht.

Folgendes habe ich im Netz gefunden:
DatenBanken = createUnoService("com.sun.star.sdb.DatabaseContext")
NeuDB=DatenBanken.getByname("file:///c:/test5.odb") <=Hier sollte der Pfad relativ sein.
DatenBanken.registerobject("NeueDB",NeuDB) <=Wofür ist der String in den Anführungszeichen?

Und würde das so gehen mit diesem Beispiel?

Nach oben