Forum
Tipps
News
Menu-Icon

Auch Problem mit SQL-Select

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


Antworten zu Auch Problem mit SQL-Select:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo |

Habe leider dein Problem nicht vollständig verstanden, aber versuchen wir's mal:

Was meinst du mit "im Jahre 2003 angelegt" ? Und das mit der Überschneidung hab ich auch noch nicht ganz gerafft. Wie soll's denn aussehen, und wo liegt da das Problem mit der Überschneidung?

greez 8)
JoSsiF

Hallo,

ja danke. Also mit "im Jahr 2003 angelegt" meine ich, dass er mir alles aus der Datembank holen soll, wo das Datum (=Datum des Eintrags in der DB) im Jahr 2003 liegt.
Mit der Überschneidung hab ich eigentlich nur gemeint, dass die Leute nicht vom 01.01. bis zum 21.12 eines Jahres arbeiten, sondern halt zwischendrin anfangen können. So wie oben im Beispiel, und demnach in einem Jahr 2 Leute drin stehen.

Hans

probier mal so:

SELECT * FROM maßnahme WHERE year(zeitraum_von)=" & aktuellesJahr & " OR year(zeitraum_bis)=" & aktuellesJahr, dbVerbindung

oder

"SELECT * FROM maßnahme WHERE mid(zeitraum_von,5,10)='" & aktuellesJahr & "' OR mid(zeitraum_bis,5,10)='" & aktuellesJahr & "'", dbVerbindung

Gruß

« Letzte Änderung: 10.03.04, 19:58:12 von Nighty »

« Erstellen einer Externen DateiVBA »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...

Programm
Siehe Software...