Autor Thema: If Abfrage im Notes Script wirkungslos...  (Gelesen 4089 mal)

Thobz

  • Gast
If Abfrage im Notes Script wirkungslos...
« am: 31.07.07 - 14:18:20 »
Hallo,

mit dem folgenden Code Schnipsel stimmt irgendwas nicht.
Die 1. If Abfrage funktioniert einwandfrei, aber die 2. scheint immer wahr
zu sein und somit läuft er dort auch immer rein.
Obwohl 'neu' in einigen Fällen größer als 'alt' ist.
Habt ihr eine Idee woran das liegt ? 
Die Werte sind okay, hab ich mir schon per MsgBox anzeigen lassen.



       Dim neu As Variant
         Dim alt As Variant
         neu=doc.KBETR(0)
         alt=doc.KBETRV(0)
         
         
         Browser=Evaluate("@ClientType")
         
         If Browser(0)="None" Then
            If  alt > neu  Then
               strAenderung = GetWareninfoBezeich( Doc.AEART(0), False ) + doc.KBETRV(0) + " " +           
                    doc.KONWAV(0) + " --> " + doc.KBETR(0) + " "  +doc.KONWA(0) 
                                End If
         End If




gruß Thobz
« Letzte Änderung: 31.07.07 - 14:20:39 von Thobz »

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #1 am: 31.07.07 - 14:25:18 »
Sind die Werte als Strings gespeichert?
Dann sieht das zwar richtig aus, aber das mit dem '>' geht in die Hose.

mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

klaussal

  • Gast
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #2 am: 31.07.07 - 14:27:32 »
Ich würde die beiden Felder als "Long" definieren. Da stehen ja wohl Zahlen drinne.

Glombi

  • Gast
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #3 am: 31.07.07 - 14:28:21 »
Dim neu As Variant
Dim alt As Variant

Was soll das? Stehen da Zahlen, Text oder Datumswerte drin?
Sind die Felder immer gefüllt?


Thobz

  • Gast
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #4 am: 31.07.07 - 14:43:44 »
Hallo,

also in den Werten sind Zahlen, zum Beispiel 99.00 oder 139.90.
Also wenn ich sie als Long deklariere, bekomme ich die Meldung "TypeMismatch".
Die Felder sind auch immer gefüllt...


gruß Thobz

klaussal

  • Gast
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #5 am: 31.07.07 - 14:45:56 »
Ist ja klar:

Zitat
strAenderung = GetWareninfoBezeich( Doc.AEART(0), False ) + doc.KBETRV(0) + " " +...

An dieser Stelle müssen die Zahlen wieder in Text umgewandelt werden.

Thobz

  • Gast
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #6 am: 31.07.07 - 14:49:11 »
Hallo Klaus,

könntest du das genauer erklären.. ?
Bin noch ziemlich neu in der Notes Entwicklung :-).

klaussal

  • Gast
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #7 am: 31.07.07 - 14:52:10 »
@text ist dein Freund (siehe dazu Designer-Hilfe).

Thobz

  • Gast
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #8 am: 31.07.07 - 14:56:33 »
Da komme ich jetzt nicht mit,
ohne die beiden If-Abfragen ( also der Ur-Zustand)
funktioniert ja alles wunderbar.
Ich möchte nur die beiden Felder prüfen, ob eins größer ist und wenn ja
soll er einfach nichts machen. Wieso muss ich da wieder was in Text umwandeln ???

klaussal

  • Gast
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #9 am: 31.07.07 - 15:03:52 »
If  alt > neu  Then
               strAenderung = GetWareninfoBezeich( Doc.AEART(0), False ) + Cstr(doc.KBETRV(0)) + " " +           
                    doc.KONWAV(0) + " --> " + Cstr(doc.KBETR(0)) + " "  +doc.KONWA(0) 
End If

Der Vergleich auf "grösser" muss hier mit Feldern vom Typ Long gemacht werden, sonst geht das daneben.

Ins Feld strAenderung gehört wohl Text rein. Also muss dafür das Zahlenfeld wieder in Text umgewandelt werden.

