hallo,
ich weiß nicht so genau, ob SQL für ms access das Wort Between kennt. Aber wenn ja, solltest du es damit versuchen, dann machst du so was, wie
Quelltext
1: 2: 3:
| select count(*) from Personalliste where (anfangsdatum betwenn urlaub_aus_tabelle_anfang and urlaub_aus_tabelle_ende) or (enddatum betwenn urlaub_aus_tabelle_anfang and urlaub_aus_tabelle_ende) |
wenn nun count > 0 ist, gibt es halt schon einen urlaub in der zeit, bessergesagt überschneidet sich der neue urlaub mit einem vorhandenen.
ohne betwenn geht das auch, dann musst du halt folgendes machen
Quelltext
1: 2: 3:
| select count(*) from Personalliste where ((anfangsdatum >= urlaub_aus_tabelle_anfang) and (anfangsdatum <= urlaub_aus_tabelle_ende)) or ((enddatum >= urlaub_aus_tabelle_anfang) and (enddatum <= urlaub_aus_tabelle_ende)) |
für eine abfrage, ob der neue urlaub genau in einem anderen liegt, musst du das or einfach durch and ersetzen
Gruß
Ken
Moderiert von
Tino: Code-Tags hinzugefügt.