Hallo,
ich habe ein Problem bezüglich einer If-Anweisung in einer Abfrage, welches ich einfach nicht durchsteige.
Folgende Situation:
Wir verkaufen Produkte über einen Zeitraum von mehreren Monat. Monatlich muss dann eine Rate gezahlt werden.
Diese Ratenzahlungen sind in der Datenbank als "Installments" angelegt.
Nun würden wir gerne nachverfolgen, inwieweit diese Raten bezahlt werden.
Dafür wurden die "Repayments" angelegt und sobald ein Kunde zahlt, wird dieses Repayment dann dem Installment zugeordnet.
Über eine Abfrage lasse ich mir dann also die Installments und die dazugehörigen Repayments anzeigen.
Dies funktioniert auch einwandfrei.
Nun gibt es die vertragliche Pflicht, bei Zahlungsverzug eine Gebühr zu bezahlen. Diese Gebühr richtet sich nach der Dauer des Zahlungsverzugs (Anzahl der Tage).
Um nun die Höhe der Gebühr zu ermitteln, muss ich also zwei Fälle berücksichtigen:
a) Der Kunde hat noch gar nicht bezahlt aber das heutige Datum ist schon später als das eigentliche Datum der Ratenzahlung.
b) Der Kunde hat zwar gezahlt, aber diese Zahlung war zu spät, wofür er Gebühr zahlen muss.
Dies habe ich versucht in der Abfrage in einem Feld zu generieren ("Time Difference"). Folgenden Code verwende ich:
Wenn([RepaymentDate] Ist Null,(Wenn(DatDiff('t',[InstallmentDate], Datum())>0[size=14pt][b])[/b][/size],DatDiff('t',[InstallmentDate], Datum()),0),(Wenn(DatDiff('t',[RepaymentDate],[InstallmentDate])>0),DatDiff('t',[RepaymentDate],[InstallmentDate]),0))
Irgendetwas stimmt hier nicht. Wenn ich auf Ausführen klicke zeigt er mir zwar keine Fehlermeldung an, springt aber immer zu der Fett markierten Klammer. Meine Klammerzählung hat ergeben, dass alles passen müsste. Ich weiß auch nicht so recht, was ich noch tun soll.
Ich wäre euch sehr dankbar für eure Unterstützung!
Hallo,
auf den ersten Blick: ersetze die Kommata durch Semikola und die Hochkommata durch Gänsefüßa .. ;D
Nope.
Das funktioniert nicht.
In der selben Abfrage verwende ich in anderen Feldern ebenso Kommata und Hochkommata.
Zeige bitte den SQL-Code der Abfrage, der entspricht stets der englischen Syntax und ist somit eindeutig interpretierbar.
PS:
Ich tippe mal auf (mindestens) eine fehlende schließende Klammer.
Vor dem Wenn musst du keine Klammern setzen.
PS:
Die "markierte" Klammer ist fehl am Platz, die hatte ich ganz übersehen und mit den Steuerzeichen entfernt. ;-)
Gleiches gilt dann natürlich für die entsprechende Klammer im zweiten "Wenn".
Ok, jetzt funktioniert es!
Danke! :)