Seite 1 von 1

Formular über ein Makro öffnen

Verfasst: Mi, 02.11.2011 18:43
von SteGau
Hallo,
ich habe vor einiger Zeit mit meiner ersten LibreOffice-HSQL-Datenbank (Version 3.4) angefangen.
Ich möchte beim Start der entsprechenden Datenbank automatisch (d.h. beim Ereignis: "Dokument öffnen") ein Formular "Hauptmenü" öffnen.

2 Möglichkeiten habe ich im Wesentlichen ausprobiert:
a) 1 DatabaseContext = createUnoService("com.sun.star.sdb.DatababaseContext")
2 oDatenquelle = DatabaseContext.getByName("Walker")
3 oDVerb = oDatenquelle.GetConnection("","")
4 ThisDatabaseDocument.FormDocuments.getByName( "Hauptmenü" ).open()

Bei Zeile 4 erscheint allerdings folgende Fehlermeldung:
"Basic-Laufzeitfehler:
Objektvariable nicht belegt."

b) Verwende ich nur den Befehl ...
"ThisDatabaseDocument.FormDocuments.getByName( "Hauptmenü" ).open()"
... dann erhalte ich den Fehler:
"com.sun.star.sdbc.SQLException
Message: [OOoBase] Es besteht keine Verbindung zur Datenbank."

Wenn ich allerdings vorher manuell ein Formular öffne und dann wieder schließe, dann funktioniert das Makro zum Öffnen des Formulars "Hauptmenü".

Da ich jetzt an dieser Hürde bereits wochenlang hänge, wäre ich um jeden Lösungsvorschlag dankbar. :(

Gruß
Stefan

Re: Formular über ein Makro öffnen

Verfasst: Mi, 02.11.2011 19:04
von F3K Total
Hallo,
versuche es mal hiermit:

Code: Alles auswählen

sub open_Hauptmenue

oCon = ThisDatabaseDocument.CurrentController
If NOT ( oCon.isConnected() ) Then oCon.connect()
ThisDatabaseDocument.formdocuments.getbyname("Hauptmenü").open

end sub
Gruß R

Re: Formular über ein Makro öffnen

Verfasst: Fr, 04.11.2011 09:51
von SteGau
Hallo,

ich fasse es nicht. Da bin ich Stunde um Stunde an diesem Problem gesessen und dann ist es so schnell behoben.

Vielen, vielen Dank, ich war schon am verzweifeln!

Gruß
Stefan