Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


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


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.