Domino 9 und frühere Versionen > Entwicklung
Name in die Gruppe hinzufügen
Axel:
Hi,
die Sache ist nicht ganz so trivial.
Ich denke mal der Vorschlag von Bernhard ist gar nicht schlecht. Was andere fällt mir auf die Schnelle auch nicht ein. Und so bekommst du es auch auf relative einfache Weise in den Griff, wenn einer in einem "Arbeitsgang" ein Markierung in der Liste entfernt und bei einem anderen Gruppeneintrag die Markierung setzt. Du musst dir nur vorher die Liste "merken".
Axel
Selin:
so, ich versuche nun das Ganze Schritt für Schritt zu machen.
Habe zwei Listfelder.
Liste1 = @Right(@DbColumn("":"NoCache"; ""; "Gruppe"; 1);"_")
Liste2 brechnet; Inhalt Liste1 und Auswahlformel auch @Right(@DbColumn("":"NoCache"; ""; "Gruppe"; 1);"_")
Habe zwei Buttons.
Import= fügt den aktuellen Namen in die Gruppen ein, die ich in Liste1 markiert habe
Sub Click(Source As Button)
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim db As NotesDatabase
Dim view As NotesView
Dim docGroup As NotesDocument
Dim item As NotesItem
Dim books As Variant
Dim done As Integer
Dim idx As Integer
Dim subj As Variant
'Zugriff auf das aktuell geöffnete Dokument
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Set db = session.CurrentDatabase
Set view = db.GetView("(Gruppe)")
'Bearbeiten aller markierten Einträge im Listenfeld
For idx = 0 To Ubound(doc.Liste1)
Set docGroup = view.GetDocumentByKey("#ABC_" & doc.Liste1(idx), True)
subj = docGroup.GetItemValue( "Members" )
Set item = docGroup.GetFirstItem( "Members" )
If (subj(0) <> doc.Name_Gruppe(0)) Then
Call item.AppendToTextList( doc.Name_Gruppe)
Call docGroup.Save(True, False)
Else
Msgbox("Name vorhanden")
End If
Next
Msgbox("Die Gruppenliste wurde aktualisert")
End Sub
Remove
Habe einafch das Imporieren Script genommen und statt das Einfügen, löschen reingeschrieben.
Sub Click(Source As Button)
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim db As NotesDatabase
Dim view As NotesView
Dim docGroup As NotesDocument
Dim item As NotesItem
Dim books As Variant
Dim done As Integer
Dim idx As Integer
Dim subj As Variant
'Zugriff auf das aktuell geöffnete Dokument
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Set db = session.CurrentDatabase
Set view = db.GetView("(Gruppe)")
'Bearbeiten aller markierten Einträge im Listenfeld
For idx = 0 To Ubound(doc.Liste2)
Set docGroup = view.GetDocumentByKey("#ABC" & doc.Liste2(idx), True)
subj = docGroup.GetItemValue( "Members" )
Set item = docGroup.GetFirstItem( "Members" )
If (subj(0) = doc.Name_Gruppe(0)) Then
Call item.Remove
Call docGroup.Save(True, False)
Else
Msgbox("Name vorhanden")
End If
Next
Msgbox("Die Gruppenliste wurde aktualisert")
End Sub
Remove löscht die Liste2 bzw den aktuellen Namen aus den Gruppen, die markiert sind.
Aber die Häckchen sind in der Liste immer noch da.
Die muss ich dann manuell rausnehmen und das Dokument Speichern.
Will ich dann wieder einen Namen in die Gruppe einfügen, bekomme ich die Meldung
"Objekt Variable not set"
Habt ihr Tipps?
Danke + Gruß
Selin
klaussal:
--- Zitat ---"Objekt Variable not set"
--- Ende Zitat ---
An welcher Stelle ? Was sagt der Debugger ?
Selin:
hier:
...
For idx = 0 To Ubound(doc.Liste1)
Set docGroup = view.GetDocumentByKey("#ABC_" & doc.Liste1(idx), True)
subj = docGroup.GetItemValue( "Members" )
Set item = docGroup.GetFirstItem( "Members" )
If (subj(0) <> doc.Name_Gruppe(0)) Then
Call item.AppendToTextList( doc.Name_Gruppe)
Call docGroup.Save(True, False)
Else
Msgbox("Name vorhanden")
End If
Next
Msgbox("Die Gruppenliste wurde aktualisert")
End Sub
Danke
koehlerbv:
Das ist doch auch ganz logisch - Du schmeisst ja in Deinem Remove-Code auch das Item aus dem Dokument 'raus. Beim Hinzufügen versuchst Du, das Item zu instantiieren, was gar nicht mehr da ist (und prüftst das nicht mal ab).
Da ich hier mittlerweile überhaupt nicht mehr durchsehe: In welches Dokument willst Du die Gruppenmitglieder hinzufügen - In doc oder in docGroup ?
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln