Domino 9 und frühere Versionen > ND8: Entwicklung

If Abfrage falsch

<< < (2/4) > >>

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