Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Paule am Mai 18, 2016, 11:17:48

Titel: Nz Funktion in Abfrage - WertWennNull?
Beitrag von: Paule am Mai 18, 2016, 11:17:48
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
Titel: Re: Nz Funktion in Abfrage - WertWennNull?
Beitrag von: MaggieMay am Mai 18, 2016, 11:28:14
Hi,

da sollte doch folgender Ausdruck völlig genügen:
<=Nz([TempVars]![EndDateRO],Datum())
Titel: Re: Nz Funktion in Abfrage - WertWennNull?
Beitrag von: Paule am Mai 18, 2016, 12:00:22
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;
Titel: Re: Nz Funktion in Abfrage - WertWennNull?
Beitrag von: DF6GL am Mai 18, 2016, 12:16:42
Hallo,

sicher, dass dieser Ausdruck gewollt so ist ?

Zitat...<=     Nz([TempVars]![EndDateRO],(CF_InstallmentsT.InstallmentDate)<Date()))    And ...
Titel: Re: Nz Funktion in Abfrage - WertWennNull?
Beitrag von: Paule am Mai 18, 2016, 12:27:45
Aaah, das kleiner Zeichen musste weg. Jetzt geht es... :)
Danke für den Hinweis.