Hallo, ich habe eine Frage zu einer NZ-Funktion in einer Abfrage.
Und zwar möchte ich mir in der Abfrage die Datensätze anzeigen lassen, die ein InstallmentDate (so heißt das Feld) aufweisen mit folgenden Eigenschaften:
>=Nz([TempVars]![StartDateRO],DatWert('1900-01-01')) Und <=Nz([TempVars]![EndDateRO],DatWert(<Datum()))
Dies ist zu komplex um ausgewertet zu werden. Ich weiß, dass es an der WertWennNull Eigenschaft der zweiten NZ-Funktion liegt.
Ich würde gerne, dass er mir alle Datensätze mit Installment Date kleiner gleich der TempVar "EndDateRO" anzeigen lässt, und wenn diese nicht vorhanden ist, soll er mir alle anzeigen, die ein Installment Date aufweisen, welches vor dem heutigen Datum liegt.
Das wird sich wahrscheinlich daran liegen, das irgendetwas an Werte-Typ falsch ist?
Könnt ihr mir weiterhelfen?
Viele Grüße,
Marcus
Hi,
da sollte doch folgender Ausdruck völlig genügen:
<=Nz([TempVars]![EndDateRO],Datum())
Hallo,
danke erstmal.
Dann ist der Fehler zwar weg, aber die Abfrage funktioniert nicht. Es gibt keine Datensätze, obwohl es sie geben sollte.
Hier ist mal der SQL-Code der Abfrage insgesamt:
SELECT SA_Sales.SalesID, SA_Sales.CustomerID, SA_Customer.CustomerName, CF_InstallmentsT.Notes, CF_InstallmentsT.InstallmentDate, CF_InstallmentsT.InstallmentSum, CF_InstallmentRepayment.RepaymentDate, CF_InstallmentRepayment.RepaymentAmount, IIf([RepaymentAmount]<>[InstallmentSum],[RepaymentAmount]-[InstallmentSum]) AS [Amount Difference], IIf([RepaymentDate] Is Null,IIf(DateDiff('d',[InstallmentDate],Date())>0,DateDiff('d',[InstallmentDate],Date())),IIf(DateDiff('d',[InstallmentDate],[RepaymentDate])>0,DateDiff('d',[InstallmentDate],[RepaymentDate]))) AS TimeDifference, IIf([TimeDifference]>0,[TimeDifference]*100) AS Fines
FROM (SA_Customer INNER JOIN SA_Sales ON SA_Customer.CustomerID = SA_Sales.CustomerID) INNER JOIN (CF_InstallmentsT LEFT JOIN CF_InstallmentRepayment ON CF_InstallmentsT.InstallmentID = CF_InstallmentRepayment.InstallmentNo) ON SA_Sales.SalesID = CF_InstallmentsT.ReferingSale
WHERE (((CF_InstallmentsT.InstallmentDate)>=Nz([TempVars]![StartDateRO],DateValue('1900-01-01')) And (CF_InstallmentsT.InstallmentDate)<=Nz([TempVars]![EndDateRO],(CF_InstallmentsT.InstallmentDate)<Date())) AND ((SA_Sales.Branch) Like [TempVar]![SellingEntityRO] & '*'))
ORDER BY CF_InstallmentsT.InstallmentDate;
Hallo,
sicher, dass dieser Ausdruck gewollt so ist ?
Zitat...<= Nz([TempVars]![EndDateRO],(CF_InstallmentsT.InstallmentDate)<Date())) And ...
Aaah, das kleiner Zeichen musste weg. Jetzt geht es... :)
Danke für den Hinweis.