Autor Thema: Existierende DocLink auf ein anderes Dokument umlinken  (Gelesen 2491 mal)

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hallo zusammen,

schon wieder habe ich ein Problem und vielen Dank für jede Hilfe im Voraus.

Ich habe folgendes Problem:
In den Dokumenten (Datenbank „db“) gibt es ein Feld "DateiHyperlink", wo können einige DocLinks zu den Dokumenten in der Datenbank „dbMailCopy“  gespeichert werden.
Die Aufgabe:
- das Dokument in der Datenbank „dbMailCopy“ für das entsprechendes DocLinks identifizieren
- in der Datenbank „AdbMC“ das identifizierte Dokument kopieren
- das entsprechende DocLink („db“) zu der erstellte Kopie in der „AdbMC“ aktualisieren.
Ich habe versucht das mit dem folgenden Script zu machen. Folgendes passiert: die Dokumente werden richtig ermitteln, in der Datenbank „AdbMC“ kopiert.
Für die Aktualisierung des DocLink habe ich verwendet:
       rtlink.DbReplicaID = IDAdbMC
      rtlink.ViewUNID = IDAvMC
      rtlink.DocUnID = IDAdocMC
      Call docMC.Save( True, True )
Und Messagebox zeigt das auch (s. Bild 2.), aber die Verknüpfung wird nicht aktualisiert und zeigt nicht auf das Kopie-Dokument in der Datenbank „AdbMC“, sondern  auf das Original-Dokument in der Datenbank „dbMailCopy“ (s. Bild 3.)

Dim session As NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim rti As NotesRichTextItem
Dim rtnav As NotesRichTextNavigator
Dim rtlink As NotesRichTextDocLink

'MailCopyDB
Dim dbMailCopy As NotesDatabase
Dim vMailCopy As NotesView
Dim IDdbMailCopy As String
Dim IDvMailCopy As String
Dim IDrtlink As String
Dim docMC As NotesDocument

'Archiv MailCopyDb
Dim AdbMC As NotesDatabase
Dim AvMC As NotesView
Dim tmpAvMC As NotesView
Dim IDAdbMC As String
Dim IDAvMC As String
Dim AdocMC As NotesDocument
Dim IDAdocMC As String

Sub Initialize
   Set session = New NotesSession
   Set db = session.CurrentDatabase
   Set dc = db.UnprocessedDocuments
   Set doc = dc.GetFirstDocument
   Set rti = doc.GetFirstItem("DateiHyperlink")
   Set rtnav = rti.CreateNavigator
   
   Set dbMailCopy = session.GetDatabase( "", "mail\mailcopy.nsf" )
   IDdbMailCopy = dbMailCopy.ReplicaID
      
   Set vMailCopy = dbMailCopy.GetView( "($All)" )
   IDvMailCopy = vMailCopy.UniversalID
      
   Set AdbMC = session.GetDatabase( "", "mail\archivMC.nsf" )
   IDAdbMC = AdbMC.ReplicaID
      
   Set AvMC = AdbMC.GetView( "($All)"  )
   IDAvMC = AvMC.UniversalID
      
   Set tmpAvMC = AdbMC.GetView( "tmpArchiv"  )
   
   If Not rtnav.FindFirstElement(RTELEM_TYPE_DOCLINK) Then
      Exit Sub
   End If
   Do
      Set rtlink = rtnav.GetElement
      IDrtlink = rtlink.DocUnID

      Messagebox "DB:  "  & rtlink.DbReplicaID & " = " &  IDdbMailCopy  & _
      Chr(13) &  "View:  " & rtlink.ViewUNID & " = " & IDvMailCopy  & _
      Chr(13) &  "Doc: " & rtlink.DocUnID & " = " &  Idrtlink

Bild 1.


      Set docMC = dbMailCopy.GetDocumentByUNID( IDrtlink )
      
      docMC.Categories = "archiv"
      Call docMC.Save( True, True )
      
      Call docMC.CopyToDatabase( AdbMC )
      Call tmpAvMC.Refresh
      Set AdocMC  = tmpAvMC.GetFirstDocument
      IDAdocMC =  AdocMC.UniversalID

      rtlink.DbReplicaID = IDAdbMC
      rtlink.ViewUNID = IDAvMC
      rtlink.DocUnID = IDAdocMC
      Call docMC.Save( True, True )
      
      Messagebox "DB:  "  & rtlink.DbReplicaID & " = " &  IDAdbMC  & _
      Chr(13) &  "View:  " & rtlink.ViewUNID & " = " &  IDAvMC  & _
      Chr(13) &  "Doc: " & rtlink.DocUnID & " = " &  IDAdocMC
      
