Domino 9 und frühere Versionen > Entwicklung
Dokumente vergleichen und ausgeben (FtSerach)
Selin:
hierbei stürzt mein Notes ab.
Habs mir auch im Debugger angeguckt.
Scheint eine Endlosschleife zu sein
Glombi:
Yoo, vor dem
Loop
fehlt ein
set doc = checkdc.GetNextDocument(doc)
;D
Selin:
--- Zitat von: Glombi am 29.09.04 - 11:30:15 ---Dim s As New NotesSession
dim db as NotesDatabse
Dim targetdb As New NotesDatabase( "", "VIP.nsf" )
Dim dc As NotesDocumentCollection
Dim checkdc As NotesDocumentCollection
Dim doc As NotesDocument
dim found as integer
set db = s.CurrentDatabase
set checkdc = db.UnprocessedDocuments
set doc = checkdc.GetFirstDocument
do while not doc is nothing
found = false
Set dc = targetdb.Search( |Lastname = "| + doc.LastName(0) + |"|,Nothing,0 )
if dc.Count > 0 then
found = true
'Hier gibt es einen Treffer:
else
' Kein Treffer: Dok. kann kopiert werden
end if
loop 'do while not doc is nothing
/quote]
nach else hat noch was gefehlt:
Call doc.CopyTodatabase(targetdb)
Jetzt muss ich noch die Werte, die übereinstimmen in einer Picklist oder so ausgeben
mal schaun, ob ich das ansatzweise hinkriege...
dankeschön
--- Ende Zitat ---
koehlerbv:
--- Zitat von: Selin am 29.09.04 - 13:25:28 ---hierbei stürzt mein Notes ab.
Habs mir auch im Debugger angeguckt.
Scheint eine Endlosschleife zu sein
--- Ende Zitat ---
Das ist dann kein Absturz, sondern (wie Glombi dann ja bestätigt hat) "'In Ewigkeit - Amen !', sprach die Endlosschleife."
By the way: Dein Vorgehen, nur auf den Lastname zu gehen, halte ich für kritisch. Du solltest die NotesDatabase.Search-Formel noch etwas erweitern.
Bernhard
Selin:
Hallo,
habe jetzt mein Script:
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim targetdb As New NotesDatabase( "", "VIP.nsf" )
Dim dc As NotesDocumentCollection
Dim checkdc As NotesDocumentCollection
Dim doc As NotesDocument
Dim found As Integer
Set db = s.CurrentDatabase
Set checkdc = db.UnprocessedDocuments
Set doc = checkdc.GetFirstDocument
Do While Not doc Is Nothing
found = False
'Prüfe Nachname
Set dc = targetdb.Search( |LastName = "| + doc.LastName(0) + |"|,Nothing,0 )
'Wenn Übereinstimmung dann prüfe Vorname
If dc.Count > 0 Then
Set dc = targetdb.Search( |FirstName = "| + doc.FirstName(0) + |"|,Nothing,0 )
If dc.Count > 0 Then
'Hier gibt es einen Treffer:
found = True
Else
' Kein Treffer: Dok. kann kopiert werden
Call doc.CopyTodatabase(targetdb)
End If
Else
Call doc.CopyTodatabase(targetdb)
End If
Set doc = checkdc.GetNextDocument(doc)
Loop 'do while not doc is nothing
End Sub
Was empfehlt ihr mir, wenn ich die übereinstimmenden Namen in einer Art Picklist wiedergeben will?
Wie wenn ihr im Empfängermail einen Namen reinschreibt und dir eine Liste mit übereinstimmenden namen gezeigt wird, wenn es mehr al einen gibt)
Danke
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln