Autor Thema: NotesCollection nach angewähltem Dokument bilden  (Gelesen 2890 mal)

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Hallo Leute,

auf ein Neues :

Ich möchte eine Aktion schreiben, die in der aktuellen
Ansicht alle Dokumente raussucht, die diegleiche Dokumentart besitzen, wie das angewählte Dokument.
Die Ansicht ist nach Dokumentart in der ersten Spalte sortiert.


Ich bin mir recht sicher, dass ich das Suchkriterium "e4fldDokArt" im Back-end
ansprechen sollte und nicht im Front-end.

Aber wie geht das ?


Code


Dim ws As New NotesUIWorkspace  
Dim uidoc As NotesUIDocument  
Set uidoc = ws.CurrentDocument  

Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim dc As NotesDocumentCollection
Set db = session.CurrentDatabase
Set view = db.GetView( "e4vwFallgruppen" )

Dim item As NotesItem
Dim frontenddoc As Notesdocument
Dim key As String
Set frontenddoc = uidoc.document
     
key$ = frontenddoc.e4fldDokArt(0)
     
Set dc = view.GetAllDocumentsByKey(key$, True)
Set doc = dc.getfirstdocument
     
While Not (doc Is Nothing)
           
 Set item = doc.GetFirstItem("e4fldDokArt")

 Set doc = dc.GetNextDocument(doc)
Wend      

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re: NotesCollection Front-end zu Back-end
« Antwort #1 am: 02.10.02 - 17:23:27 »
ob Du den Key über
key$ = frontenddoc.e4fldDokArt(0) oder
fieldgettext aus der UI Klasse Dir holst, spielt in Deinem Ansatz so wie das sehe keine Rolle.

"Regel": solange man nicht als User am PC etwas anzustoßen hat, benötigt man eigentlich keine Frontendklassen.

Interessant finde ich die Schleife  ;D

Set item = doc.GetFirstItem("e4fldDokArt")  

Nachdem Du Dir also außerhalb der Schleife den Searchkey gebildet hast, läßt Du Dir noch vor Eintritt der Schleife die entspr. Docs holen, nur um in der Schleife das Item mit ebendiesem Wert zu besetzen. Etwas ... selbstbeschäftigend, oder?   ;)

Irgendwo muß da noch ein Haken sein, worauf Du hinauswillst.
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re: NotesCollection Front-end zu Back-end
« Antwort #2 am: 03.10.02 - 09:36:47 »
Hi Rob,

Haken ?
"Irgendwie hast Du ja recht"

Was ich will :
Ich habe eine Ansicht in der alle Dokumente nach Dokumentart kategorisiert sind.
Auf Wunsch sollen alle Dokumente _einer_ Dokumentart
ausgewählt werden. Dies soll über Anwahl eines beliebigen Dokuments passieren.
Später will ich aus allen Dokumenten die Besitzer auslesen ( jeden Besitzer aber nur einmal) und das Ganze einer Serienbriefdatei in WinWord übergeben.

ciao

Don Pasquale
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re: NotesCollection Front-end zu Back-end
« Antwort #3 am: 03.10.02 - 17:40:53 »
So, nun habe ich das was ich wollte.

Das von User angewählte Dokument bestimmt die
Dokumentart für die Collection.
Jetzt muss noch richtig getestet werden.


Ciao Don Pasquale

Code
      Dim key  As String
     Set session = New notessession
     Set db=session.currentdatabase
     Set Collection=db.UnprocessedDocuments  
     Set doc=Collection.GetFirstDocument  
     key = doc.e4fldDokArt(0)
     
     Messagebox key
     Dim s As New NotesSession
     Dim view As NotesView
     
     Dim tmpdoc As NotesDocument
     Set view = s.Currentdatabase.GetView( "e4vwFallgruppen" )       
     Dim dc As NotesDocumentCollection
     
     Set dc = view.GetAllDocumentsByKey(key, True)
     
     Set doc = dc.getfirstdocument
     
     While Not (doc Is Nothing)
           Messagebox "Hurra"
           Set doc = dc.GetNextDocument(doc)
     Wend      
     End

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz