Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Access => Thema gestartet von: tosun63 am März 04, 2013, 20:07:46 Nachmittag

Titel: Laufender Datums Wert
Beitrag von: tosun63 am März 04, 2013, 20:07:46 Nachmittag
Hallo Zusammen, ich bin eig. Exceluser, soll aber für ein Projekt Access verwenden. Nun hab ich einige schwierigkeiten mich reinzudnken. Mein Programm soll mir eine tägliche Auswertung aus der Anzahl der ug. Datumswerte nach Kunden ausgeben.
Ich benötige die Ausdrücke:  Älter als gestriges Datum, gestriges Datum, und jünger als gestriges datum im Ausdrucks Generator, doch jetzt kommt der eigentliche Teil. Ich will Samstage, Sonntage und Feiertage ausschließen(also überspringen). Ich hab auch schon Varianten für die Feiertage im VBA geschrieben ( mit der gaußischen Formel ect. ). Am einfachsten wäre es mir diese Werte in einer Seperaten Tabelle (Abfrage) zu wiedergeben. Dann könnte ich einfach eine Kreuztabelle erstellen.

vielen Dank im Vorraus für die Antworten
Titel: Antw: Laufender Datums Wert
Beitrag von: gmg-cc am April 21, 2013, 12:46:46 Nachmittag
Moin,

ich würde mir (in VBA) eine Function IstKeinWerkTag(Datum) schreiben. Vom Prinzip her in etwa so:
Alle festen Feiertage kommen in ein Array.
(Jetzt folgt Pseudo-Code in EXCEL-Denke)
DO
  'Samstag oder Sonntag?
  If Weekday(Datum,2) > 5 Then
    Datum=Datum-1
    Loop
  End If
  'Fester Feiertag?
  For i = 1 To UBound(FesteFeiertage)
  If Datum = FesteFeiertage(i) Then
  Datum = Datum -1
  Loop
  End If
  Next i
  Ostern = #01.04.2013# 'Natürlich nach Gauss berechnet!
  If Datum = Ostern Or Datum = Ostern + 1 Or Datum = Ostern +50 Then '... Minuswerte für Karfreitag, und so ...
  Datum = Datum -1
  Loop
  End If
  'Hierher kommt der Code ja nur, wenn nichts dergleichen zutrifft
  Exit Do
Loop
IstKeinWerkTag = Datum
Wie gesagt, Pseudo-Code in Excel-Maner. Aber das lässt sich in Access umsetzen! Und natürlich ist dieser Ansatz ungeprüft, es kann also noch ein Fehler drin sein.