Tage Vorwochen ermitteln

Antwort erstellen

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :razz: :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :badgrin: :doubt:
BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet
Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Tage Vorwochen ermitteln

Re: Tage Vorwochen ermitteln

Beitrag von dera1 » 27. Aug 2021, 12:07

Hallo,

ich habe mich jetzt für die Kalender-Tabelle-Variante entschieden.

Da werde ich mich am WE mit Zettel, Stift, auf den Balkon setzen, ein Flasch Bier auf korken und darüber nach denken was für Felder, mit welchen Infos/Datentypen, ich so für alles Mögliche gebrauchen kann.

Danke und noch mal und schönes Wochenende
dera

Re: Tage Vorwochen ermitteln

Beitrag von Gast » 26. Aug 2021, 12:56

Code: Alles auswählen
SELECT DISTINCT TOP 28
   vorTag
FROM
   Vortage
WHERE
   aktTag <= Date()
ORDER BY
   vorTag

Re: Tage Vorwochen ermitteln

Beitrag von dera1 » 26. Aug 2021, 12:21

Hallo Christian,

erst mal Danke.

Universelle Kalendertabelle ist eine gute Idee. Da werde ich in einer ruhige Stunde mal dran arbeiten.

aktuell brauche ich aber eine Lösung für das beschriebene Problem.

Gruß
dera

Re: Tage Vorwochen ermitteln

Beitrag von Bitsqueezer » 26. Aug 2021, 09:51

Hallo,

warum so kompliziert? Erstelle eine Kalendertabelle, in der jeder Tag ein Datensatz ist und füge dieser zusätzliche Attribute hinzu, also etwa Tag der Woche (wie Dein "wTag"), Arbeitstag mit Ja/Nein (was auch feste Feiertage beinhaltet), Wochenende mit Ja/Nein, einzelne Felder für Tag, Monat, Jahr usw.

Eine solche allgemeine Kalendertabelle ist dann für ALLE Zwecke einsetzbar, dann brauchst Du Deine Hilfstabelle nicht mehr.

Code: Alles auswählen
SELECT TOP 28 aktTag FROM Kalendertabelle
WHERE Wochentag = True
AND aktTag BETWEEN DateAdd("d",-1,Date()) AND DateAdd("d",-60,Date())
ORDER BY aktTag DESC


liefert alle Arbeitstage der letzten 60 Tage vor dem heutigen Tag, sortiert sie absteigend nach dem Datum und beschränkt sie dann auf 28 Ergebnisse, vomit das letzte Datum der gesuchte Arbeitstag ist. Geht dann genauso mit -2 Tagen, wenn Du TOP 2 verwendest.

In VBA kannst Du einfach DMin("aktTag","DeineAbfrage") verwenden, um den Tag aus der Abfrage zu bekommen. Alternativ kannst Du auch eine MIN-Abfrage auf diese Abfrage erstellen.

Mit so einer Kalendertabelle kommst Du für alle Aufgaben klar.

Gruß

Christian

Tage Vorwochen ermitteln

Beitrag von dera1 » 26. Aug 2021, 08:40

Hallo Leute,

mir hat es gerade das Hirn vernagelt.

Ich habe eine Hilfstabelle(Vortage) in der zum aktuellen Datum der Arbeitstag(-2) steht.
Den Vortag selbst abfragen ist ja einfach
Code: Alles auswählen
SELECT Vortage.vorTag FROM Vortage WHERE Vortage.aktTag=Date()


Jetzt will ich aber alle Tage Vortag-28 bis Vortag abfragen.
Ich weiß, es muss ganz einfach sein, aber ich habe gerade Synapsensalat :D

Datenbank hängt gezippt an.

Danke
dera

Nach oben