Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 06.01.03 - 17:48:09

Titel: Datumsvergleich in Script
Beitrag von: Don Pasquale am 06.01.03 - 17:48:09
Hallo Notes-Gemeinde,

ich habe ein Array, welches teilweise mit Datumswerten gefüllt ist,
dieses Array will ich auf- oder Absteigend nach diesen Datumswerten sortieren. soweit bin ich bisher gekommen, aber
danach verliessen sie ihn.
Wie vergleiche ich 2 String felder in denen ein Datum steht ?

Auszug aus dem Code :
...
Dim x As Integer
x = dc.Count

Dim Ersatz (1 To 2 ) As Variant
Dim AnArray ( )
Redim AnArray ( 1 To x, 1 To 2 ) As Variant
         
Set doc=dc.GetFirstDocument  
i = 1
While Not (doc Is Nothing)    
         
AnArray(i,1) = doc.e4fld_Doc_ID(0)
AnArray(i,2) = doc.e4ihk_DokumentDatum(0)
i = i + 1
Set doc = dc.GetNextDocument(doc)          
Wend   
         
         
For i = 1 To x-1
      
Dim Dat1 As New NotesDateTime( Cdat( AnArray(i,2) ))
Dim Dat2 As New NotesDateTime( Cdat(AnArray(i+1,2)))
            
            
If Dat1 < Dat2 Then



vielen dank
für eure hilfe


ciao
Don Pasquale
Titel: Re:Datumsvergleich in Script
Beitrag von: wflamme am 06.01.03 - 22:11:49
CDat() vergleichen statt NotesDateTime, würde ich sagen.
Titel: Re:Datumsvergleich in Script
Beitrag von: forrest g am 07.01.03 - 02:10:04
hallo don pasquale,

vorweg muss ich sagen, dass ich das ganze natürlich nicht mit deinem code testen konnte/wollte.
deshalb habe ich mir eine einfache form mit 4 feldern erstellt:
- 2 stringfelder vom typ text  mit den datumswerten darin(per hand eingegeben)
- 2 datetimefelder vom typ date/time, computet mit @texttotime(stringfeld)

also der code geht folgendermassen weiter:

Dim timediff As Long
      
timediff = Dat1.TimeDifference(Dat2)
If (timediff < 0) Then
   'Datum1 < Datum2
   'Print"Datum1 < Datum2"
   Msgbox"Datum1 < Datum2, dh Datum2 ist grösser"
Elseif (timediff > 0) Then
   'Datum1 > Datum2
   'Print"Datum1 > Datum2"
   Msgbox"Datum1 > Datum2, dh Datum1 ist grösser"
Elseif (timediff = 0) Then
   'Datum1 = Datum2
   'Print"Spezialfall: beide Datumswerte sind gleich"   
   Msgbox"Wenn das sein kann, irgendwas dafür überlegen..."   
End If
Titel: Re:Datumsvergleich in Script
Beitrag von: Don Pasquale am 07.01.03 - 09:25:04

@wflamme

hatte ich vorher bereits probiert :-(

@Forrest g

Dim timediff As Long    
timediff = Dat1.TimeDifference(Dat2)

Das ist es.
Vielen Dank.

Ciao

Don Pasquale
Titel: Re:Datumsvergleich in Script
Beitrag von: wflamme am 07.01.03 - 11:13:07
War mir auch nicht 100%ig sicher, aber irgendeine C... Funktion wird's mit Sicherheit schon tun, probier mal CDbl(CDat()) oder so. Ist höchstwahrscheinlich schneller als der Weg über's Objekt (sofern Zeitzonen keine Rolle spielen).
Titel: Re:Datumsvergleich in Script
Beitrag von: Till_21 am 07.01.03 - 15:09:44
Du kannst auch die LSLocalTime Eigenschaft zum vergleichen benutzen.
LS ueberläd den groesser/kleiner operator...

till