Fehlermeldung Makro bei Gebrauch Beispieldatenbank
Verfasst: Do 5. Sep 2013, 15:26
Hallo Zusammen,
ich versuche seit Tagen ein abhängiges Kombinationsfeld zu erstellen. Ich möchte eigentlich nur bei der Eingabe in die Haupttabelle Buchungen zwei Felder Buchungsstelle und Kategorie mittels Kombinationsfelder füllen. Kombinationsfelder deshalb, damit der ausgewählte Text sofort in der Haupttabelle lesbar ist. Dazu soll nach Auswahl der Kategorie eine selektierte Auswahl im zweiten Kombinationsfeld angezeigt werden. Leider werde ich im Base Handbuch dazu nicht recht fündig. Ein Versuch mit einem Unterformular (lt. Handbuch) war nicht erfolgreich, da das Unterformular nur grau war und keine Werte annahm. Der Versuch mit dem Beispielmakro "TextAnzeigen" aus dem Base Gesamthandbuch Makro bringt Fehlermeldungen. Das Hauptformular dazu heißt bei mir Formular, das Kombinationsfeld heißt Buchungsstelle und das unsichtbare Numerische Feld heißt Kategorie_ID und stammt aus der Haupttabelle Buchungen. Es gibt keine Unterformulare.
Die Aufzählung der Zuweisungen nach SUB InhaltAnzeigen musste ich ausblenden, da sonst ebenfalls Fehlermeldung (Meldung: wrong number of parameters!)
Hier der Anfang des angepassten Makros aus der Beispieldatenbank:
SUB InhaltAnzeigen '(Formular AS STRING, Buchungsstelle AS STRING, Kategorie_ID AS STRING, Buchungsnamen AS STRING, Auswahl_Buchungen AS STRING, Position AS Integer )
DIM oForm AS OBJECT
DIM oFeld AS OBJECT
DIM oFeldList AS OBJECT
DIM stFeldWert AS STRING
DIM inID AS INTEGER
DIM oCtlView AS OBJECT
oDoc = thisComponent
oDrawpage = oDoc.Drawpage
oForm = oDrawpage.forms.getByName("Formular")
REM Lage des Feldes in dem entsprechenden Formular aufsuchen
oFeld = oForm.getByName("Kategorie_ID")
oFeldList = oForm.getByName("Buchungsstelle")
oFeldList.Refresh() REM Refresh(), damit neu eingegebene Werte angezeigt werden
REM Wert des ID-Feldes auslesen
IF NOT IsEmpty(oFeld.getCurrentValue()) THEN
inID=oFeld.getCurrentValue()
Hier bricht das Makro mit dem Fehler:
BASIC-Laufzeitfehler.
Eigenschaft oder Methode nicht gefunden: getCurrentValue.
ab.
Was läuft hier falsch? Kann mir jemand dazu helfen?
Geht diese Selektierung vielleicht doch auch ganz einfach ohne Makro mit Unterformular.
Herzlichen Dank im Voraus
Werner
Version: 4.1.1.2 auf Windows Vista
ich versuche seit Tagen ein abhängiges Kombinationsfeld zu erstellen. Ich möchte eigentlich nur bei der Eingabe in die Haupttabelle Buchungen zwei Felder Buchungsstelle und Kategorie mittels Kombinationsfelder füllen. Kombinationsfelder deshalb, damit der ausgewählte Text sofort in der Haupttabelle lesbar ist. Dazu soll nach Auswahl der Kategorie eine selektierte Auswahl im zweiten Kombinationsfeld angezeigt werden. Leider werde ich im Base Handbuch dazu nicht recht fündig. Ein Versuch mit einem Unterformular (lt. Handbuch) war nicht erfolgreich, da das Unterformular nur grau war und keine Werte annahm. Der Versuch mit dem Beispielmakro "TextAnzeigen" aus dem Base Gesamthandbuch Makro bringt Fehlermeldungen. Das Hauptformular dazu heißt bei mir Formular, das Kombinationsfeld heißt Buchungsstelle und das unsichtbare Numerische Feld heißt Kategorie_ID und stammt aus der Haupttabelle Buchungen. Es gibt keine Unterformulare.
Die Aufzählung der Zuweisungen nach SUB InhaltAnzeigen musste ich ausblenden, da sonst ebenfalls Fehlermeldung (Meldung: wrong number of parameters!)
Hier der Anfang des angepassten Makros aus der Beispieldatenbank:
SUB InhaltAnzeigen '(Formular AS STRING, Buchungsstelle AS STRING, Kategorie_ID AS STRING, Buchungsnamen AS STRING, Auswahl_Buchungen AS STRING, Position AS Integer )
DIM oForm AS OBJECT
DIM oFeld AS OBJECT
DIM oFeldList AS OBJECT
DIM stFeldWert AS STRING
DIM inID AS INTEGER
DIM oCtlView AS OBJECT
oDoc = thisComponent
oDrawpage = oDoc.Drawpage
oForm = oDrawpage.forms.getByName("Formular")
REM Lage des Feldes in dem entsprechenden Formular aufsuchen
oFeld = oForm.getByName("Kategorie_ID")
oFeldList = oForm.getByName("Buchungsstelle")
oFeldList.Refresh() REM Refresh(), damit neu eingegebene Werte angezeigt werden
REM Wert des ID-Feldes auslesen
IF NOT IsEmpty(oFeld.getCurrentValue()) THEN
inID=oFeld.getCurrentValue()
Hier bricht das Makro mit dem Fehler:
BASIC-Laufzeitfehler.
Eigenschaft oder Methode nicht gefunden: getCurrentValue.
ab.
Was läuft hier falsch? Kann mir jemand dazu helfen?
Geht diese Selektierung vielleicht doch auch ganz einfach ohne Makro mit Unterformular.
Herzlichen Dank im Voraus
Werner
Version: 4.1.1.2 auf Windows Vista