Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: JM am 25.09.02 - 12:00:24
-
Hallo habe versucht mit folgendem Script ein Document in eine andere Datenbank (Feld für Feld) zu übertragen ... leider funzt das ganze nicht so
Fehlermldung: Object Variable not set.
Hat jemand ne idee???
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim s As New NotesSession
Dim db As NotesDatabase
Dim oldDoc As NotesDocument
Dim newDoc As NotesDocument
Set db = s.GetDatabase("","TestMigrationZiel.nsf")
Set oldDoc = ws.CurrentDocument.Document
Set newdoc.Link = olddoc.Link
Set newdoc.DisplayChapter = olddoc.DisplayChapter
Set newdoc.DisplaySectionsandSubtitles = olddoc.DisplaySectionsandSubtitles
Set newdoc.DisplayDocumentVersion = olddoc.DisplayDocumentVersion
Set newdoc.Form = olddoc.Form
Set newdoc.ComposedDate = olddoc.ComposedDate
Set newdoc.Keythought = olddoc.Keythought
Set newDoc.Body = oldDoc.body
Set newdoc.NewsLetterSubject = olddoc.NewsLetterSubject
Set newdoc.DocAuthor = olddoc.DocAuthor
Set newdoc.DocReaders = olddoc.DocReaders
Set newdoc.Duid = olddoc.Duid
Set newdoc.set = olddoc.set
End Sub
-
Hi,
die Fehlermeldung kommt mit Sicherheit von der Variable newdoc.
Du musst in der Zieldatenbank erstmal ein Document erstellen.
Füge diese Zeile
Set newdoc = New NotesDocument(db)
nach der Zeile
Set olddoc = ...
ein.
Dann sollte es funktionieren.
Axel
-
Hi,
hier noch eine einfachere Alternative:
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim s As New NotesSession
Dim db As NotesDatabase
Dim oldDoc As NotesDocument
Dim newDoc As NotesDocument
Set db = s.GetDatabase("","TestMigrationZiel.nsf")
Set oldDoc = ws.CurrentDocument.Document
Set newdoc = New NotesDocument(db)
Call oldDoc.CopyAllItems(newdoc)
Call newdoc.Save(True, True) 'neues Dokument speichern
End Sub
Damit kopierst du alle Felder mit einem Schlag.
Axel
-
Viel besser so, denn in seinem ersten Script fehlte so nebenbei bei allen Quellfeldern das "(0)". Nommaal.
--E<:|
-
danke axel
habe die zweite version getestet und diese funktioniert wunderbar
-
@harkpabst_meliantrop
Wenn du Felder von einem Dokument in ein anderes kopierst, dann brauchst du keine (0). Das kein bei Feldern mit Mehrfachwerten sogar fatal sein, denn dann wird nur der erste Wert kopiert.
Axel
-
Wenn du Felder von einem Dokument in ein anderes kopierst, dann brauchst du keine (0). Das kein bei Feldern mit Mehrfachwerten sogar fatal sein, denn dann wird nur der erste Wert kopiert.
Hmm, tja, das schon.
Aber mit dem "Set" davor wird es nicht funktionieren!
-
Aber mit dem "Set" davor wird es nicht funktionieren!
Ähhhmmm, hast recht. So isses wenn man mal wieder auf beiden Ohren blind ist. ;D ;D
Axel
-
Ach, was soll ich da erst sagen?
;)