expertenaustausch > comp.* > comp.datenbanken.ms-access

Judith (01.04.2005, 12:51)
Hallo,

ich komm mal wieder nicht weiter, vielleicht kann mir ja gemand helfen

Also, ich hab ein Hauptformular in dem Kunden-und Auftragsdaten
verarbeitet werden. Um zu einem bestimmten Auftrag Schrifverkehr zu
haben, haben ich ein zweites UFO, was ein Memofeld, eine Textnummer
und ein Datum enthält. Zu einem Auftrag kann es einen oder mehrere
Schrifverkehr-Texte geben, die immer fortlaufend nummeriert werden.
Wenn mehrere Texte vorhanden sind, soll aber immer nur der gedruckt
werdenm, der aktuell auf dem Bildschirm zu sehen ist. Um das zu
gewährleisten, habe ich ein Makro, welches einen Filter setzt. Die
Schriftverkehr-Texte stehen in einer extra Tabelle, und wir haben eine
Filterabfrage definiert, der nach der TextNr. filtert, aus der Tabelle
db_txt, und wir haben als Kriterium eingesetzt:

[formulare]![frm_aufrag]![frm_text]![txtnr]

Bei offenem Formular frm_auftrag funktioniert der Filter einwandfrei.
Wenn man ihm über das Drucken-Makro benutzt, funzt es leider nicht und
die Sekeltion schlägt fehl!

Ich komme jetzt echt nicht mehr weiter, wer kann mir helfen?
Henry Habermacher [MVP Access] (01.04.2005, 16:00)
Hallo Judith

Judith <judithkrause> wrote:
> [formulare]![frm_aufrag]![frm_text]![txtnr]
> Bei offenem Formular frm_auftrag funktioniert der Filter einwandfrei.
> Wenn man ihm über das Drucken-Makro benutzt, funzt es leider nicht und
> die Sekeltion schlägt fehl!


Du referenzierst ja auch ein Formular. Wenn das nicht geöffnet ist, kann von
diesem halt auch nichts eingelesen werden. So einfach ist das. Du kannst
z.B. eine globale Variable nehmen und diese vor dem Öffnen des Reports mit
einer Funktion abfüllen, z.B.

(in ein neues Standard Modul kopieren, nach den Optionen)

Dim lngTextNrFilter as Long
Public Function setFilterForReport(TextNr as Long)
lngTextNrFilter = TextNr
End Function

Nun kannst Du diese Funktion vor dem Aufrufen des Reports mit dem
gewünschten Filterwert aufrufen. Vom Makro kannst Du da hardcodiert was
übergeben, vom Formular das Feld Me!frm_auftrag!frm_text!textNr

Im Report machst Du nun beim Öffnen den Filter selber:
Me.Filter = "TextNr=" & lngTextNrFilter
Me.FilterOn = True

HTH
Henry
Judith (02.04.2005, 16:45)
"Henry Habermacher [MVP Access]" <DontSpamHenry> wrote in message news:mhu1
[..]
> Me.FilterOn = True
> HTH
> Henry


Danke Henry für die schnelle Antwort. Werde ich heut abend gleich ausprobieren!

Judith
Ähnliche Themen