ich meine damit, dass an der db seit ca. 1 jahr nichts mehr geändert wurde, natürlich ist sie modifiziert...das sehe ich auch gerade
auch an der dimension des arrays wurde nicht herumgespielt. ich poste mal den kompletten querysave:
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Messagebox "Bitte haben Sie einen Moment Geduld."
Dim s As New notessession
Dim db2 As notesdatabase
Dim view_gruppen As notesview
Dim doc As notesdocument
Dim doc_suche As notesdocument
Dim suche_item As notesitem
%REM
Update der Einträge in den Mailgruppen
%END REM
If Source.EditMode Then
If source.document.mailaddress(0) ="" Then
Call source.fieldsettext("mailaddress" , "no email")
Call source.fieldsettext("Fullname" , "no email")
Else
source.document.Fullname = source.document.mailaddress
'Call source.save
End If
'If source.document.Fullname(0)="" Then
'source.document.Fullname = source.document.mailaddress
'End If
Call Source.Refresh
End If
Set db2 = s.currentdatabase
Set doc = source.document
new_emailaddi = doc.mailaddress(0)
new_email = doc.getitemvalue("Mailaddress")
If new_email(0) <> old_email(0) Then
Messagebox "Bitte haben Sie einen Moment Geduld. Die Mail-Gruppen müssen abgeglichen werden. Vielen Dank für Ihr Verständnis."
'setzen der Ansicht Gruppen
Set view_gruppen = db2.getview("Groups")
'Erstes dokument in Ansicht Gruppen
Set doc_suche = view_gruppen.getfirstdocument
While Not (doc_suche Is Nothing)
Set suche_item = doc_suche.getfirstitem("Members")
Set vgl_item = doc_suche.getfirstitem("ListName")
If suche_item.contains( old_emailaddi )Then
'bestimmen der Anzahl der Mitglieder in dieser Gruppe, die das dokument fand
numElements = Ubound(doc_suche.Members) - (Lbound(doc_suche.Members)-1)
'vereinbaren eines Feldes
Dim myArray_members() As String
If numElements>1 Then
'Dimensionierung des Feldes
Redim myArray_members(numElements-1)
End If
'suchen, der position, an der der Person Mitglied dieser Gruppe ist
z = 0
Forall k In doc_suche.members
'Wenn Person und aktuelles Gruppenmitglied nicht übereinstimmen, ablegen des Gruppenmitgliedes in dem Array
If Not doc_suche.members(z) = old_emailaddi Then
myArray_members(z) = doc_suche.members(z)
z = z+1
Else
myArray_members(z) = new_emailaddi
z = z+1
End If
End Forall
'Das Array wird an die Stelle des Inhaltes des Feldes gesetzt und das Dokument wird abgespeichert
suche_item.values = myArray_members
Call doc_suche.save(True,True)
End If
Set doc_suche = view_gruppen.getnextdocument (doc_suche)
Wend
End If
updateverteiler Source , Continue
kennzeichen Source
tmp_inpvsart = tb_vs_art
tmp_inp_vsanz = tb_vs_anz
End Sub