Hallo,
ich stehe vor einer schwierigen SQL-Abfrage, also zumindest für noch nicht so SQL-bewandelte Menschen.
Ich habe eine Tabelle in der Arbeiter stehen, die arbeiten im Zuge einer Arbeitsamtunterstützung (ähnlich ABM) immer ca. 1 Jahr in einem Verein.
Beispiel der Tabelle:
Name|von_datum|bis_datum
Mustermann|05.03.2002|26.02.2003
Müller|15.04.2003|12.03.2004
...
Jeder (ist eigentlich immer nur einer beschäftigt) bekommt monatlich vom AA eine Summe (Lohn) überwiesen, davon gehen Lohn, Krankenkasse und Lohnsteuer weg, das ganze wird in ner Access-DB verwaltet, und mit einem VB6 Programm wird darauf zugegriffen, geändert und verwaltet. Das ganze wird fortlaufend in die DB geschrieben, also läuft seit 1999 und wird auch noch bissel. Nun habe ich im VB Programm die Möglichkeit programmiert, dass man sich ein älteres Jahr "setzen" kann, also aktuell haben wir 2004 und ich kann einstellen, ich will nochmal alles von 2003 haben. Nun habe ich ein Problem bei der Selektion, wie hole ich mir alles was im Jahr 2003 angelegt wurde? Das würde sich ja in diesem Beispiel überschneiden, also Mustermann ist ja vom 01.01.03 bis 26.03.03 und Müller vom 15.04.03 bis 31.12.03 da aktiv gewesen.
folgendes bringt es irgendwie nicht:
'in zeitraum_von steht z.B. 12.10.2003
aktuellesJahr=2003
Felder.Open "SELECT * FROM maßnahme WHERE mid(zeitraum_von,5,10)=" & aktuellesJahr & " OR mid(zeitraum_bis,5,10)=" & aktuellesJahr, dbVerbindung
Kann jemand helfen?
Vielen Dank, Hans
Hans Kaufmann Gast |