Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Pir0x am 10.02.09 - 10:47:10

Titel: Problem mit löschen von Dokumenten in einer Collection
Beitrag von: Pir0x am 10.02.09 - 10:47:10
Huhu, ich hab hier nenn kleines Problem beim löschen von Dokumenrt, aus meiner View.

Also ich möchte alle markierten Dokumente löschen, dazu hohl ich sie mir erstmal alle in eine Collection, guck dann ob das Kriterium (Projektzeit) sinvoll ist, wenn sie 0 ist, soll das Dokument zum löschen frei gegeben sein, wenn es nicht der Fall ist, wird das Dokument ist der Collection herausgenommen.

Zum Schluss sollen dann die nicht sinnvollen Dokumente, die in der Collection verblieben sind, gelöscht werden.

hier der QT dazu:

Code
Sub Click(Source As Button)
	Dim ws As New NotesUIWorkspace
	Dim uiview As NotesUIView
	Dim dc As NotesDocumentCollection
	Dim doc As NotesDocument
	Set uiview = ws.CurrentView
	Set dc = uiview.Documents
	Set doc = dc.GetFirstDocument
	While Not (doc Is Nothing)
		If doc.HasItem ("BewP_Projektzeit") Then
			If doc.GetItemValue ("BewP_Projektzeit") (0) <> 0 Then
				Call dc.DeleteDocument(doc)
			End If
		End If
		Set doc = dc.GetNextDocument (doc)
	Wend
	
	If dc.Count <> 0 Then
		Call dc.RemoveAll(True)
	End If
	
End Sub

Problem an der Sache ist jetzt, wenn ich ein Dokument aus der Collection herausnehmen, wird er mir nenn Fehler bei Set doc = dc.GetNextDocument (doc) geben.

Ich steh da gerade irgendwie aufen Schlauch wie ich das alternativ lösen kann und wollte euch mal um einen Rat bitte :)


Gruß Ricco
Titel: Re: Problem mit löschen von Dokumenten in einer Collection
Beitrag von: ZaLudtske am 10.02.09 - 10:49:36
Hallo,

arbeite mit dem NotesView-Objekt und der NotesViewEntryCollection, dann solltest du keine Probleme haben

HTH

Rainer
Titel: Re: Problem mit löschen von Dokumenten in einer Collection
Beitrag von: DerAndre am 10.02.09 - 10:56:50
Das übliche Problem.
Mit dem löschen des Dokumentes ziehst Du Dir den Bezug unter dem Popo weg.

Was Du machen kannst, ist dir als erstes in der while Schleife das nächste Doc aus der Collection holen und am Ende machst Du dann nicht doc = dc.next... sondern doc = nextdoc
Titel: Re: Problem mit löschen von Dokumenten in einer Collection
Beitrag von: Pir0x am 10.02.09 - 11:01:22
wenn ich dich richtig verstanden hab meisnt du das so

Code
While Not (doc Is Nothing)
Set nextdoc = dc.GetNextDocument(doc)
		If doc.HasItem ("BewP_Projektzeit") Then
			If doc.GetItemValue ("BewP_Projektzeit") (0) <> 0 Then
				Call dc.DeleteDocument(doc)
			End If
		End If
		Set doc = nextdoc 
	Wend

also so funktionierts, danke Andre
Titel: Re: Problem mit löschen von Dokumenten in einer Collection
Beitrag von: DerAndre am 10.02.09 - 11:15:22
Jepp so meinte ich das.