Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: tevion112 am 20.06.03 - 12:42:52

Titel: Values von einer Adressdb in die Names.nsf
Beitrag von: tevion112 am 20.06.03 - 12:42:52
Hallo Forum,

habe ein kleines Problem.
Ich versuche schon seit Tagen aus einer Adressdb bestimmte Felder in das persönliche Adressbuch zu kopieren. Sprich : erst in der names.nsf ein neues Dokument anzulegen und dann die Felder mit Values zu füllen. Klappt aber irgendwie nicht.

Hat einer eine Idee, wie ich das am besten in Lotusscript mache.


MFG Andreas
 
Titel: Re:Values von einer Adressdb in die Names.nsf
Beitrag von: klaussal am 20.06.03 - 13:24:24
... ein paar details mehr wären da schon hilfreich  ;D
Titel: Re:Values von einer Adressdb in die Names.nsf
Beitrag von: tevion112 am 20.06.03 - 13:38:42
Ok ein paar Details.

Ich habe eine DB Adress.nsf, die auf dem Server liegt. Zusätzlich habe ich eine names.nsf auch auf dem Server, als persönliches Adressbuch.

Ich will nun einen Agenten in LScript schreiben, der die Dokumente aus der Adress DB in die Names.nsf kopiert.

Jetzt kommt aber der Clou. Ich habe natürlich in beiden DB nicht die gleichen Feldbezeichnungen. Somit muß ich die Felder aus der Adressdb denen aus der names zuweisen. Und daran scheitert es.

Ich hab keine Ahnung, wie ich das machen soll.


MFG Andreas
Titel: Re:Values von einer Adressdb in die Names.nsf
Beitrag von: eknori (retired) am 20.06.03 - 13:42:22
ReplaceItemValue !!

Dim doc As NotesDocument
Dim item As NotesItem
'...set value of doc... ( das ist das neue Document)
Set item = doc.ReplaceItemValue( "FeldnameinDemNeuenDoc", "Wert" )
Call doc.Save( True, True )

Titel: Re:Values von einer Adressdb in die Names.nsf
Beitrag von: klaussal am 20.06.03 - 13:44:00
... da war doch wieder jemand schneller .... :'( ;)
Titel: Re:Values von einer Adressdb in die Names.nsf
Beitrag von: eknori (retired) am 20.06.03 - 14:12:35
OK, damit das jetzt nicht in den PM untergeht.

Klar, die liest zunächst mal deine Dokumente aus der AddressDB "sequentiell" mit View.GetFirstDocument und View.GetNextDocument.

Wenn du ein Document gelesen hast, extrahierst du den FeldInhalt z.B. set itemAlt = doc.GetFirstItem("FeldNameAltesDocument")

Das neue document erzeugst du dann mit

Dim session As New NotesSession
Dim db As NotesDatabase
Dim docNeu As NotesDocument
Set db = session.CurrentDatabase
Set docNeu = db.CreateDocument

Und dann kannst du mit

Set itemNeu = docNeu.ReplaceItemValue( "FeldnameinDemNeuenDoc", ItemAlt.Text )

den Wert aus dem AddressDoc in das neue Doc in der Names.nsf schreiben. ReplaceItemValue erzeugt dabei das Feld, wenn es noch nicht existiert.

eknori
Titel: Re:Values von einer Adressdb in die Names.nsf
Beitrag von: tevion112 am 23.06.03 - 12:06:13
Super vielen Dank

Es läuft

Grüße Andreas