Autor Thema: Spalten in einer Dialogliste auslesen  (Gelesen 10969 mal)

Offline Sven09

  • Frischling
  • *
  • Beiträge: 13
Spalten in einer Dialogliste auslesen
« am: 02.09.09 - 18:46:04 »
Hallo zusammen,

ich habe da folgendes Problem:


In einer Maske habe ich ein Feld mit einer Dialogliste eingefügt. Die Daten kommen aus einer Ansicht mit 5 Spalten (Name, Vorname, Telefon, etc.)

Nun möchte ich, dass wenn ich einen Namen aus dieser Dialogliste auswähle, gleichzeitig in einem anderen Feld eine andere Spalte angezeigt wird.

Ich habe hierzu schon ein neues Textfeld erstellt und in die Dialogliste folgenden Code eingetragen:
     Sub Exiting(Source As Field)
          bearbeiter=zust_BwDLZ_1_Inland.column(3)
     End Sub

Leider passiert nichts und ich bin langsam am verzweifeln...

Über Hilfe freut sich....

Sven

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Spalten in einer Dialogliste auslesen
« Antwort #1 am: 02.09.09 - 19:01:46 »
Hallo Sven,

... das ist etwas wenig, um dein Problem erkennen zu können.

Grundsätzlich geht das, was du vorhast, aber das Exiting ist nicht die beste Wahl - und aus dem Codefragment werde ich nicht ganz schlau...

Hast du grundsätzlich Erfahrung in LotusScript?

Toni
Grüßle Toni :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Spalten in einer Dialogliste auslesen
« Antwort #2 am: 02.09.09 - 20:03:59 »
Das Exiting ist hierfür nicht nur nicht die beste Wahl, sondern sogar ganz schlecht. Abgesehen davon:
Code
     Sub Exiting(Source As Field)
          bearbeiter=zust_BwDLZ_1_Inland.column(3)
     End Sub

Wo ist "bearbeiter" deklariert und wo "zust_BwDLZ_1_Inland"? Woher weiss dann der Code, was damit im Exiting gemeint ist??

@All: Ich bin jetzt etwas verwundert, dass diese Codezeile überhaupt an einem Option Declare vorbei kommt ... Selbst ein
Code
bearbeiter = "1"
funktioniert dort ...

@Sven: Wenn Du das wirklich mit LS machen willst, dann gehört sowas in das PostRecalc-Event, dass Du dann bei Wertänderung triggern musst (was ja bei Dialoglisten einfach machbar ist).
Nur: Warum arbeitest Du nicht mit @dbLookup in den abhängigen Feldern?

Bernhard

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Spalten in einer Dialogliste auslesen
« Antwort #3 am: 02.09.09 - 20:20:14 »
@Bernhard

... ich wollte nicht gleich so hart ins Gericht gehen  ;)

Mir scheint, daß es hier an KnowHow fehlt - denn der Code macht wirklich keinen Sinn, es sei denn es sind globale Variablen deklariert - oder was auch immer - oder es handelt sich nicht um CopyPaste und der Code wurde mit Tippfehlern übernommen - also alles mögliche eben...

Der erste Ansatz ist bei den meisten das Exiting des Auswahlfeldes - bis man dann merkt, was das dann zusätzlich bedeutet - und das es letztendlich damit nicht zum funktionieren kommt.

Dein Weg ist einer - ich kenne auch noch einen weiteren - es gibt wieder mal viele Wege nach Rom...

Toni
Grüßle Toni :)

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Spalten in einer Dialogliste auslesen
« Antwort #4 am: 02.09.09 - 20:31:23 »
Zitat von: koehlerbv
@Sven: Wenn Du das wirklich mit LS machen willst, dann gehört sowas in das PostRecalc-Event, dass Du dann bei Wertänderung triggern musst (was ja bei Dialoglisten einfach machbar ist).
Nur: Warum arbeitest Du nicht mit @dbLookup in den abhängigen Feldern?

... wenn er die Werte alle in der Dialogliste hat, dann wäre die Frage was er sich tatsächlich zurückgegeben hat - die Liste oder einen Alias. Der Lookup ist hier eventuell gar nicht nötig - es könnte auch ein @Word reichen - doch das ist Spekulation...

Mal schaun - vielleicht sollte auch begriffen werden, warum das Exiting der falsche Weg ist...

Toni
Grüßle Toni :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Spalten in einer Dialogliste auslesen
« Antwort #5 am: 02.09.09 - 20:38:38 »
... ich wollte nicht gleich so hart ins Gericht gehen  ;)

Ich war doch gar nicht hart, Toni, sondern nur ehrlich  ;)

Dein Weg ist einer - ich kenne auch noch einen weiteren - es gibt wieder mal viele Wege nach Rom...

Na, ich hatte doch schon zwei Wege genannt  ;) Und ja: Ich kenne da auch noch einige andere Varianten - je nach Anforderungen und Vorlieben  ;)

A propos "Wege nach Rom" - Du hast ja nun im "real life" einen davon beschritten. Wie war es denn?

Bernhard (der jetzt erstmal auf eine Rückmeldung von Sven wartet in dieser Sache)

Offline Sven09

  • Frischling
  • *
  • Beiträge: 13
Re: Spalten in einer Dialogliste auslesen
« Antwort #6 am: 02.09.09 - 22:58:46 »
Gut, vieleicht habe ich mich nur schlecht ausgedrückt. Ich programmiere normalerweise in VBA und da geht sowas mit column  ;)

