Hi,
hier ein ausführlicherer Ansatz:
Du musst eine Ansicht erstellen, die in der 1. Spalte nach dem Feld Lokation sortiert (oder kategorisiert) ist.
Erstelle eine Teilmaske DialogLokation. In diese Teilmaske baust Du 2 Felder:
Alte Lokation - Feldname LokationAlt
Neue Lokation - Feldname LokationNeu
Die Felder werden jeweils mit @DbColumn als Schlüsselwortliste berechnet.
@Trim(@Unique(@DbColumn("","";"Name der Ansicht mit Lokationen",1)))
Der User wählt also hier aus.
Mit Script sähe das dann so aus - Formel als Agent, Einmal ausführen
dim ws as NotesUIWorkspace
dim session as NotesSession
dim db as NotesDatabase
dim view as NotesView
dim dc as NotesDocumentCollection
dim doc as NotesDocument
dim dialogdoc as NotesDocument
dim ret as Integer
set ws = New NotesUIWorkspace
set session = New NotesSession
set db = session.CurrentDatabase
set view = db.GetView("Name der Ansicht mit Lokationen")
'Rufe Dialogbox auf
set dialogdoc = db.CreateDocument
ret = ws.Dialogbox("Name der Teilmaske",true,true,false,false,false,false,"Lokation wechseln",dialogdoc)
if not ret then exit sub 'Abbruch, falls Abbrechen gewählt wurde
'Bilde Collection aller Dokument mit der alten Lokation
set dc = view.GetAllDocumentsbyKey(dialogdoc.LokationAlt(0), true )
'Iteriere über alle Dokumente und setze neue Lokation ein
set doc = dc.GetFirstDocument
while not (doc is Nothing)
doc.Lokation = dialogdoc.LokationNeu(0)
call doc.Save(false,true,true)
set doc = dc.GetNextDocument(doc)
wend
Andreas