Sehr geehrte Damen u Herren,
es ist einfach zum Verzweifeln: Schon seit mehreren Tagen versuche ich (das
triviale Problem) für meine OpenOffice-Datenbank via Makro ein vorhandenes
Formular aufzurufen. Dazu habe ich auch beide Krumbein-Schinken rauf und
runter gelesen, im Internet gestöbert und diverse Forumsbeiträge studiert
und ausprobiert. Zuletzt bin ich über Ihre Dokumentation gestolpert und war
guter Dinge, dass mich das Handbuch-Base von LibreOffice mit dem Kapitel
Makros oder den anderen Kapiteln weiterbringt. Ich habe im Makro-kapitel auf
Seite 9 den oben aufgeführten Basic-Schnipsel aufgegriffen:
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName(Filter)
Immer wenn ich mit dem Objekt Drawpage arbeite und in der Routine
erfolgreich eine Datenbank-Connection hergestellt habe, kommt die
Fehlermeldung:
Objekt-Variable nicht belegt oder Eigenschaft oder Methode nicht
gefunden: Drawpage
In den englischen Formular-Eigenschaften kommt der Begriff Drawpage nicht
vor. Im Oxford-Englisch-Lexikon und Internet Leo-Lexikon auch nicht. Was hat
das zu bedeuten?
Mein Makro lautet übrigens:
Sub Formular_aufrufen_3
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM sName AS STRING
Verbindung_DB
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("Komponisten_Input") hier
kommt die Fehlermeldung Eigenschaft oder Methode nicht gefunden
End Sub
Sub CreateDBForm()
DIM oDrawpage AS OBJECT
DIM oDBForm AS OBJECT
Verbindung_DB
If oDrawPage.Forms.Count = 0 Then
hier kommt die Fehlermeldung: Objektvariable nicht definiert
oDBForm =
oDocument.CreateInstance("com.sun.star.form.component.Form")
oDrawpage.Forms.InsertByIndex (0, oDBForm)
Else
oDBForm = oDrawPage.Forms.GetByIndex(0)
End If
oDBForm.Name = "Standard"
oDBForm.DataSourceName = sDBName
oDBForm.Command = TableName
oDBForm.CommandType = CurCommandType
End Sub
Sub Verbindung_DB
DatabaseContext =
createUnoService("com.sun.star.sdb.DatabaseContext")
oDatenquelle = DatabaseContext.getByName("MusikDatenbank_work")
MusikDatenbank_work ist meine Base-DB
If not oDatenquelle.IsPasswordRequired Then
oDatVerb = oDatenquelle.getConnection("","")
else
oHandler =
oDatenquelle.createUnoService("com.sun.star.sdb.InteractionHandler")
oDatVerb =
oDatenquelle.ConnectWithCompletion(oHandler)
end if
End Sub
--
Informationen zum Abmelden: E-Mail an [email protected]
Probleme?
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/discuss/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert