Domino 9 und frühere Versionen > ND8: Entwicklung
If Abfrage falsch
Tode:
Datumswerte zu vergleichen ist immer Tricky... vaktdat ist ein String mit dem aktuellen Datum. In App_Lic_Erinnerung_Dat steht warhscheinlich ein Variant vom Typ DateTime. Die sind IMMER ungleich. Du musst beide ins gleiche Format bringen, um die vergleichen zu können... Entweder, indem Du aus doc.App_Lic_Erinnerung_Dat(0) per New auch ein NotesDateTime machst, oder indem Du beide Variablen zu "Variants of Type DateTime" machst (ich meine Today ist schon sowas, und doc.App_Lic_Erinnerung_Dat(0) müsste auch sowas sein, die solltest Du vergleichen können..
--- Code: ---Dim dat1 as Variant
Dim dat2 as Variant
dat1 = Today
dat2 = doc.App_Lic_Erinnerung_Dat(0)
if dat1 <> dat2 then
--- Ende Code ---
könnte funktionieren (ohne Gewähr)
koehlerbv:
Was hat denn der String-Konkatenator hier zu suchen?
If serinJa <> "Ja" & doc.App_Lic_Erinnerung_Dat(0)<> vaktdat Then
Weiters:
Auch, wenn App_Lic_Erinnerung_Dat vom Typ Date/Time ist: Bist Du sicher, dass dort ein Mitternachtswert steht wie in Today?
Bernhard
wittmann_franz:
also, habe nun beide Werte in Variant umgewandelt:
klappt aber leider immer noch nicht. dNum wird hochgezählt, obwohl es nur einmal kommen sollte.
Werte im Debugger beim Dokument welches greifen sollte:
Vaktdat "24.02.2012" Variant
VErindat 24.02.2012 Variant
sErinJa "Ja" String
Werte bei Dokumenten wo es nicht greifen soll:
Vaktdat "24.02.2012" Variant
VErinDat "" Variant
sErinJa ""
Mein Script sieht jetzt so aus:
Dim tdate As New NotesDateTime("Today")
Dim vaktdat As Variant
Dim vErinDat As Variant
Dim sErinJa As String
Set db = session.Currentdatabase
Set view = db.GetView ("AnwendungenKopf")
vaktdat = tdate.DateOnly
Set doc = view.Getfirstdocument()
While Not (doc Is Nothing)
sErinJa = doc.App_LIC_Erinnerung_JaNein(0)
vErinDat = doc.App_Lic_Erinnerung_Dat(0)
If serinJa <> "Ja" & vErinDat <> vaktdat Then
dNum = dNum +1
Print "Hallo"
End If
Set doc = view.Getnextdocument(doc)
Wend
Print "Es ist / sind " & dNum & " Dokumente verarbeitet worden."
Wie gesagt, wenn nur ein Wert berechnet wird (egal welcher) dann funktioniert es. Nur in Kombination halt nicht
koehlerbv:
Nochmal: Was willst Du mit dem "&"??
Bernhard
wittmann_franz:
tut mir leid ich steh auf´m Schlauch
If serinJa <> "Ja" and vErinDat <> vaktdat Then
sollte doch dann richtig sein, oder?
Das tuts aber auch nicht
Nochmal zu den Werten, Vaktdat steht der Wert in Anführungszeichen bei VErindat nicht.
Wirkt sich das evt. auch noch aus?
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln