Dynamischer Bericht in Access, ist das möglich?
Liebe Gemeinde,
Ich habe in Access einen Table, dieser beinhaltet Benutzerdaten und das Datum(täglich bis Jahresende).

Nun habe ich ein Formular mit Kombifeld gebastelt wo man das Gebäude auswählen kann, dieses öffnet via Button mit VBA einen Bericht mit dem Kombifeld als Filter.
Code der beim Klicken des Buttons ausgeführt wird:
Jetzt zur eigentlichen Frage:
ich möchte ein 2. Kombifeld einbauen wo man zusätzlich noch das Datum auswählen kann, also quasi Gebäude und Zeitraum, mit diesen Optionen soll dann der Bericht generiert werden.
Leider überschreitet das meine Access/VBA skills komplett bzw. wüsste ich nicht ob das überhaupt möglich ist.
Bitte um Hilfe!
Besten Dank!
Gruß
Dr.C
Ich habe in Access einen Table, dieser beinhaltet Benutzerdaten und das Datum(täglich bis Jahresende).

Nun habe ich ein Formular mit Kombifeld gebastelt wo man das Gebäude auswählen kann, dieses öffnet via Button mit VBA einen Bericht mit dem Kombifeld als Filter.
Code der beim Klicken des Buttons ausgeführt wird:
Private Sub Befehl5_Click()
DoCmd.OpenReport "KST_EXPORT_KOMBI", acViewPreview, wherecondition:="[Station] = '" & Me.Kombinationsfeld0.Value & "'"
Reports!kst_export_kombi.Printer.Orientation = acPRORLandscape
End Sub
Jetzt zur eigentlichen Frage:
ich möchte ein 2. Kombifeld einbauen wo man zusätzlich noch das Datum auswählen kann, also quasi Gebäude und Zeitraum, mit diesen Optionen soll dann der Bericht generiert werden.
Leider überschreitet das meine Access/VBA skills komplett bzw. wüsste ich nicht ob das überhaupt möglich ist.
Bitte um Hilfe!
Besten Dank!
Gruß
Dr.C
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 304302
Url: https://administrator.de/forum/dynamischer-bericht-in-access-ist-das-moeglich-304302.html
Ausgedruckt am: 19.04.2025 um 02:04 Uhr
9 Kommentare
Neuester Kommentar

Wieso erstellt man für jeden Tag im Jahr eine extra Spalte?? Normalerweise stehen die in den Zeilen und nicht in den Spalten. Da ist wohl die Planung miserabel gewesen.
Wie im letzten Post geschrieben kannst du einfach die SQL (Where) Condition im letzten Parameter mit einem AND ergänzen und so dein Datum als zusätzliches Kriterium mit einbauen.
Dazu brauchst du kein VBA Wissen nur minimales SQL Abfragen-Verständnis, denn die Where Condition ist eine SQL Query nur ohne das Schlüsselwort WHERE.
Wäre vielleicht mal angebracht das du dir die Doku dazu anschaust.
https://support.office.com/en-us/article/Access-SQL-WHERE-clause-753bbc1 ...
Wie im letzten Post geschrieben kannst du einfach die SQL (Where) Condition im letzten Parameter mit einem AND ergänzen und so dein Datum als zusätzliches Kriterium mit einbauen.
Dazu brauchst du kein VBA Wissen nur minimales SQL Abfragen-Verständnis, denn die Where Condition ist eine SQL Query nur ohne das Schlüsselwort WHERE.
Wäre vielleicht mal angebracht das du dir die Doku dazu anschaust.
https://support.office.com/en-us/article/Access-SQL-WHERE-clause-753bbc1 ...

Da wir hier fast Null Info über den genauen Aufbau der Tabelle haben etwa nach diesem Schema
usw. und sofort, denke jetzt sollte die Vorgehensweise klar sein wie man Bedingungen verknüpft. Bitte aber noch beachten das bei manchen Datentypen Hochkommas um die Werte nötig sind, z.B. bei Strings.
Access Fragen sind eben immer problematisch wenn zu wenig Infos über die DB und deren Aufbau vorhanden sind
Aber an einer Access DB ohne jegliche VBA und SQL Kenntnisse zu hantieren ist schon sportlich ...
DoCmd.OpenReport "KST_EXPORT_KOMBI", acViewPreview, wherecondition:="[Station] = '" & Me.Kombinationsfeld0.Value & "' AND [DATUMSSPALTE] >= " & Me.KombinationsfeldDatumVON.Value & " AND [DATUMSSPALTE] <= " & Me.KombinationsfeldDatumBIS.Value
Access Fragen sind eben immer problematisch wenn zu wenig Infos über die DB und deren Aufbau vorhanden sind
Aber an einer Access DB ohne jegliche VBA und SQL Kenntnisse zu hantieren ist schon sportlich ...

Klarer Fall von schlechtem Tabellendesign oder Abfrage.
Normalerweise hat man eine Tabelle Mitarbeiter und dann eine Tabelle Arbeitszeiten. In der Tabelle Arbeitszeiten gibt es dann ein verknüpftes Fremdschlüsselfeld für den Mitarbeiter, ein Feld Datum und ein Feld für die Arbeitszeit. D.h. für jeden Tag den irgendein Mitarbeiter arbeitet gibt es eine neue Zeile. Damit kann man vernünftig arbeiten und auch effektiv mit Abfragen filtern und Summen für bestimmte Zeiten etc. generieren.
Sorry aber dieses Tabellendesign ist schlichtweg unpraktikabel. Deine Abfragen solltest du besser strukturieren.
Normalerweise hat man eine Tabelle Mitarbeiter und dann eine Tabelle Arbeitszeiten. In der Tabelle Arbeitszeiten gibt es dann ein verknüpftes Fremdschlüsselfeld für den Mitarbeiter, ein Feld Datum und ein Feld für die Arbeitszeit. D.h. für jeden Tag den irgendein Mitarbeiter arbeitet gibt es eine neue Zeile. Damit kann man vernünftig arbeiten und auch effektiv mit Abfragen filtern und Summen für bestimmte Zeiten etc. generieren.
Sorry aber dieses Tabellendesign ist schlichtweg unpraktikabel. Deine Abfragen solltest du besser strukturieren.

Deswegen plant man sein Tabellendesign bevor man eine Datenbank auf dieser Basis entwickelt, nicht umgekehrt.
https://www.teialehrbuch.de/Kostenlose-Kurse/Access-2010-Basis/2-Datenba ...
https://www.teialehrbuch.de/Kostenlose-Kurse/Access-2010-Basis/2-Datenba ...