Moin, moin
ich habe diverse Berichte, die von einem Formular aus aufgerufen werden - jeder Bericht hat eine Schaltfläche, über die er geöffnet wird. Allmählich wird das ein bißchen unübersichtlich.
Nun überlegte ich folgendes: ein Listenfeld, das als Menü dient. Es enthälte eine Werteliste "Bericht1, Bericht2,..", und ist verknüpft mit einem Makro, das auf "Feld modifiziert" anspringt, dahinter dann der Code, der je nach Feldinhalt den entsprechenden Bericht aufruft. Klappt aber noch nicht, denn ich bekomme den aktuell ausgewählten Inhalte nicht zu fassen.
Problem wohl: Listenfeld ist mit keinem Datenfeld verknüpft.
Kann man trotzdem irgendwie den aktuellen Wert per Makro greifen? Oder gibt es einen besseren Weg?
[gelöst] Menü basteln mit Listenfeld?
Moderator: Moderatoren
[gelöst] Menü basteln mit Listenfeld?
Zuletzt geändert von Noebian am Sa, 21.04.2012 00:29, insgesamt 1-mal geändert.
Xubuntu 12.04 / AOO 4.0 / MySQL 5.2.40
herzliche Grüße aus Deutschlands Norden
herzliche Grüße aus Deutschlands Norden
Re: Menü basteln mit Listenfeld?
Sorry, jetzt habe ich es gefunden.
Es geht natürlich mit ".CurrentValue"
Es geht natürlich mit ".CurrentValue"
Xubuntu 12.04 / AOO 4.0 / MySQL 5.2.40
herzliche Grüße aus Deutschlands Norden
herzliche Grüße aus Deutschlands Norden
Re: Menü basteln mit Listenfeld?
Hallo!Noebian hat geschrieben:Sorry, jetzt habe ich es gefunden.
Es geht natürlich mit ".CurrentValue"
Sowas würde ich gerne auch erstellen. Meine Suche bei google ergab leider nicht viel, bzw. zu Kompliziertes, da ich noch ein Laie bin. Wie ist denn die exakte Vorgehensweise?
Re: Menü basteln mit Listenfeld?
Geht natürlich nur per Makro. Also zuerst einmal ein Modul für Makros anlegen, wenn nicht schon vorhanden. Dort dann das folgende Makro hineinkopieren:PerSHN hat geschrieben: Sowas würde ich gerne auch erstellen.
Code: Alles auswählen
SUB Drucken
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oFeld AS OBJECT
DIM stTag AS STRING
oDoc=thisComponent
oDrawpage=oDoc.Drawpage
REM Lage des Feldes in dem entsprechenden Formular aufsuchen
oForm=oDrawpage.Forms.getByName("MainForm") 'Name des Formulars einsetzen - zu sehen im Formularnavigator
oFeld=oForm.getByName("Listenfeld") 'Name des Listenfeldes einsetzen
stTag=oFeld.getCurrentValue()
ThisDatabaseDocument.ReportDocuments.getByName( stTag ).open
END SUB
Jetzt das Makro an das Listenfeld binden. Hier die Eigenschaft entsprechend wählen, z.B. "Modifiziert". Sobald jetzt die Einstellung im Listenfeld geändert wird, wird der Bericht mit dem entsprechenden Namen geöffnet.
Gruß
Robert