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 discuss+help@de.libreoffice.org
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
Context
- [de-discuss] Base_Formular mit Hilfe eines Makros öffnen · Joachim Polster
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.