Autor Thema: ParentDocumentUNID aus Back-End bekommen??  (Gelesen 2221 mal)

Offline cfiber

  • Frischling
  • *
  • Beiträge: 46
ParentDocumentUNID aus Back-End bekommen??
« am: 10.10.05 - 09:17:50 »
Hallo,

ein klitzekleines Problem plagt mich:

Mit einem Agenten im Back-End versuche ich die ParentDocumentUNID von verschiedenen Dokumenten herauszubekommen, der Debugger meldet aber immer "Invalid Universal ID".

Mein Quellcode ist grob so:

Dim doc As NotesDocument
Dim parentdoc As NotesDocument
Dim db As NotesDatabase

Set db = session.CurrentDatabase
Set dc = db.AllDocuments
Set doc = dc.GetFirstDocument

Set parentdoc = db.GetDocumentByUNID(doc.ParentDocumentUNID)



dc ist nicht leer und doc ist ein Antwortdokument.


Kann mir jemand helfen?

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: ParentDocumentUNID aus Back-End bekommen??
« Antwort #1 am: 10.10.05 - 09:19:57 »
Wie sieht den deine ParentdocumentUNID aus?  evtl. ist die leer?
Oder zeigt auf ein Parent das nicht mehr existiert?
Gruss

Urs

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

Offline cfiber

  • Frischling
  • *
  • Beiträge: 46
Re: ParentDocumentUNID aus Back-End bekommen??
« Antwort #2 am: 10.10.05 - 09:23:15 »
habe die ID mal mit Prompt ausgeben lassen und die stimmt mit dem parent überein.

Und es existiert natürlich auch...  ???

klaussal

  • Gast
Re: ParentDocumentUNID aus Back-End bekommen??
« Antwort #3 am: 10.10.05 - 09:23:30 »
Copy & Paste aus der Hilfe:  :D

Code
Sub Initialize
  Dim s As New NotesSession
  Dim db As NotesDatabase
  Dim dc As NotesDocumentCollection
  Dim doc As NotesDocument, pdoc As NotesDocument
  Dim docSubj As String, pdocSubj As String
  Set db = s.CurrentDatabase
  Set dc = db.AllDocuments
  Set doc = dc.GetFirstDocument
  While Not(doc Is Nothing)
    If doc.IsResponse Then
      Set pdoc = _
      db.GetDocumentByUNID(doc.ParentDocumentUNID)
      docSubj = doc.Subject(0)
      pdocSubj = pdoc.Subject(0)
      Messagebox "Parent: " + pdocSubj,, docSubj
    End If
    Set doc = dc.GetNextDocument(doc)
  Wend
End Sub

Offline cfiber

  • Frischling
  • *
  • Beiträge: 46
Re: ParentDocumentUNID aus Back-End bekommen??
« Antwort #4 am: 10.10.05 - 09:36:47 »
hm hier wird ja auch nur gecheckt, ob das wirklich nen Antwortdoc ist. Aber die Collection, wo "doc" herkommt habe ich so gebastelt, dass es nur aus bestimmten Antwortdokumenten besteht.

Warum meckert der Compiler trotzdem??

klaussal

  • Gast
Re: ParentDocumentUNID aus Back-End bekommen??
« Antwort #5 am: 10.10.05 - 09:40:49 »
Dann wäre etwas mehr Code hilfreich, weil unsere Kristallkugeln nicht mehr so recht wollen.....

Offline cfiber

  • Frischling
  • *
  • Beiträge: 46
Re: ParentDocumentUNID aus Back-End bekommen??
« Antwort #6 am: 10.10.05 - 09:58:34 »
ok, jetzt gehts, ich frage mich zwar, warum ich diese Abfrage brauche, denn laut Debugger ist sie immer wahr und somit sinnlos, aber damit kann ich leben...


Danke euch!

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: ParentDocumentUNID aus Back-End bekommen??
« Antwort #7 am: 10.10.05 - 10:03:38 »
ich frage mich zwar, warum ich diese Abfrage brauche, denn laut Debugger ist sie immer wahr und somit sinnlos, aber damit kann ich leben...

Also, wenn ich mit deinen Quellcode oben anschaue, dann kann die Abfrage nicht immer wahr sein. Mit db.AllDocuments hast du nämlich alle Dokumente aus der Datenbank in der Collection und somit auch die Hauptdokumente.


Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline cfiber

  • Frischling
  • *
  • Beiträge: 46
Re: ParentDocumentUNID aus Back-End bekommen??
« Antwort #8 am: 10.10.05 - 10:08:34 »
ja der ist sehr grob, ich habe mir auf ziemlich komplizierte Weise ne Collection gebastelt, die wirklich nur Response enthält und später im Code heisst es dann:

Set doc = dcresp.GetFirstDocument
.
.
.
Set parentdoc =    db.GetDocumentByUNID(doc.ParentDocumentUNID)
.
.
.
Set doc = dcresp.GetNextDocument(doc)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz