November 25, 2020, 06:39:39

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Tage auslesen, zu welchen kein Datensatz existiert

Begonnen von mradlmaier, Mai 11, 2010, 15:07:04

⏪ vorheriges - nächstes ⏩

mradlmaier

Hallo,

Ich habe eine Tabelle mit einem Datumsfeld, und einigen anderen Daten dazu.
Ich würde gerne eine abfragen zu welchen Tagen noch kein Datensatz existiert.
Wie kann ich das abfragen?
Die Idee dabei ist, auf einen Blick zu sehen für welchen Tag noch kein Datensatz existiert.
Danke,
Michael

MzKlMu

Mai 11, 2010, 15:26:16 #1 Letzte Bearbeitung: Mai 11, 2010, 15:37:45 von MzKlMu
Hallo,
brauchst Du alle Tage, mit Samstagen/Sonntagen oder ohne?

In jedem Fall würde ich aber eine Hilfstabelle anlegen, die alle erforderlichen Tage enthält, nur diese eine Spalte.

Eine Abfrage würde dann so aussehen:

SELECT   Datum, Hilfstabelle.SollDatum
FROM     TabellenName RIGHT JOIN Hilfstabelle ON TabellenName .Datum = Hilfstabelle.SollDatum
WHERE    Datum Is Null
ORDER BY Datum;


Das ist dann SQL und mit Abstand auch die schnellste Methode.

Nachtrag:
Die Hilfstabelle kannst Du Dir ganz einfach in Excel für einen 10 Jahreszeitraum (z.B. sind nur 3650 DS) erstellen und in Access importieren.
Mit einer Bedingung in der Spalte "Solldatum" kann problemlos ein Zeitraum gefiltert werden.
Gruß
Klaus

mradlmaier

Alle Tage...und jeden neuen Tag obendrein dazu...darin liegt das problem...wie krieg ich den ms-access dazu die neuen tage automatisch anzulegen? autoexec? trigger gibts ja nicht in access....

Zitat von: MzKlMu am Mai 11, 2010, 15:26:16
Hallo,
brauchst Du alle Tage, mit Samstagen/Sonntagen oder ohne?

In jedem Fall würde ich aber eine Hilfstabelle anlegen, die alle erforderlichen Tage enthält, nur diese eine Spalte.

Eine Abfrage würde dann so aussehen:

SELECT   Datum, Hilfstabelle.SollDatum
FROM     TabellenName RIGHT JOIN Hilfstabelle ON TabellenName .Datum = Hilfstabelle.SollDatum
WHERE    Datum Is Null
ORDER BY Datum;


Das ist dann SQL und mit Abstand auch die schnellste Methode.

Nachtrag:
Die Hilfstabelle kannst Du Dir ganz einfach in Excel für einen 10 Jahreszeitraum (z.B. sind nur 3650 DS) erstellen und in Access importieren.
Mit einer Bedingung in der Spalte "Solldatum" kann problemlos ein Zeitraum gefiltert werden.


MzKlMu

Hallo,
Zitatwie krieg ich den ms-access dazu die neuen tage automatisch anzulegen?
Diese Frage stellt sich erst gar nicht. Die Hilfstabelle umfasst alle Datumswerte bis zum St.Nimmerleinstag. Da wird nichts angefügt.
Also eine Hilfstabelle über 10 Jahre z.B. vom 1.1.2008 bis 31.12.2018 oder auch einen beliebig größeren (aber sinnvollen Bereich).
11000 Datumswerte wären einen Bereich von rund 30 Jahren. 11000 Datensätze sind rund 88000 Byte (88KB) das ist vernachlässigbar.
Diese Tabelle ist einfach immer in voller Datensatzzahl vorhanden.

Eine Abfrage kann auch automatisch die Wochenenden rausfallen lassen. Alles kein Problem.

Die Hilfstabelle ist übrigens durchaus eine gängige Methode für ein solches Problem.
Gruß
Klaus

mradlmaier

O.K. das leuchtet mir ein

Zitat von: MzKlMu am Mai 11, 2010, 18:29:47
Hallo,
Zitatwie krieg ich den ms-access dazu die neuen tage automatisch anzulegen?
Diese Frage stellt sich erst gar nicht. Die Hilfstabelle umfasst alle Datumswerte bis zum St.Nimmerleinstag. Da wird nichts angefügt.
Also eine Hilfstabelle über 10 Jahre z.B. vom 1.1.2008 bis 31.12.2018 oder auch einen beliebig größeren (aber sinnvollen Bereich).
11000 Datumswerte wären einen Bereich von rund 30 Jahren. 11000 Datensätze sind rund 88000 Byte (88KB) das ist vernachlässigbar.
Diese Tabelle ist einfach immer in voller Datensatzzahl vorhanden.

Eine Abfrage kann auch automatisch die Wochenenden rausfallen lassen. Alles kein Problem.

Die Hilfstabelle ist übrigens durchaus eine gängige Methode für ein solches Problem.