Domino 9 und frühere Versionen > ND8: Entwicklung

embedded view mit ausgewählten dokumenten

<< < (2/4) > >>

pram:
Mach als erstes mal ein "Option Declare" in deinen Options Block (dies sollte man übrigens so gut wie IMMER machen!)
Dann meckert der Compiler schon mal viele Fehler an.

1. currDoc muss ein notesdocument und kein notesUIdocument sein (=ws.currentdocument.document)
2. Sowas geht natürlich nicht:  Set doc = view.getAllDocumentsByKey("profile") => Schau unter der Hilfe zu NotesDocumentCollection
(außerdem übergibst du "profile" als String, dies entspricht nicht einem Feldwert und ist womöglich nicht das was du willst)

3. Dann gibt es noch den Debugger mit dem du den Code schritt für schritt abarbeiten kannt und z.B. prüfen kannst ob die richtigen Dokumente gefunden werden.

Gruß
Roland

ditodotorg:
So.... habe mich mal schlau gemacht und die anpassungen übernommen.... allerdings will er immer noch nicht mitspielen... :-(

Er möchte die Feldbezeichnung für die collection in der if-schleife nicht annehmen... aber wieso? das versteh ich nicht so richtig.... kann mir da jemand weiterhelfen?

Sub Click(Source As Button)
   Dim session As NotesSession
   Set session = New NotesSession
   
   Dim db As notesdatabase
   Dim view As NotesView
   Dim dc As NotesDocumentCollection

   Dim workspace As NotesUIWorkspace
   Dim currdoc As NotesUIDocument
   
   Set db = session.CurrentDatabase
   Set view = db.GetView("Untersuchungskartei")
   Set dc = view.getAllDocumentsByKey("profile_doc";False)

   Set currDoc = workspace.CurrentDocument.Document
   
   While Not (doc Is Nothing)
      If dc.profile_doc (0) = currdoc.patient_number (0) Then
         dc.PutInFolder "Untersuchungen"
      End If
   Wend
   
End Sub

pram:

--- Zitat ---...in der if-schleife nicht annehmen...

--- Ende Zitat ---
http://www.if-schleife.de/ ;)

Du vermischt hier Dokumente und die Collection (welche die Dokumente enthält)
Schau dir bitte nochmal die Hilfe zur NotesDocumentcollection an. Durch eine DC geht man wie Folgt durch:

set doc = dc.getFirstDocument
while not doc is nothing
  ....
  set doc = dc.getNextDocument(doc)
wend

außerdem denke ich dass dies immer noch falsch ist:
  Set dc = view.getAllDocumentsByKey("profile_doc";False)
...macht zumindest keinen Sinn, wenn deine Embedded-View kategorisiert ist und nur diese Kategorie angezeigt wird (ist sie das? Diese Frage ist noch offen!)
Wenn ja musst du höchstwahrscheinlich ein Feld angeben:
  Set dc = view.getAllDocumentsByKey( currDoc.kategorie_feld(0) ;False)

Gruß
Roland

ditodotorg:
Dank bis hierhn schonmal, vor allem auch für die Geduld mit mir als Anfänger :-)...

Zuersteinmal.... ja categorized ist die view...

nun meint er aber das "object variable not set"... hä? wie denn das jetzt?

meine jetzige button-deklaration:

Sub Click(Source As Button)
   Dim session As NotesSession
   Set session = New NotesSession
   
   Dim db As notesdatabase
   Dim view As NotesView
   Dim dc As NotesDocumentCollection

   Dim workspace As NotesUIWorkspace
   Dim currdoc As NotesUIDocument
   
   Set db = session.CurrentDatabase
   Set view = db.GetView("Untersuchungskartei")
   Set dc = view.getAllDocumentsByKey(currdoc.profile_doc(0),False)

   Set currDoc = workspace.CurrentDocument.Document
   
   While Not (doc Is Nothing)
      If dc.profile_doc (0) = currdoc.patient_number (0) Then
         dc.PutInFolder "Untersuchungen"
      End If
      Set doc = dc.GetNextDocument(doc)
   Wend
   
End Sub

ascabg:
Hallo,

Wo wird denn das doc gesetzt? (siehe Deine Schleife)

Und was willst Du hiermit erreichen?

--- Zitat ---If dc.profile_doc (0) = currdoc.patient_number (0) Then
--- Ende Zitat ---


Andreas

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln