Seite 1 von 1

[Gelöst]Berichtsname und Berichtsfilter in Formular Auswahl

Verfasst: Do 21. Nov 2013, 08:29
von gerald3659
Hallo und guten Tag,

Ich bin in Base nicht der Crack,
aber ich habe eine Datenbank mit verschiedenen Berichten und Formularen ertellt.
Nun möchte ich folgendes tun:

Ich würde gern ein Formular erstellen, in dem ich den Namen des Berichtes sowie wenn notwendig den Filter auswählen kann.

Um es zu verdeutlichen ein Schema:

Berichtsname -----------Filter
Abteilungen--------------Abteilung 1
----------------------------Abteilung 2
----------------------------...
Mitglieder ---------------Alle
Geburtstage-------------Alle
Geburstage spezial----->=16
---------------------------<=18
---------------------------<=21
Geburtstage halbrund
Geburtstage rund
Jahrggänge

Bei dem Bericht Geburtstage spezial weiss ich noch nicht ob sich das machen lässt. Dabei soll der Name des Berichtes für das Listeneld aus dem Datenbakfenser eingelesen werden. Falls dies nicht möglich ist wäre es auch möglich die Berichtsnamen in eine Tabelle einzutragen und dann die ID als Kennung zum Aufruf zu verwenden. Nur wie regel ich das?

Allerdings stehe ich zur Zeit völlig auf dem Schlauch.

Liebe Grüße
Gerald

Re: Berichtsname und Berichtsfilter in Formular auswählen

Verfasst: Do 21. Nov 2013, 19:12
von F3K Total
Hi, ein erster Ansatz, schau mal hier.
Gruß R

Re: Berichtsname und Berichtsfilter in Formular auswählen

Verfasst: Do 21. Nov 2013, 19:19
von RobertG
Hallo Gerald,

ich versuche das einmal Stück für Stück:
Berichtsname -----------Filter
Abteilungen--------------Abteilung 1
----------------------------Abteilung 2
----------------------------...
Mitglieder ---------------Alle
Geburtstage-------------Alle
Geburstage spezial----->=16
---------------------------<=18
---------------------------<=21
Geburtstage halbrund
Geburtstage rund
Jahrggänge
Du hast einen Bericht "Abteilungen". Wie willst Du den Bericht filtern? Beruht der Bericht auf einer Abfrage, die dann anderswoher "Abteilung 1" ausliest?
Du kannst natürlich für Deine verschiedenen Filterungen Listenfelder erstellen. Entscheidend ist aber, wie der Wert des Listenfelder denn weiter verarbeitet werden soll.

Du möchtest die Namen für die Berichte automatisch verfügbar haben:

Code: Alles auswählen

SUB Berichte
	oDoc = ThisComponent.Parent
	oBerichte = oDoc.getReportDocuments()
	FOR i=0 TO oBerichte.count -1
	oBericht = oBerichte.getByIndex(i)
	s = s + oBericht.name + CHR(13)
	NEXT
	MsgBox s
END SUB
Das Makro soll aus einem Formular heraus die Berichte ermitteln. Die Berichte sind nicht in dem Formular selbst, sondern in dem übergeordneten Element abgelegt. Du erreichst die Berichtsliste über getReportDocuments(), die einzelnen Berichtsnamen über oBericht.name.

Wenn Dir klar ist, wie Du die Berichte filtern willst, dann können wir da gemeinsam weiter sehen. Mit dem Makrocode oben könnte gegebenenfalls auch ein Listenfeld gefüllt werden, so dass Du alle Berichtsnamen in ein Listenfeld bekommst - hast Du denn so viele unterschiedliche Berichte, die auch noch laufend erweitert werden, so dass sich da ein Makro überhaupt lohnt?

Gruß

Robert