mit Makro auf Unterformular zugreifen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Geotrans
**
Beiträge: 42
Registriert: Fr, 01.02.2013 20:40

mit Makro auf Unterformular zugreifen

Beitrag von Geotrans »

Habe Versucht nach Dem Tipp hier:
viewtopic.php?f=8&t=61138#p228279
juetho hat geschrieben: Bei einer VIEW werden nicht irgendwelche ausgewählten Daten zwischengespeichert und (etwa aus einem Cache) geholt. Bei jedem neuen Aufruf einer VIEW werden die Daten nach dem aktuellen Stand neu zusammengesucht. Wenn die Aktualisierung etwas zufällig erscheint, liegt das vermutlich eher daran, dass ein refresh oder reload fehlt (z.B. Handbuch S. 233 f.).
ein Makro zu erstellen, funktioniert auch mit dem "MainForm". Brauche es aber für die Unterformulare.

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Aktualisieren
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("InputGood")
oForm.reload()

End Sub
Bekomme dann immer eine Fehlermeldung (BASIC Laufzeitfehler ... NoSuchElementExeption). Bräucht da noch mal Hilfe! :)
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: mit Makro auf Unterformular zugreifen

Beitrag von juetho »

Die Formulare sind hierarchisch ineinander enthalten. Praktisch genauso, wie sie im Formular-Navigator gegliedert sind, wird im Makro darauf zugegriffen. Das kann, wenn das Formular InputGood direkt unterhalb von MainForm liegt, dann etwa so aussehen:

Code: Alles auswählen

oForm = thisComponent.drawpage.forms.getByName("MainForm").getByName("InputGood")
In dem Entwurf für die Neufassung des Handbuchs, den ich dir geschickt habe, stehen im Abschnitt "Zugriff auf das Formular" ein paar Varianten zur Schreibweise. Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
Geotrans
**
Beiträge: 42
Registriert: Fr, 01.02.2013 20:40

Re: mit Makro auf Unterformular zugreifen

Beitrag von Geotrans »

Hallo Jürgen,
vielen Dank für Deine unermüdliche Hilfe, und dann auch noch so gigantisch scnell!!! :D
Werde mich jetzt mal an die Umsetzung machen!
Viele Grüße, Georg
Geotrans
**
Beiträge: 42
Registriert: Fr, 01.02.2013 20:40

Re: mit Makro auf Unterformular zugreifen

Beitrag von Geotrans »

Trotz der vielen Hilfe bekomme ich es immer noch nicht hin. Irgend etwas mache ich da noch falsch!

Code: Alles auswählen

EM  *****  BASIC  *****

Sub Aktualisieren
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("MainForm").getByName("AuswertungInputGood")
oForm.reload()

End Sub
Wenn ich Makro anwende oder ändern will bekomme ich immer den Fehler: "BASIC-Syntaxfehler.Erwartet:Sub."
Habe die Datenbank mal angehängt (neu11). Im Formular "factory_A1" möchte ich mit dem Button "Speichern" gleichzeitig das Unterformular "AuswertungInputGood" aktualisieren. Das Makro habe ich bei Ereignisse "Fokusverlust" an den Button "Speichern" angehängt.
Dateianhänge
neu11.odb
(136.08 KiB) 180-mal heruntergeladen
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: mit Makro auf Unterformular zugreifen

Beitrag von turtle47 »

Hallo,

die erste Zeile muss heissen:

Code: Alles auswählen

REM  *****  BASIC  *****
oder direkt ganz weglassen.
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Geotrans
**
Beiträge: 42
Registriert: Fr, 01.02.2013 20:40

Re: mit Makro auf Unterformular zugreifen

Beitrag von Geotrans »

Vielen Dank,
habe jetzt eine große Beule auf der Stirn, mußte mal kurz mit dem Kopf auf die Tischplatte....
Manchmal sieht man den Wald vor lauter Bäumen nicht mehr....
Antworten