Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Johann am 14.12.05 - 11:34:42

Titel: If Then If Then else else
Beitrag von: Johann am 14.12.05 - 11:34:42
Hallo,
ich habe da eine "doppelte if Verbindung". Ich möchte gerne erst auf ein Feld verweisen, wenn das einen bestimmten Feldwert hat, dann soll der Rest auch durchlaufen, sonst braucht nichts gemacht werden. Innerhalb dieser If else Anweisung gibt es noch eine If Else Anweisung. Aber irgendwas stimmt da nicht.
So sieht das bei mir aus:
If Feld="1" Then
If count = 0 Then
Else rmove
else
'nothing

ist das überhauptmöglich und wenn nein, wie kann ich es besser regeln?      

Set sourcenote = documents.GetNthDocument(n) 'Erstes Dokument der gefundenen Dokumente
      ' n wird um 1 erhöht
      
      
      
      
      Str_Doc_ID =sourcenote.Doc_ID(0) 'ID holen
      ' Über Doc_ID filtern
      selection ="form=""Doc"" &  Doc_ID = "+"'"+Cstr(Str_Doc_ID)+"'"
      
      Set collDocs  = sourcedb.Search( selection, dateTime, 0 )
      If colldocs.Count = 0 Then
         Call sourcenote.CopyToDatabase(sourcedb)
         DocsCopied = DocsCopied + 1   
      Else
         Set doc=collDocs.getfirstdocument
         
         Call doc.Remove(True)
         Call sourcenote.CopyToDatabase(sourcedb)
         DocsCopied = DocsCopied + 1   
         Call doc.ReplaceItemValue ( "changes",0)   
      End If
      
   Next
   Msgbox docscopied & " Dokumente wurden in die Zieldatenbank kopiert!", 0 + 64, "Kopieren"
   
Titel: Natürlich ist das möglich, nur wo dein Fehler liegt werden ...
Beitrag von: Thomas Schulte am 14.12.05 - 11:49:12
wir dir aufgrund des geposteten Codes nicht sagen können. Das scheint ja nur ein Rumpf zu sein.
Titel: Re: If Then If Then else else
Beitrag von: umi am 14.12.05 - 11:54:15
Hi
a ) Ist GetNthDocument nötig?, dies ist nicht unbedingt performant :-)

b) Anstatt die " mit "" zu escapen kannst Du auch einfach den String in  { } klammern
  {form="Doc" & Doc_ID="} & str_Doc_ID) &{"}

c)
Konstrukte wie
if wert=1 then
  if count = 0 then
    'mach was
  else
    'mach was anderes
  end if
else
 'mach irgend was ganz anderes
end if

Sind prinzipiell möglich