Über das Dialogfeld "zust_BwDLZ_1_Inland" kann ich auf eine Ansicht zugreifen, in der alle Stellen erscheinen (jede Stelle mit Name, Vorname, Telefon, eMail).

Wenn ich nun eine zuständige Stelle auswähle, wird diese auch richtig angezeigt. Nun möchte ich, dass zusätzlich auch noch die Telefonnummer angezeigt wird.
Diese befindet sich in der Ansicht in der 3 Spalte.

Ich habe nun ein neues Feld mit dem Namen eMail erstellt, in welches dann die eMail Adresse eingetragen werden soll.

Sven

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Spalten in einer Dialogliste auslesen
« Antwort #7 am: 02.09.09 - 23:18:53 »
Gut, vieleicht habe ich mich nur schlecht ausgedrückt. Ich programmiere normalerweise in VBA und da geht sowas mit column  ;)

Sven, das geht doch total am Thema vorbei. Du bist hier bei Notes - eine eigene Programmierumgebung für eine dokumentorientierte Datenbankumgebung statt "Visual Basic for Applications" - was auch wieder sehr spezielle Umgebung ist ;)

Dein Vorhaben, was wir sicherlich schon sehr gut verstanden haben, ist einfach umsetzbar. Die Frage ist: Wie hättest Du es gerne?
- In 90% der Fälle reicht ein Zugriff auf Dein Auswahlfeld für den Namen aus, um die abhängigen Felder (z.B. "Telefon") zu berechnen, indem Du die Formelsprache in den (berechneten) abhängigen Feldern nutzt. Wie man in einer Maske einem Feld mitteilt, dass es bei neuem Inhalt abhängige Felder neu durchrechnet, weisst Du? (das sind Basics und erfordern nur einen Haken - und die Kenntnis der "Risiken und Nebenwirkungen"!)
- Richtig komfortabel kann man es mit LotusScript und dem PostRecalc machen, dazu muss man aber das ganze Modell dahinter kennen- Wie gut bist Du da? VBA ist hilfreich, aber nicht alles.

Bernhard

Offline Sven09

  • Frischling
  • *
  • Beiträge: 13
Re: Spalten in einer Dialogliste auslesen
« Antwort #8 am: 02.09.09 - 23:45:02 »
Ich denke mal, es würden die 90% völlig ausreichen. Nur wie bekomme ich einen solchen Zugriff auf das Auswahlfeld???

Sven

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Spalten in einer Dialogliste auslesen
« Antwort #9 am: 03.09.09 - 00:03:27 »
Liest Du nicht, was wir hier schreiben?? Stelle konkrete Fragen!

Bernhard

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Spalten in einer Dialogliste auslesen
« Antwort #10 am: 03.09.09 - 07:00:17 »
... so langsam verstehe ich die Asugangslage - daher der Code.

In Notes musst du zuerst mal alles deklarieren und  initialisieren, und du musst das Objektmodell und die Events begreifen, die hier benötigt werden. Das ist micht mit VBA zu machen.

Auf die Kürze
Code
Dim ws As New NotesUIWorkspace
Dim docThis As NotesDocument
Dim vValue As Variant

Set docThis = ws.CurrentDocument.Document
vValue = docThis.DEIN_FELDNAME(0)

docThis.DEIN_ZIELFELD = "Wert"

Das wäre grundsätzliches in Sachen Feldzugriff und Werte schreiben...

Toni
Grüßle Toni :)

Offline Sven09

  • Frischling
  • *
  • Beiträge: 13
Re: Spalten in einer Dialogliste auslesen
« Antwort #11 am: 03.09.09 - 18:34:23 »
Aah, so langsam verstehe ich das  ;)

Die Frage ist jetzt nur noch: wie bekomme ich aus der Dialogliste den Wert der 3. Spalte angezeigt.
Die Dialogliste greift auf ein Ansichtsdialogfeld für Auswahl - aktuelle Datenbank- und dann eine Ansicht zurück.
In dieser Ansicht wird die Telefonnummer in der 3. Spalte angezeigt.

Sven

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Spalten in einer Dialogliste auslesen
« Antwort #12 am: 03.09.09 - 18:41:10 »
Hallo Sven,

wie hast du die Auswahl denn eingebaut - Dialogliste - Auswahl über Ansicht und Rückgabe einer bestimmten Spalte - also über das Auswahlfeld direkt - oder anders?

Toni
Grüßle Toni :)

Offline Sven09

  • Frischling
  • *
  • Beiträge: 13
Re: Spalten in einer Dialogliste auslesen
« Antwort #13 am: 03.09.09 - 19:03:28 »
Hallo Toni,

genau, ich habe ein Feld mit Dialogliste - Auswahl über Ansicht und Rückgabe einer bestimmten Spalte. In dem Fall die Spalte 2.

Nun möchte ich, dass in einem anderen Feld die Telefonnummer (Spalte 3) zusätzlich erscheint.


Sven

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Spalten in einer Dialogliste auslesen
« Antwort #14 am: 03.09.09 - 20:59:28 »
... ist der Wert aus Spalte 2 ein eindeutiger Wert - dann könntest du wie von Bernhard bereits erwähnt mit einem Lookup den Inhalt des zweiten Feldes mit Spalte 3 berechnen...

Toni
Grüßle Toni :)

Offline Sven09

  • Frischling
  • *
  • Beiträge: 13
Re: Spalten in einer Dialogliste auslesen
« Antwort #15 am: 06.09.09 - 12:38:16 »
Hallo Toni,

hab es mit Lookup hinbekommen - Danke nochmal für die Hifle ;-)

Sven

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz