Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: orbit am 26.10.10 - 15:57:49
-
Hallo,
ich hab folgendes Problem mit einem Script:
Über die Auswahl in einem Feld (checkbox) soll an 1-6 Gruppen ein Mail versendet werden.
Die Empfänger der Gruppen werden in einem eigenen Dokument gewartet.
Zu Testzwecken hab ich jetzt halt eine Messagebox drinnen, die die Größe des Dokuments abfragt, in dem die Empfänger stehen sollen.
Das Problem ist nun, dass der erste Durchlauf ok ist, beim zweiten dann aber die Fehlermeldung kommt Object Variable not set.
Die Messagebox mit dem Suchstring kommt auch in der zweiten runde noch richtig, trotzdem wird aber offensichtlich das Dokument nicht gefunden.
Info = Split(uidoc.FieldGetText("Abschluss_1"),";")
For x = 0 To 2
an = Info(x)
sstring = {Form="Maske14" & cfgKey="}+an+{"}
Messagebox sstring
Set dcSearch = db.Search(sstring, Nothing,1)
Set docSearch = dcSearch.GetFirstDocument
Messagebox docSearch.Size
Next
Danke!
\Florian
-
Warum prüfst Du das bei diesem übersichtlichen Code nicht gleich mit dem Debugger?
Bernhard
-
Hab ich ja,
der sagt bei der zweiten Runde dcsearch count 0 er verrät mir aber nicht
warum das so ist bzw. was ich ändern muss damit es nicht mehr so ist.
\Florian
-
Und was steht zu diesem Zeitpunkt in Info (1)? Das ist doch der casus cnactus.
Bernhard
-
Du schreibst, dass der Suchstring korrekt wäre. Auch in Bezug auf Groß-/Kleinschreibung?
Wäre er korrekt, würde er auch ein Dokument finden
-
Ja! Wer lesen kann ist klar im vorteil!
Da steht " IT" - sollte aber "IT" stehen - das kleine bisschen nichts hab ich jetzt seit über einer Stunde übersehen.... an = Trim(Info(x)) und schon gehts!
Danke!
\Florian
-
Ich würde ja lieber die Checkbox gleich richtig machen, anstatt nachher falsche Daten korrigieren zu müssen
-
Deinen Code solltest Du noch *mindestens* wie folgt ändern:
Info = Split(uidoc.FieldGetText("Abschluss_1"),";")
For x = 0 To Ubound (Info)
an = Info(x)
sstring = {Form="Maske14" & cfgKey="}+an+{"}
Messagebox sstring
Set dcSearch = db.Search(sstring, Nothing,1)
If dcSearch.Count = 0 Then
'HIER DEINE FEHLERBEHANDLUNG
End If
Set docSearch = dcSearch.GetFirstDocument
Messagebox docSearch.Size
Next
HTH,
Bernhard
-
Zusätzlich zu Bernhards Empfehlungen würde ich auch nicht mit Split arbeiten, sondern auf das Feld übers Backend zugreifen, da hast Du dann schon das Array
...
Set doc = uidoc.Document
If doc.Abschluss_1 (0) <> "" Then
Forall abschluss in doc.Abschluss_1
sstring = {Form="Maske14" & cfgKey="} & abschluss &{"}
...
End Forall
End If