Domino 9 und frühere Versionen > ND8: Entwicklung
embedded view mit ausgewählten dokumenten
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