collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 91
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14070
  • stats Beiträge insgesamt: 67529
  • stats Themen insgesamt: 9099
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Tage auslesen, zu welchen kein Datensatz existiert  (Gelesen 3825 mal)

Offline mradlmaier

  • Newbie
  • Beiträge: 33
Tage auslesen, zu welchen kein Datensatz existiert
« am: Mai 11, 2010, 15:07:04 »
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
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7424
Re: Tage auslesen, zu welchen kein Datensatz existiert
« Antwort #1 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.
« Letzte Änderung: Mai 11, 2010, 15:37:45 von MzKlMu »
Gruß
Klaus
 

Offline mradlmaier

  • Newbie
  • Beiträge: 33
Re: Tage auslesen, zu welchen kein Datensatz existiert
« Antwort #2 am: Mai 11, 2010, 18:18:26 »
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....

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.

 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7424
Re: Tage auslesen, zu welchen kein Datensatz existiert
« Antwort #3 am: Mai 11, 2010, 18:29:47 »
Hallo,
Zitat
wie 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
 

Offline mradlmaier

  • Newbie
  • Beiträge: 33
Re: Tage auslesen, zu welchen kein Datensatz existiert
« Antwort #4 am: Mai 11, 2010, 20:49:18 »
O.K. das leuchtet mir ein

Hallo,
Zitat
wie 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.