2009-05-14 2 views
1

Ich versuche nur die Datensätze auszuwählen, in denen ihr Datum vom aktuellen Datum bis zum Ende des Monats in drei Monaten fällt.Crystal Reports Datumsfunktionen

Zur Zeit gibt es zwei Termine in der Tabelle, die der Abfrage entsprechen:
Judy: 5/17/09
asdf:

DateVar current = Date(DurrentDateTime); //takes the time off 
DateVar ThreeMonthsAway = Date(year(CurrentDateTime), month(CurrentDateTime)+4, 1) - 1; // month+4, then -1 days to get last day three months away 
{tblTenant.LeaseEnds} > current AND {tblTenant.LeaseEnds} < ThreeMonthsAway 
: 8/9/09

Das ist meine Formel

Das Problem ist, es gibt keine Ergebnisse zurück. Wenn ich den zweiten Teil davon abziehe, bekomme ich beide Ergebnisse, aber ich will nur die Daten innerhalb von drei Monaten.

Was mache ich falsch?

Antwort

1

Aus Ihrem Codebeispiel rate ich, dass Sie Crystal Syntax zum Schreiben Ihrer Formel verwenden, also muss die Variablenzuweisung mit ": =" und nicht "=" erfolgen. Das "=" wird zum Vergleichen von Werten in Crystal Syntax verwendet. Siehe zum Beispiel here. (. Vielleicht sind Sie es mit dem Grund Syntax Mischen)

So Ihr Code lesen müssen (leider habe ich hier nicht CR zu testen):

DateVar current := Date(CurrentDateTime); //takes the time off 
DateVar ThreeMonthsAway := Date(year(CurrentDateTime), month(CurrentDateTime)+4, 1) - 1; // month+4, then -1 days to get last day three months away 
{tblTenant.LeaseEnds} > current AND {tblTenant.LeaseEnds} < ThreeMonthsAway 
0

Vielleicht, weil Sie 4 Monate hinzufügen - was ist in der Zukunft - anstatt sie zu subtrahieren?

Sie fragen fragt nach "Ende des Monats vor drei Monaten", aber die Beispieldaten sind (wie von 2009-05-14) in die Zukunft, so könnte es sein, dass ich Ihre Frage oder Ihre Frage falsch interpretiere ist falsch geschrieben.

Haben Sie den Wert von ThreeMonthsAway ausgedruckt, um zu sehen, was es bewertet? Sind Sie sicher, dass die 3-Argumente-Form von Date() die Argumente in der Jahr-Monat-Tag-Reihenfolge verwendet (es ist plausibel, aber ich habe auch Systeme gefunden, bei denen die Reihenfolge Monat-Tag-Jahr ist)?


Einige der hier gemachten Punkte wurden durch die Festsetzung der Frage (oder Kommentare, weil die Frage, da die Kommentare gemacht wurden fixiert war irrelevant gemacht wurden) angesprochen.

+0

Wie kann ich ThreeMonthsAway ausdrucken? – Malfist

+0

Wie drucken Sie eine andere Variable oder einen anderen Wert aus? Wenn nötig, fügen Sie es als Teil der Ausgabe ein (zumindest während der Fehlersuche). –

+0

Ich weiß nicht, wie man die anderen Variablen in Crystal Reports ausgibt. – Malfist