Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Gefiltertes Unterformular drucken

Begonnen von Duke634, März 03, 2018, 17:41:49

⏪ vorheriges - nächstes ⏩

Duke634

Hallo,
ich habe leider keine Lösung für mein Problem gefunden.
Ich benutze A2010.

Problem:
Ich habe ein Unterformular ,,0050Genre03UF". In dem Unterformular werden alle Datensätze angezeigt. In der Tabelle filter ich dann über den Tabellenfilter.

Wie kann ich jetzt das gefilterte Formular als Bericht drucken?

Gruß
Yoschi

Duke634

Hallo Zusammen,

ich habe es jetzt geschafft.

Leider speichert Access den Filter ab und wenn ich dann das Formular wieder öffne, zeigt er mir wieder das gefilterte Formular an, da der Filter in den Eigenschaften gespeichert wurde.

Ich habe schon versucht, die Eigenschaft mit ,,FilterOnLoad =False" oder mit ,,Me.FilterOn = False" zu löschen. Hat leider alles nicht funktioniert. Auch im Netz oder in der Access-Hilfe habe ich keine Lösung gefunden.

Wie kann ich die Filter-Eigenschaft löschen?

Gruß
Yoschi

MzKlMu

Hallo,
im Formularereignis "Beim Laden":
Me.Filter = ""
Me.FilterOn = False
Gruß Klaus

Joss

Hallo Yoschi,

setze die Eigenschaft "Beim Laden filtern" auf "Nein".

Und vielleicht magst du auch lieber per Code (statt manuell) filtern, denn dann wird der Filterstring nicht gespeichert, z.B.:

Me.Filter = "GenreID > 2"
Me.FilterOn = True


Der Filter wird allerdings auch in diesem Fall "fest" gespeichert, wenn du im gefilterten Zustand von der Formularansicht in die Entwurfsansicht wechselst.

Das Gleiche gilt für die Sortierung.

Gruß
Josef

Duke634

#4
Hallo,
das funktioniert leider nicht, da ich die die Filtereigenschaft für das Drucken benötige. Wenn ich drucke, lasse ich das Formular schließen und meine manuelle Filterung wird gespeichert. Dann wird das Formular wieder geöffnet und das Formular hat die Filterung.
Leider klappt es auch nicht, wenn ich den Code beim Öffnen aus dem Menu eingebe.
Gibt es es vielleicht einen anderen Code, der die Filtereigenschaft löscht.
Gruß
Yoschi

MzKlMu

Hallo,
hast Du meinen Beitrag (#2) nicht gelesen ?
Gruß Klaus

Duke634

Hallo,
doch, aber dann wird meine meine manuelle Filterung gelöscht und er druckt dann wieder alle Datensätze.
Gruß
Yoschi

MzKlMu

Hallo,
Zitataber dann wird meine manuelle Filterung gelöscht
das verstehe ich nicht.
Manuell wird doch nach dem Öffnen gefiltert, da wird doch dann nichts gelöscht. Das Löschen geschieht doch vor dem Öffnen.
ZitatWenn ich drucke, lasse ich das Formular schließen und meine manuelle Filterung wird gespeichert.
Warum lässt Du das Formular schließen?
Außerdem kann man dem Druckbefehl (OpenReport) direkt den Filter übergeben.
Mir schient, da bestehen grundsätzliche Probleme mit dem sinnvollen Ablauf.
Wie genau filterst Du ?
Gruß Klaus

Duke634

#8
Hallo,
wenn ich das Formular öffne, dann filter ich über die Filter der Spalten, siehe Bild 2 "Filtern". Der Filter wird aber nicht an den Report weitergegeben, sondern zeigt/druckt alle Datensätze. Nur wenn ich das Formular schließe, wird der Filter gespeichert und der gefilterte Bericht wird gedruckt.
Vielleicht ist ja auch die Vorgehensweise falsch? Aber ich habe es nicht anders hinbekommen. Wie kann ich denn dann den manuellen Filter weitergeben
Gruß
Sven

Joss

Hallo Sven,

da könnte dir vielleicht DonKarl weiterhelfen?
http://www.donkarl.com?FAQ5.9

Gruß
Josef

Joss

Nachtrag:

Für dich könnte der Vorgang für das Öffnen des Berichts so aussehen:

  • Formular manuell oder per Code filtern
  • Bericht über eine Schaltfläche mit folgendem Code öffnen:
DoCmd.OpenReport "EinBerichtsname", acViewPreview, , Me.Filter


Gruß
Josef