Elite Veteran
Beiträge: 868
Ort: Wien | Hallo, Andreas!
avonhoene - 11.09.24
also wenn ich das richtig verstanden habe, dann mache ich folgendes (jetzt erstmal grob formuliert)
1. eine Working Tabelle anlegen mit:
- Kunden-ID
- W1 Boolean Feld für die letzte Woche
- W2 Boolean Feld für die vorletzte Woche
- W3 Boolean Feld für die vorvorletzte Woche
...
- W5 Boolean Feld für die älteste Woche
Ja.
2. An einem Servicetag: Prüfen, ob die Working Tabelle leer ist!
- wenn Ja, dann könnte ich an jedem Servicetag für alle Kunden die anwesend sind das entsprechende Boolean Feld setzen bis dann nach 5 Wochen alle Felder entsprechend der Anwesenheiten gefüllt sind
- Nach 5 vergangenen Wochen müssten die Boolean Felder dann um 1 Stelle wandern, damit die Working-Tabelle immer den jeweils letzten Stand reflektiert.
Nein. Du machst mit deinen Daten und Tabellen genauso weiter wie bisher. Erst, bevor du den Bericht brauchst/aufrufst - ich nehme an, mit einer Schaltfläche - führst du eine Löschabfrage und dann eine Anfügeabfrage aus, die die Daten aus deiner Wochentabelle in die Arbeitstabelle überträgt.
3. Einen Bericht erstellen:
- basierend auf der Kundentabelle und der Working Tabelle, sodass ich die Felder W1 bis W5 in die gleiche Zeile wie die Kundendaten bringe.
Ja.
Das Witzige ist, dass die Daten früher mal tatsächlich in einer einzigen Tabelle zusammen waren und ich die Daten dann voneinander getrennt habe, da die berühmte Codd'sche Normalformenlehre besagt, dass man solche Daten trennen sollte. Habe ich da evtl. einen Denkfehler gemacht?
Nein, das Speichern der Daten passt schon so normalisiert. Man braucht dann halt manchmal für die Darstellung etwas anderes, aber das kann man aus richtig gespeicherten Daten immer irgendwie basteln.
----- Servus
Karl
*********
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek - Jetzt anmelden für 19./20.10. in Nürnberg
Access DevCon Vienna: https://www.donkarl.com/devcon
Access Forever: https://www.accessforever.org
Access News: https://www.youtube.com/playlist?list=PLVCeBbJIMDvdJ8ghMbEakJ6_EQyvy... |