Hallo Bernhard!
Der FE/BE-Unterschied erleuchtet schonmal ein wenig.
Das hier:
Set newbedoc.Besteller = actbedoc.SupportName
bringt aber auch einen 'Type Mismatch'.
Etwas mehr Drumrum:
Dim uiws As New NotesUIWorkspace ' aktueller Workspace
Dim uidb As NotesUIDatabase ' aktuelle FrontEnd-DB
Dim uidoc As NotesUIDocument ' aktuelles FrontEnd-Document
Dim db As NotesDatabase ' BE-DB
Dim actbedoc As NotesDocument ' Ursprungs-BE-Document
Dim newbedoc As NotesDocument ' neues BE-Document
Set uidoc = uiws.CurrentDocument ' ermittle aktuelles FrontEnd-Document aus aktuellem Workspace
Set uidb = uiws.CurrentDatabase ' ermittle aktuelle FrontEnd-DB aus aktuellem Workspace
Set db = uidb.Database ' ermittle BE-Datenbank aus Frontend-DB
Set actbedoc = uidoc.Document ' ermittle ursprüngliches BE-Document aus aktuellem FE-Document
Set newbedoc = db.CreateDocument ' erzeuge neues BE-Document
newbedoc.Form = "InventarBewegung" ' setze Form des neuen Document auf 'InventarBewegung'
Call newbedoc.Save(False, True) ' speichere neues BE-Document (sonst kann's nicht als FE-Document genutzt werden)
Set uidoc = uiws.EditDocument( True, newbedoc ) ' setze aktuelles FE-Document auf eben neu angelegtes BE-Document
'' Call uidoc.FieldSetText("Besteller", actbedoc.SupportName(0)) ' klappt
Set newbedoc.Besteller = actbedoc.SupportName ' klappt nicht :-(
Über's Backend zu gehen erscheint mir schon sinniger als übers Frontend - kann das sein, daß ich im BE nicht mehr fummeln kann, wenn ich das Document schon dem FE übergeben hab? Ansonsten bin ich etwas verwirrt.
Und an der Stelle noch ne andere Frage, wenn sie auch nicht zum Thema paßt (aber doch zum obigen Code):
ich muß ja das neu angelegte Document erstmal speichern, damit ich es dem User zum Ausfüllen präsentieren kann.
Wenn der sich nun aber dafür entscheidet, daß das doch nicht seine Absicht war und das Dingen ohne Speichern schließt, hab ich ein Dokument mit lauter leeren Feldern, das keiner mehr braucht. Wie/wo kann ich das denn am besten wieder killen?
Geht da so ne Art AutoDestruct-Sequenz z.B. im Terminate-Ereignis der Maske, wenn ne bestimmte Bedingung erfüllt ist?
(wenn's in Zukunft eher gewünscht ist, für derlei in jedem Falle einen neuen Thread aufzumachen, dann bitte sagen, dann tu ich das fortan).
Ciao
Sascha