Auf Thema antworten

Hallo Markus,


eine Möglichkeit und das wäre wahrscheinlich die einfachste, Du legst Dir eine Kalendertabelle an, in der Du jedem Tag seine Kriterien zuordnen kannst. Das Datumsfeld bildet den Index. Weitere Felder  wären, in diesem Fall Saison, Jahreszeit, aber auch Feiertag oder auch Wochentag. Obwohl für Wochentag gibt es ja auch schon eine Standardfunktion.

Die Tabelle läßt sich mit Excel schnell erstellen und nach Access importieren.

So schaust Du bei einer Abfrage mit dem jeweiligen Datum einfach in die Tabelle und weißt, was in den anderen Feldern für den jeweiligen Tag steht.

Wenn Du dann noch Funktionen baust. Saison(D) und Jahreszeit(D), wobei D als Datumsparameter zu sehen ist, den Du jeweils mitgibst, kannst Du die Funktionen einfach überall anwenden, auch in Abfragen. Die Funktionen müssen nur in einem allgemeinen VBA-Modul als Public Function liegen. Dann einfach mit Dlookup das Datum ermitteln.


Wenn Du keine Kalendertabelle möchtest kannst Du natürlich auch in den Funktionen das Ergebnis mit VBA ermitteln.

Das ist eine schöne Übung um mit Datumsfunktionen wie DatSerial, Datadd usw. umzugehen. Man achte dabei auf die vielen Datumsformate, die es gibt und wie Access sie verarbeitet. Intern ist ist das ja nur eine Long Integer Zahl. Aber angegeben wird es mit der amerikanischen Schreibweise #mm/dd/yyyy#. Und es gibt auch einige Umrechnungsfunktionen, die es sich lohnt auch mal anzuschauen. (CDate, usw.)


Du solltest auch noch wissen, dass man ein Datum auch in seinen Teilen ansprechen kann: Day(MeinDatum), Month(MeinDatum) oder Year(MeinDatum). In Abfragen auf Deutsch: Tag(Meindatum), usw.


Datums- und Zeitberechnungen sind ein weites Feld.


Zurück
Oben