Bild 2.

      AdocMC.Categories = ""
      Call tmpAvMC.Refresh
      Call AdocMC.Save( True, True )
      
   Loop While rtnav.FindNextElement(RTELEM_TYPE_DOCLINK)
   
End Sub


Leider hab nicht begriffen wie kann ich hier Bilder hinzufügen.

Hoffentlich habe ich das Problem richtig geschildert.

Vielen Dank für jeden Typ

Gruessen
Sofia
« Letzte Änderung: 18.11.04 - 09:58:01 von sja »

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Existierende DocLink auf ein anderes Dokument verweisen
« Antwort #1 am: 16.11.04 - 21:56:56 »
Leider hab nicht begriffen wie kann ich hier Bilder hinzufügen.

2 Möglichkeiten:
a) Auf die "erweiterten Optionen..." klicken unterhalb der Texteingabe-Box. Dort kannst Du pro Posting bis zu 2 Bilder anhängen. Diese werden dann unten angezeigt.
b) Wenn die Bilder auf einem Webspace sind, dann über [ img ] URL [ /img ] einbinden (Leerzeichen weglassen!).
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re: Existierende DocLink auf ein anderes Dokument verweisen
« Antwort #2 am: 17.11.04 - 11:26:57 »
Hallo Matthias,
vielen Dank für den Hinweis. Die Bilder sind jetzt da.

Ob ich das Problem richtig geschildert habe? (wegen meinen keinen perfekten deutsch).

Leute, bitte spricht mit mir!

Danke
Sofia

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Existierende DocLink auf ein anderes Dokument umlinken
« Antwort #3 am: 17.11.04 - 13:52:41 »
Naja, nach langer analyse könnte es sein, dass Du das Doc am Schluss nicht speicherst? Und dadurch der Doclink auch nicht gespeichert wird?
« Letzte Änderung: 17.11.04 - 16:46:20 von umi »
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re: Existierende DocLink auf ein anderes Dokument umlinken
« Antwort #4 am: 18.11.04 - 09:45:18 »
Hallo umi,

Du hast ja absolut Recht, in der Wirklichkeit habe ich alle Doc's gespeichert, ausser Doc mit dem Link selbst:
Call doc.Save( True, True )
Es war ganz dumme Versehen von mir. Jetzt funktioniert alles wunderbar!

Vielen vielen Dank!!!

Viele Gruessen
Sofia

P. S. Danke, wenn jemand verratet mir, wie soll das Symbol ausgewählt werden, wenn das Thema glücklich abgeschlossen ist.

Driri

  • Gast
Re: Existierende DocLink auf ein anderes Dokument umlinken
« Antwort #5 am: 18.11.04 - 09:49:55 »
Aber klar doch, Du mußt den ersten Post editieren und dort das Symbol auf "Daumen hoch" ändern.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Existierende DocLink auf ein anderes Dokument umlinken
« Antwort #6 am: 18.11.04 - 09:51:31 »
Sofia, manchmal sind es wirklich die ganz kleinen Dinge, die das grösste Kopfzerbrechen bereiten ... Wer nicht programmiert, baut auch keine Programmfehler  ;)

Das "Erledigt"-Zeichen ist leider der neuen Forums-Software zum Opfer gefallen. Bis das wieder funktioniert, kannst Du Dich eines Tricks bedienen: Editiere Dein erstes Posting noch einmal und setze dort das Thread-Icon auf den "Daumen hoch".

HTH,
Bernhard

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re: Existierende DocLink auf ein anderes Dokument umlinken
« Antwort #7 am: 18.11.04 - 10:08:45 »
Danke Leute!

ich bin nie müde es wiederholen: "Ich liebe dieses Forum!". 

Danke für Hinweis mit "Daumen hoch". Ich habe immer fleissig nach dem Bild-Symbol gesucht.  :)

Viele Gruessen
Sofia

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz