Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Pir0x am 16.10.08 - 10:46:04

Titel: Variant Abfragen in LS
Beitrag von: Pir0x am 16.10.08 - 10:46:04
Hallo, ich hab mal ne Frage bezüglich von Abfragen in Lotus Script

Also ich lese ein Feld aus meiner Maske aus und Speicher es in einer Variablen nun möchte ich den Inhalt dieser Variblen vergleichen

StatusCheck = doc.GetItemValue("Scan_Status")
If StatusCheck Like "0" Then
.
.
.
.
end if

allerdings bekomm ich immer ne Fehlermeldung "Type missmatch" ich nehm an das liegt daran das ich Variant mit String vergleiche, gibt es ne Möglichkeit das trozdem so hinzubekommen?
Titel: Re: Variant Abfragen in LS
Beitrag von: atbits am 16.10.08 - 10:47:48
dim StatusCheck as variant

StatusCheck = doc.GetItemValue("Scan_Status")
If StatusCheck(0) = "0" Then
Titel: Re: Variant Abfragen in LS
Beitrag von: Pir0x am 16.10.08 - 11:27:48
perfekt, danke
Titel: Re: Variant Abfragen in LS
Beitrag von: cebolina am 24.10.08 - 12:02:54
oder so:

dim StatusCheck as String
StatusCheck = doc.GetItemValue("Scan_Status")(0)
If StatusCheck = "0" Then
...
End If


Gruß
Stefan
Titel: Re: Variant Abfragen in LS
Beitrag von: Axel am 27.10.08 - 09:49:45
Oder noch kürzer:

Dim StatusCheck As STring

StatusCheck = doc.ScanStatus(0)
If StatusCheck = "0" Then....

Oder ganz kurz und schmerzfrei:

If doc.ScanStatus(0) = "0" Then...


Axel
Titel: Re: Variant Abfragen in LS
Beitrag von: Pir0x am 11.11.08 - 08:58:06
ich hab hier noch nenn kleines Problem, ich post es einfach hiernochmal mit rein

also ich hab in meinem Dokument nenn Feld namens ABstatus, dies ist ein normales Textfeld, so jetzt will ich überprüfen welchen Inhalt das Feld hat, wenn es 1033 behinhaltet ist im Dokument nenn Fehler aufgetreten , dient zu späteren verwaltung des Dokumentes.

So wenn ich jetzt so das Feld auslesen will....

Code
	Dim Test As Variant
		Test = doc.GetItemValue("ABstatus")
		If Test(0) = "1033" Then
bekomm ich in der If Zeile immer nenn Type missmatch, kann mir da wer helfen?
Wie gesagt, es handelt sich dabei um ein ganz normales Textfeld und im Variant Test steht auch 1033 drin, laut Debugger
Titel: Re: Variant Abfragen in LS
Beitrag von: Axel am 11.11.08 - 09:02:27
Warum machst du es denn nicht einfach so:

If doc.ABstatus(0) = "1033" Then...

Einfach, kurz und schmerzlos.


Axel
 
Titel: Re: Variant Abfragen in LS
Beitrag von: klaussal am 11.11.08 - 09:04:14
Zitat
Warum machst du es denn nicht einfach so:

Wahrscheinlich, weil es zu einfach ist...  ;D
Titel: Re: Variant Abfragen in LS
Beitrag von: Pir0x am 11.11.08 - 09:06:45
ne ich habs jetzt über Test gemacht damit ich sehen kann ob er sich überhaupt den Wert hohlen kann, warum auch immer er das net können sollte.

Ich hatte es anfangs auch so probiert,  If doc.ABstatus(0) = "1033" Then...

aber der Fehler war der selbe
Titel: Re: Variant Abfragen in LS
Beitrag von: DAU-in am 11.11.08 - 09:20:03
Und das ist wirklich ein Textfeld und kein Zahlenfeld?
Titel: Re: Variant Abfragen in LS
Beitrag von: Pir0x am 11.11.08 - 09:22:15
jo, ist ein Feld vom Typ Text
Titel: Re: Variant Abfragen in LS
Beitrag von: Pir0x am 11.11.08 - 09:27:37
ok, das Problemt lag wirklich an den Anführungszeichen bei


If doc.ABstatus(0) = "1033" Then

so gehts

If doc.ABstatus(0) = 1033 Then
was mich jedoch verwundert weils ja nenn Textfeld ist
Titel: Re: Variant Abfragen in LS
Beitrag von: koehlerbv am 11.11.08 - 09:34:56
Wenn der letzte Vergleich nicht mehr zu einem Type Mismatch führt, dann ist das *kein* Textfeld! Definitiv nicht.

Bernhard
Titel: Re: Variant Abfragen in LS
Beitrag von: DAU-in am 11.11.08 - 09:36:42
Woran siehst du, dass es ein Textfeld ist: an der Maske oder an den Eigenschaften des Dokumentes?
Titel: Re: Variant Abfragen in LS
Beitrag von: Glombi am 11.11.08 - 09:55:33
Wenn If doc.ABstatus(0) = 1033 funktioniert und If doc.ABstatus(0) = "1033" nicht funktioniert, dann steht in dem Feld eine Zahl, unabhändig ob das ein Textfeld ist oder nicht.

In den Dokumenteigenschaften wird das zu erkennen sein. Wenn das Dokument gespeichert wird, sollte dann aufgrund des Feldtyps Text eingetragen werden, es sei denn durch irgendwelche Script im Postvave oder Queryclose wird ein Zahlwert gesetzt.

Andreas