schon wieder ich. :-)
ich habe mir jetzt vier Aktionen gebastelt, die jeweils eine Redundanzart aufdecken.
Mein Code für "doppelte Daten" lautet z.B.:
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Set uiView = ws.CurrentView
Dim s As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim vec As NotesViewEntryCollection
Dim ve, oldVe As NotesViewEntry
Dim newDoc As NotesDocument
Dim oldDoc As NotesDocument
Set db = s.CurrentDatabase
Set view = db.GetView("Kontakte")
Set vec= view.AllEntries
'Ersten Eintrag im View holen
Set ve = vec.GetFirstEntry()
While Not ve Is Nothing
'Wert der ersten Spalte holen
oldValue = ve.ColumnValues(0)
oldValue1 = ve.ColumnValues(1)
oldValue2 = ve.ColumnValues(2)
oldValue3 = ve.ColumnValues(3)
oldValue4 = ve.ColumnValues(4)
oldValue5 = ve.ColumnValues(5)
oldValue6 = ve.ColumnValues(6)
oldValue7 = ve.ColumnValues(7)
oldValue8 = ve.ColumnValues(
'Nächsten eintrag im View holen
Set ve = vec.GetNextEntry(ve)
'Wenn es einen nächsten Eintrag gibt
If Not ve Is Nothing Then
newValue = ve.ColumnValues(0)
newValue1 = ve.ColumnValues(1)
newValue2 = ve.ColumnValues(2)
newValue3 = ve.ColumnValues(3)
newValue4 = ve.ColumnValues(4)
newValue5 = ve.ColumnValues(5)
newValue6 = ve.ColumnValues(6)
newValue7 = ve.ColumnValues(7)
newValue8 = ve.ColumnValues(
If newValue = oldValue And newValue1 = oldValue1 And newValue2 = oldValue2 And newValue3 = oldValue3 And newValue4 = oldValue4 And newValue5 = oldValue5 And newValue6 = oldValue6 And newValue7 = oldValue7 Then
Set oldDoc = vec.GetPrevEntry(ve).Document
Set newDoc = ve.Document
Dim tmpDoc As New NotesDocument(db)
Dim item As New NotesItem(tmpDoc,"DUIDS","")
Call item.AppendToTextList(oldDoc.UniversalID)
Call item.AppendToTextList(newDoc.UniversalID)
flag = ws.DialogBox("dialoge_compareTwoDocs_doppelt",True,True,False,False,False,False,"doppelte Daten",tmpDoc,True,False,True)
If flag Then
newDoc.Strasse=tmpDoc.f1
newDoc.PLZ=tmpDoc.PLZ
newDoc.Ort=tmpDoc.Ort
newDoc.Telefon=tmpDoc.Telefon
newDoc.Handy=tmpDoc.Handy
newDoc.WWW=tmpDoc.WWW
newDoc.Geburtstag=tmpDoc.Geburtstag
Call newDoc.Save(True,True)
Call oldDoc.Remove(True)
End If
End If
End If
Wend
Call ws.ViewRefresh
End Sub
Jetzt möchte ich eine neue Aktion basteln, die mir dann z.B. sagt: "In der Ansicht befinden sich x doppelte Dokumente".
Kann mir da jemand weiterhelfen?
Vielen Dank...