Hallo,
ich bin gestern beim Programmieren mal wieder über eine Hürde mit Datumsoperationen gestolpert. Um die NotesDateTime Klasse aus Performance-Gründen zu umgehen, habe ich mir eine Adjust-Funktion von Tagen mit Datenumber gebaut. Also ungefähr so:
Public Function AdjustDays(StartDate as Variant, Days2Add as Integer)
AdjustDays = CDat(DateNumber(Year(StartDate),Month(StartDate),Day(StartDate) + Days2Add ) + TimeNumber(Hour(StartDate), Minute(StartDate), Second(StartDate)))
End Function
Bitte nicht wegen dem Programmierstiel schimpfen - sieht in Wirklichkeit natürlich viel besser aus ;)
Nun entsteht das eigentliche Problem, wenn ich diesen Rückgabewert auf ein NotesItem vom Typ Datum speichere. Dabei wird anscheinend ein String gespeichert aber laut Dokumenteigenschaften ist es weiterhin ein Datum (auch in der Form DD.MM.YYYY HH:MM:SS). Nimmt man diesen Wert nun für Vergleichsoperationen heran, geht garnichts mehr. Die Ergebnisse sind alle falsch. Mit dem Adjust der NDT-Klasse klappt natürlich alles ohne Probleme... ???
Wie kann ich also eine Konvertierung dieses "STRING" oder was auch immer, wieder auf ein Datum/Zeit-Wert bekommen? Habt ihr da Lösungen?
Gruß Kristian
@Bernhard: Oja das kommt davon, wenn man OnTheFly hier Code eingibt ;D Das ist natürlich Variant
Public Function AdjustDays(StartDate as Variant, Days2Add as Integer) as Variant
AdjustDays = CDat(DateNumber(Year(StartDate),Month(StartDate),Day(StartDate) + Days2Add ) + TimeNumber(Hour(StartDate), Minute(StartDate), Second(StartDate)))
End Function
@Andreas: Der Beiweis wurde hier http://www.jnotes.de/jnotes/JRIK-8J5RZS (http://www.jnotes.de/jnotes/JRIK-8J5RZS) erbracht. Im "kleinen" Umfang natürlich kein großer Unterschied aber bei einigen Tausend Dokumente ist es auf jeden Fall spürbar.