Autor Thema: 1 Feldwert aus mehreren Einträgen über Ansicht in Variable auslesen  (Gelesen 3848 mal)

Offline webchild

  • Junior Mitglied
  • **
  • Beiträge: 94
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Ich habe ein Feld "Projekte"in einer Maske in dem mehrere Einträge aus einem Schlüsselwortfeld ausgelesen wurden.
 
Dann habe ich eine Ansicht, in der diese Werte jeweils getrennt angezeigt werden.

Ich möchte diesen einzelnen Wert nun wiederum an eine Variable übergeben.
Also, wenn ich nun ein Dokument in dieser Ansicht auswähle, soll nur dieser Eintrag an besagte Variable über einen Agenten ausgegeben werden.

Da ich noch nicht sehr firm in Lotus Script bin (totaler Anfänger) komme ich schon gedanklich nicht klar.
Ich kriege es nicht auf die Reihe einen Wert aus einer Ansicht auszulesen.

Soweit bin ich bis jetzt gekommen, aber ich bekomme nur den Fehler "Type Mismatch" ausgegeben:

   Dim ws As New NotesUIWorkspace
   Dim session As New notessession
   Dim db As notesdatabase
   Dim view As notesview
   Dim doc As Notesdocument
   Dim notesViewColumn As NotesViewColumn
   Dim Projektnummer As Variant
   
   Dim test As String
   
   Set db = session.CurrentDatabase
   Set view=db.getview("(Projekt)")   
   Set notesViewColumn = view.Columns (0)
   Set collection = db.UnprocessedDocuments
   Set doc = collection.GetFirstDocument
   Set Projektnummer = notesViewColumn
   
   Messagebox (Projektnummer)

Nicht lachen sondern bitte helfen, Danke! Ich hoffe es ist nur eine Kleinigkeit!    :'(

Grüße, Krista

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Nicht lachen, sondern lächeln ...  ;)

Ist die Ansicht kategorisiert? Dann könnte das helfen:

notesUIView.CaretCategory


Vielleicht funktioniert das auch bei nicht kategorisierten (auch wenns dazu nicht vorgesehen ist). Ansonsten dürfte es gar nicht so einfach sein, diese Info zu bekommen .... :-(
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline webchild

  • Junior Mitglied
  • **
  • Beiträge: 94
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Die Ansicht ist kategorisiert, aber blöde Frage wo soll ich das denn einbinden?
Soll ich es einfach der Variable "Projektnummer" zuweisen? Aber dann kommt die Fehlermeldung "Variable does not contain an object".

   Dim ws As New NotesUIWorkspace
   Dim session As New notessession
   Dim db As notesdatabase
   Dim Projektnummer As Variant
   
   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments
   Set Projektnummer = notesUIView.CaretCategory
   
   Messagebox (Projektnummer)
 ???
Grüße, Krista

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Hi,

du kannst direkt aus einer Ansicht keine Werte auslesen. Du musst immer über ein Dokument gehen. Den richtigen Anfang hast du schon gemacht. Aber über NotesViewColumn kannst du nur die Eigenschaften einer Ansichtsspalte ermitteln.

Dein Code muß so aussehen:

Dim ws As New NotesUIWorkspace
Dim session As New notessession
Dim db As notesdatabase
Dim doc As Notesdocument
Dim strProjektNummer As String
   
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument
strProjektnummer = doc.Projekte(0)
   
Messagebox strProjektnummer

Axel

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

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Set notesUIView=ws.CurrentView


Vielleicht befreundest Du Dich mal mit der Hilfe des Designers
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... man kann Werte aus einer Ansicht lesen. Dazu verwendet man die NotesViewEntry => mehr dazu in der Hilfe...

... über den Eintrag kann man auch das dazugehörige Dokument initialisieren...

ata
Grüßle Toni :)

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Ata: kennst Du eine Möglichkeit, den ViewEntry der aktuellen Zeile zu bekommen? Das wäre ja eigentlich die naheliegendste Möglichkeit, ich sehe da aber nirgends sowas wie ein "currentViewEntry" oder sowas ..... :-( Wenn wir den haben, dann ist die Sache eine Leichtigkeit.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Hi,

über die Eigenschaft ColumnValues kann man alle Einträge einer Spalte auslesen.

Nur, den Wert der aktuellen Zeile bekommt man so nicht und das ist was webchild haben will. Da bleibt nichts anders übrig als über das Dokument zu gehen.

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

Offline webchild

  • Junior Mitglied
  • **
  • Beiträge: 94
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
NotesViewentry kann ich ja nur benutzen wenn ich die Funktion GetEntryByKey("key$") verwende, aber was soll ich den als Schlüssel angeben? Sonst wäre es das doch schon:

Dim view As NotesView
Dim entry As NotesViewEntry
Set view = db.GetView("By Category")
Set entry = view.GetEntryByKey("Cars")
Messagebox entry.ColumnValues(0)

Deine Lösung Semeaphoros die du vorgeschlagen hattest (notesUIView.CaretCategory) wäre perfekt, wenn ich nicht den Wert aus einer versteckten Ansicht auslesen müsste, weil der Inhalt des Feldes noch mal getrennt werden muß in Projekt und Funktion.

Das habe ich erfolgreich in einer weiteren Ansicht gemacht aber das ist nicht die Anscht aus der man operiert.

Ich lese auch brav die Hilfe zu allen Befehlen die mir Vorgeschlagen werden! :)

Ich habe die Datenbank nicht gemacht, soll aber jetzt Anpassungen vornehmen und Funktionen einbauen, deshalb dieser komplizierte Weg!
Danke für jede Hilfe die ich erhalte! :-*
Grüße, Krista

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Axel: Das ist genau so wie Du sagst, hier haben wirs aber mit einem auseinandergezupften Multi-Value-Field zu tun und müssen wissen, welcher Eintrag ausgewählt wurde.

Webchild: Aber wenn Du über Caret ja das Resultat (fast) bekommst, dann solltest Du doch aus dem Caret-Resultat heraus entweder deinen Key zum Weitersuchen ausbrechen können oder sonstwie über einen Nachschlage-Vieh über die möglichen Caret-Werte hinüber eine Uebersetzung oder so machen können .....??


Na ja, Maintenance in fremdem Code ist eine anspruchsvolle Geschichte .......
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline webchild

  • Junior Mitglied
  • **
  • Beiträge: 94
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Ein Beispiel für den Inhalt in dem Mehrfachfeld und die Messagebox die ausgegeben wird (notesUIView.CaretCategory) habe ich mal als Grafik angehängt.
Ich werde ab morgen 3 Wochen Urlaub machen und mich erst danach wieder darum kümmern können, also nicht denken ich hätte kein Interesse mehr an den Antworten!
Ich denke ich bin einer Lösung nicht mehr so fern, vielleicht werde ich aber doch die Felder oder die Ansicht ändern.
Bis dann, danke schon mal für die Unterstützung bisher! :D
Grüße, Krista

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz