| Ich bin neu - im Forum und als Access-Anwender und habe folgendes Problem:
Ich soll heraus finden, ob ein Kunde nachdem er eine Beschäftigung aufgenommen hat in 3, 6, 9 und 12 Monaten noch in Beschäftigung ist, d.h. ob in der Tabelle tPersLeben ein gültiger Datensatz vorhanden ist. Dies kann der gleiche oder ein neuer Datensatz sein.
Hier der SQL-String mit dem ich den Kundenkreis für den Betrachtungszeitraum festlege:
SELECT tPersLeben.tLLVonPersId AS Kunde, axRbBaELBez.tRoRbName AS BaELBez, axRbBaStat.tRoRbName AS BaStatistik, IIf(Format([tPeGebDatum],"mm-dd")<=Format(Date(),"mm-dd"),DateDiff("yyyy",[tPeGebDatum],Date()),DateDiff("yyyy",[tPeGebDatum],Date())-1) AS [Alter], tPersLeben.tLLAb AS NHVAb, tPersLeben.tLLBis AS NHVBis
FROM (((tPersLeben INNER JOIN axRbBaELBez ON tPersLeben.tLLBaElBez = axRbBaELBez.tRoWert) INNER JOIN axRbBaStat ON tPersLeben.tLLBaStat = axRbBaStat.tRoWert) LEFT JOIN axRbLLStatus ON tPersLeben.tLLStatus = axRbLLStatus.tRoWert) INNER JOIN tPers ON tPersLeben.tLLVonPersId = tPers.tPeId
WHERE (((tPersLeben.tLLSachArt)="Beschäftigung") AND ((axRbBaELBez.tRoInForm) Like 'fPersLebenE..Beschäftigung') AND ((axRbBaStat.tRoInForm) Like 'fPersLebenE..Beschäftigung'))
GROUP BY tPersLeben.tLLVonPersId, axRbBaELBez.tRoRbName, axRbBaStat.tRoRbName, IIf(Format([tPeGebDatum],"mm-dd")<=Format(Date(),"mm-dd"),DateDiff("yyyy",[tPeGebDatum],Date()),DateDiff("yyyy",[tPeGebDatum],Date())-1), tPersLeben.tLLAb, tPersLeben.tLLBis, tPersLeben.tLLStatus
HAVING (((axRbBaELBez.tRoRbName)<>"Zweiter Arbeitsmarkt") AND ((axRbBaStat.tRoRbName) Like "*zKt*") AND ((tPersLeben.tLLAb) Between fctAb() And fctBis()) AND ((tPersLeben.tLLBis)>=fctGetStichtag() Or (tPersLeben.tLLBis) Is Null) AND ((tPersLeben.tLLStatus)<>"d" Or (tPersLeben.tLLStatus) Is Null))
ORDER BY tPersLeben.tLLVonPersId;
Ich würde jetzt gerne entweder in dieser Abfrage bzw. wohl eher in einer Unterabfrage für die o.g. Zeiträume nachsehen ab eine Datensatz vorhanden ist der dann den Wert Ja oder Nein zurückgibt (Noch in einer Beschäftigung). Für die Berechnung benötige ich den Wert aus dem Feld NHVAb (mit between ermittelt),<=[NHVAB]+91 und das Feld NHVBis >=[NHVAB]+91 or Null. Ich bekomme aber kein passendes Ergebnis heraus.
Wer kann mir hierzu ein paar Tips geben?
Gruß aus dem Norden der BRD
HH
|