Autor Thema: Auslesen von Werten in Skript  (Gelesen 4913 mal)

Offline Wilhelm Weber

  • Junior Mitglied
  • **
  • Beiträge: 75
Auslesen von Werten in Skript
« am: 26.11.10 - 20:35:41 »
Hallo zusammen,

ich hatte vor kurzem ähnliches gepostet und brüte jetzt über einer Erweiterung.

Es sollte das Feld key aus dem aktuellen Dok ausgelesen werden um dann in einer anderen Ansicht nach dem Wert von key zu suchen und ein anderes feld (ergebnis) mit Mehrfachwerten zur Auswahl einzublenden. Der Code funktioniert auch (s.u.)
Jetzt ist aufgefallen, dass es in der Ansicht z.T. den Wert key mehrmals gibt. Die Auswahl stoppt beim ersten treffer , es sollen aber alle Ergebnisse  aus allen Dokumenten , die den key-Wert enthalten angezeigt werden.

Zur Verdeutlichung:

Spalte 1   Spalte 2

key          Wert1

key          Wert4
                Wert6
                Wert7

key           wert5
                wert9


bei Auswahl des keys sollen in der PROMPT_OKCancelList dann die werte "Wert1" "Wert4"
 "Wert6" "Wert7" usw, also alle angezeigt werden.
 
Habe was mit getalldocumentbykey funktioniert, das passt aber nicht.

Hatjemand einen Tip ?

Grüße
Wilhelm


        Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim db As NotesDatabase
        Dim uidoc As notesuidocument
        Dim view As notesview
        Dim doc As NotesDocument

        Set db = session.CurrentDatabase
   Set uidoc = workspace.CurrentDocument
   look = uidoc.FieldGetText( "key" )
   Set view = db.GetView("Ansicht")
   Set doc = view.GetDocumentByKey (look, True)
   antwort = workspace.Prompt (PROMPT_OKCancelList, _
   "Bitte auswählen", "Bitte auwählen.","",   doc.ergebnis)
« Letzte Änderung: 26.11.10 - 21:48:04 von Wilhelm Weber »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Auslesen von Werten in Skript
« Antwort #1 am: 27.11.10 - 00:45:49 »
Habe was mit getalldocumentbykey funktioniert, das passt aber nicht.

GetAllDocumentsByKey wäre schon genau das richtige Verfahren - ergibt sich nun unsererseits die Frage, wo es denn dabei nun klemmt. Die Ergebnisse (Arrays - solche sind es ja bei Notes Items ja immer) musst Du natürlich verketten.

Bernhard

Offline Wilhelm Weber

  • Junior Mitglied
  • **
  • Beiträge: 75
Re: Auslesen von Werten in Skript
« Antwort #2 am: 27.11.10 - 08:56:25 »
Hallo Bernhard,

das verketten ist das erste Problem. Die Collection zeigt 4 an bei einem Beispiel. Das passt auch, da es 4 Dokumente gibt, die den key haben. Aber wie kriege ich das in das prompt rein ???
   
Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim uidoc As notesuidocument
   Dim view As notesview
   Dim doc As NotesDocument
   Dim dc As NotesDocumentCollection

  Set db = session.CurrentDatabase
   Set uidoc = workspace.CurrentDocument
   look = uidoc.FieldGetText( "key" )
   Set view = db.GetView("Ansicht")
   Set dc = view.GetAllDocumentsByKey(look, True)
 
   antwort = workspace.Prompt (PROMPT_OKCancelList, _
   "Bitte auswählen", "Bitte auwählen.","",   ????)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Auslesen von Werten in Skript
« Antwort #3 am: 27.11.10 - 12:14:58 »
ArrayAdd ist Dein Freund.

Offline Wilhelm Weber

  • Junior Mitglied
  • **
  • Beiträge: 75
Re: Auslesen von Werten in Skript
« Antwort #4 am: 27.11.10 - 19:07:56 »
Auch in Version 6?

Hab nichts in der Hilfe gefunden.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Auslesen von Werten in Skript
« Antwort #5 am: 27.11.10 - 20:48:55 »
Auch in Version 6 - allerdings hatte ich das gedankenverloren mit meiner eigenen Routine hierfür verwürfelt: ArrayAppend heisst die Funktion. Allerdings hätte Dir das beim Studium der LotusScript-Sprachreferenz an Hand des ähnlichen Namens selber auffallen müssen.

Bernhard

Offline Wilhelm Weber

  • Junior Mitglied
  • **
  • Beiträge: 75
Re: Auslesen von Werten in Skript
« Antwort #6 am: 27.11.10 - 21:54:48 »
hallo Bernhard,

was ein profi wie du sagst, ist für mich Gesetz ! ;)

Im Ernst, ich komme mit dem ArrayApend auch nicht weiter, warte dann auf unseren Entwickler.

Grüße
Wilhelm

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Auslesen von Werten in Skript
« Antwort #7 am: 27.11.10 - 22:56:54 »
Hallo Wilhelm,

ich zielte hier darauf, dass Du Dir ein Auswahlarray zusammenbaust, indem Du über die Mitglieder der per GetAllDocumentsByKey gefundenen NotesDocumentCollection iterierst und dabei das entsprechende Feld ausliest.

Wenn Du allerdings Deine Ansicht auch kategorisiert aufbauen kannst, dann wäre ein NotesUIWorkspace.PickListStrings noch viel einfacher.

Bitte entschuldige nochmals mein Versehen mit "ArrayAdd".

Bernhard

Offline Wilhelm Weber

  • Junior Mitglied
  • **
  • Beiträge: 75
Re: Auslesen von Werten in Skript
« Antwort #8 am: 28.11.10 - 11:18:02 »
Hallo Bernhard,

NotesUIWorkspace.PickListStrings war mein erster Ansatz.
Kriege aber da ja auch nur die Gesamtdokumente zurück und nicht die einzelnen werte.

Wie gesagt, hat sich erstmal erledigt jetzt.

Danke für deine Mühen

Grüße
Wilhelm

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Auslesen von Werten in Skript
« Antwort #9 am: 28.11.10 - 11:23:49 »
Kriege aber da ja auch nur die Gesamtdokumente zurück und nicht die einzelnen werte.

Da verwechselst Du aber PicklistStrings mit PicklistCollection.

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz