Neuigkeiten:

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

Mobiles Hauptmenü

Datumfilter Schaltfläche

Begonnen von mile85, November 27, 2016, 14:36:35

⏪ vorheriges - nächstes ⏩

mile85

Hallo zusammen

Ich habe ein Bericht für Journaleinträge die täglich gemacht werden. Tag später wird immer eine Zusammenfassung vom Vortag gemacht und als PDF abgelegt. Dies wird aktuell über die Filterfunktion vom Datum manuell gemacht und dementsprechend abgelegt.

Ich versuche seit geraumer Zeit diese Funktion über eine Schaltfläche für Datumfilter zu lösen, damit man nur per Schaltfläche aufgefordert wird ein Datum zu wählen, damit dann nur Einträge von dem Tag angezeigt werden. Bei allen Feldern geh das ja wunderbar, nur beim Datum mache ich etwas Falsch.

Wär echt froh wenn mir jemand helfen könnte.

Gruss Miro

MzKlMu

Hallo,
zeige wie Du es mit dem Datum versucht hast.
Gruß Klaus

mile85

        Me.Filter = "Journaldatum Like '*" & Me!Journaldatum & "*'"
        Me.FilterOn = True

So geht es wenn ich die Schaltfläche direkt ins Detailbereich setzte, ich will aber ein Button, dass mich fragt, welches Datum angezeigt werden soll.

MzKlMu

Hallo,
erstelle im Formularkopf ein Kombinationsfeld zur Auswahl eines Datums aus den vorhanden Datensätzen. So können nur Datumswerte gewählt werden die es gibt und man kann sich nicht vertippen.
Datenherkunft für das Kombi:
SELECT DISTINCT Journaldatum FROM Daten ORDER BY Journaldatum DESC
Code für das Kombi:
Private Sub KombinationsfeldName_AfterUpdate()
    Me.Filter = "Journaldatum  =" & Format(KombinationsfeldName, "\#yyyy\-mm\-dd\#")
    Me.FilterOn = True
End Sub

Ein Datumsfeld muss auf das ISO Format formatiert werden.
Gruß Klaus

mile85

Wie soll ich den ein Kombifeld in einem Bericht einbauen. Die Methode funktioniert wunderbar in einem Formular.

Gruess Miro

MzKlMu

Hallo,
das Kombi ist auch für den Bericht sinnvoll (über das Formular). Wie übergibst Du denn jetzt dem Bericht die zu druckenden Datensätze ?


Gruß Klaus

mile85

Die werden aus der Tabellen abgeholt und in einem Bericht dargestellt. Im Bericht selbst bereite es den für die Endgültige Herausgabe. Dieser Vorgang variiert immer und ist nicht fix vorgegeben.

MzKlMu

Hallo,
das ist keine Antwort die hilft.
Du musst doch dann dem Bericht auch den Filter übergeben, sonst werden ja alle DS gedruckt, wie wird das gemacht ?

Wie wird der Berichtsdruck gestartet ?
Gruß Klaus

MaggieMay

Hallo,
Zitatich will aber ein Button, dass mich fragt, welches Datum angezeigt werden soll.
wo soll sich dieser Button denn befinden? Warum wählst du das Datum nicht gleich im Formular aus?
Freundliche Grüße
MaggieMay

MzKlMu

Hallo,
ZitatWarum wählst du das Datum nicht gleich im Formular aus
Habe ich ihm doch vorgeschlagen (mit Kombi).
Gruß Klaus

mile85

#10
Angenommen ich habe in einem Bericht für 10 Tage je 10 Einträge . Sozusagen ein Gesamtbericht. Wenn ich jetz die Eintrge von Tag 3 weiterleiten möchte, dann lasse ich nur die Einträge von Tag 3 anzeigen und mache daraus eine PDF. Das mache ich aktuell indem ich Datumsfeld anwähle und über Filterfunktion nur die Einträge von dem Tag als Kriterium anwähle.Das möchte ich automatisieren indem ich auf eine Schaltfläche klicke und dann ein Datum eingebe/auswähle. Ohne das ich immer ein Feld anwählen muss und dann über "Filtern" oder die Rechte Maustaste gehen muss.

Nächster Schritt wär dann aus diesen 10 gefilterten Einträgen die nun angezeigt werden, diverse zusätzlich aus dem Filter rauszunehmen , da zum Beispiel 2 von den 10 Einträgen für die jeweilige Instanz nicht relevant sind. Das möchte ich direkt über die Benutzerfläche lösen ohne auf die Access Leiste zugreifen zu müssen da die nicht sichtbar ist da die Berichte im fullscreen angezeigt werden.

MzKlMu

Hallo,
viel geschrieben und nichts beantwortet.

Wie wird jetzt gedruckt (Code) ?
Und wie übergibst Du jetzt dem Druckbefehl die zu druckenden 3 Tage ?

Der Berichtsdruck muss immer über ein Formular erfolgen.
Auch die weitere Filterung (wenn 2 DS rausfallen) muss über das Formular erfolgen in dem man z.B. die nicht zu druckenden DS anhakt und den Druck des Berichts mit

DoCmd.OpenReport ... startet.
Gruß Klaus

mile85

Gedruckt wird gar nichts. Es wird eine PDF erstellt. Und die erstellt er nur mit Daten die im Bericht angezeigt werden. Die rausgefilterte Datensätze landen nicht in PDF.

Der Bericht hat nichts mit einem Formular zu tun. Über ein Formular werden die Daten nur in die Tabelle eingespiessen. Und aus der Tabelle mit dem Datensätzen wird ein Bericht generiert.

Wenn ich in dem Bericht jetzt ein Datum mit rechter maustaste anklicke und dann auf datumsfilter> Gleich... auswähle dann geht ein Fenster auf "Benutzerdefinierter Filter" und da kann ich ein Datum auswählen(Kalenderfunktion) und er zeigt mir dann alle DS von dem Tag. Das möchte ich ja über eine Schaltfläche lösen, ohne immer mit der rechte maustaste beim Datumsfeld gehen zu müssen.

Die weitere Filterung löste ich anschliessend, indem ich auf "ID" Feld klicken und oben in der menuleiste auf "filtern" drücke. dann geht beim Feld "ID" ein Fenster auf, wo ich Häckchen setzen kann, welche ID Datensätze ich anzeigen will.

MzKlMu

Hallo,
sorry, aber ein Bericht wird gedruckt. Egal, ob mit Papier oder als PDF. Dass der Bericht nichts mit dem Formular zu tun hat, ist mir auch klar. Aber wenn Du den Bericht von Hand per Button (oder per Kombi) filtern willst, so brauchst Du dazu ein Formular. Dazu kann man das Eingabeformular verwenden oder ein extra Formular erstellen.
Und wenn Du zusätzlich noch manuell Daten ausfiltern willst, so wird im einfachsten Fall in der Tabelle noch ein Hakenfeld benötigt in dem im Formular die nicht zu druckenden DS angeklickt werden.
Gruß Klaus

mile85

#14
Mag sein dass meine Ausführung für Fragezeichen sorgt, trotzdem möchte ich es so belassen.

Eigentlich funktioniert alles so wie ich mir das wünsche. Ich brauche nur eine Schaltfläche die beim klicken den Befehl "Filtern" Aus der Menüleiste "Filtern und sortieren" auslöst. Damit ich auf die menüleiste verzichten kann und im Fullscreen arbeiten kann.

EDIT: Das mit zusätzlicher Filterung wurde gelöst auf eine einfache Art, indem ich beim ID Feld "beim klicken" DoCmd.RunCommand acCmdFilterMenu