Fazit: Besuch einen Lehrgang oder kauf dir ein Buch !
« Letzte Änderung: 31.07.07 - 15:11:14 von klauss »

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #10 am: 31.07.07 - 15:04:35 »
In den beiden feldern sind Zahlen gespeichert.
Du musst auch diese beiden Zahlen vergleichen.

deine Variable "strAenderung" erwartet aber einen String!!! also: Entweder Zahlen als String casten oder den Zeichenkettenoperator "&" verwenden!!

Code
Dim neu As Double
         Dim alt AsDouble
         neu= cdbl( doc.KBETR(0) )
         alt= cdbl( doc.KBETRV(0) )
         
         
         Browser=Evaluate("@ClientType")
         
         If Browser(0)="None" Then
            If  alt > neu  Then
               strAenderung = GetWareninfoBezeich( Doc.AEART(0), False ) & doc.KBETRV(0) & " " &           
                    doc.KONWAV(0) & " --> " & doc.KBETR(0) & " "  & doc.KONWA(0) 
     else
Print "??"
             End If
         End If
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

klaussal

  • Gast
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #11 am: 31.07.07 - 15:06:40 »
Das mit dem "+" bzw. "&" hatte ich übersehen. Lt. Bernhard soll man das & nehmen, ansonsten gibt es "lustige Effekte".....

Driri

  • Gast
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #12 am: 31.07.07 - 15:09:06 »
Der Hinweis mit @Text ist hier aber irreführend für einen Anfänger. Es handelt sich ja um LotusScript, also wäre - wie Dirk es auch schon angedeutet hat - CStr die bessere Wahl.

If  alt > neu  Then
               strAenderung = GetWareninfoBezeich( Doc.AEART(0), False ) + CStr(doc.KBETRV(0)) + " " +           
                    doc.KONWAV(0) + " --> " + CStr(doc.KBETR(0)) + " "  +doc.KONWA(0)
End If

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #13 am: 31.07.07 - 15:09:32 »
@Klauss: noch ein kleiner Hinweis -> "@Text(d..."  ???  es handelt sich doch um LS  ;) 

Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #14 am: 31.07.07 - 15:10:07 »
oohh - Ingo war schneller ..  ;D
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

klaussal

  • Gast
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #15 am: 31.07.07 - 15:10:23 »
Asche auf mein Haupt.... :'(

Klar, muss Cstr heissen...

Offline tks

  • Senior Mitglied
  • ****
  • Beiträge: 425
  • Geschlecht: Männlich
  • ...für'n Fuss
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #16 am: 31.07.07 - 15:11:08 »
Und da Thobz schreibt:
Da komme ich jetzt nicht mit,
ohne die beiden If-Abfragen ( also der Ur-Zustand)
funktioniert ja alles wunderbar.
Ich möchte nur die beiden Felder prüfen, ob eins größer ist und wenn ja
soll er einfach nichts machen. Wieso muss ich da wieder was in Text umwandeln ???
sind die Felder KBETR und KBETRV wohl eher vom Typ Text. Und damit ist der Vergleich mit '>' wieder nix.
Thomas

*********************************
Domino 8.5.3FP6 unter W2K12
Notes 8.5.3 unter Win7
sequrIQ (watchdog & crypt)
*********************************

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #17 am: 31.07.07 - 15:11:23 »
..bleibt ja in der Region ;-)


cstr Muss nicht !!
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #18 am: 31.07.07 - 15:13:16 »
Wen er es so wie in meinem Beispiel macht, sollte es funktionieren.
Da wird der Inhalt in Double umgewandelt und dann verglichen.
und mit dem "&" muss er nichts mehr zurückkonvertieren?!
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Thobz

  • Gast
Re: If Abfrage im Notes Script wirkungslos...
« Antwort #19 am: 31.07.07 - 15:23:45 »
Hallo Dirk,

danke für deine Antwort.
Hat mir sehr geholfen, bzw jetzt funktioniert es.
Hab es sogar verstanden :-) .

@Klaus : Also ich zähle ca.20 Bücher hinter mit zum Thema Notes Entwicklung.
              Soweit ich mich erinnern habe ich an 2 IBM Kursen teilgenommen,
              und ich dachte ein Forum hätte den Sinn sich gegenseitig zu helfen
              und Themen zu diskutieren ? Sonst mach ein Forum gerade für Anfänger
              irgendwie kein Sinn ??!!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz