Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Wanderwiesel am 18.07.05 - 10:43:50

Titel: Felder füllen mit zwei Keys
Beitrag von: Wanderwiesel am 18.07.05 - 10:43:50
Hallo,

habe ein kleines Problem.

Ich habe zwei Dialoglisten (Name und Jahr). Jetzt möchte ich Felder anhand beider Listen automatisch füllen. So weit ich weiß geht das per Formelsprache gar net.

Höchstens mit Script. Oder gibt es doch ne alternative Lösung?
Titel: Re: Felder füllen mit zwei Keys
Beitrag von: robertpp am 18.07.05 - 10:51:30
Kannst du ein wenig genauer schilder was du machen möchtest!
Titel: Re: Felder füllen mit zwei Keys
Beitrag von: Wanderwiesel am 18.07.05 - 10:54:48
Also...

ich habe zwei Felder (Name, Jahr).

Zuerst wähle ich den Namen. Dann wird das in dem zweiten Feld entsprechend eine Auswahl anhand des Schlüssels Name dargestellt.

Beispiel:

Feld Name Auswahl = Hans

Feld Jahr bekommt die Auswahlmöglichkeit 2003/2004 und 2004/2005


Nachdem meine Auswahl vollständig mit Name und Lehrjahr gemacht wurde, sollen entsprechend Felder gefüllt werden.

Hoffe das ist einigermaßen verständlicher. ;)
Titel: Re: Felder füllen mit zwei Keys
Beitrag von: Thomas Schulte am 18.07.05 - 11:04:02
Warum sollte das denn bitteschön nicht mit @Formeln funktionieren?
Das ist doch ein geradezu klassischer Fall für diese Sprache. Genauso wie du dein zweites Feld abhängig vom ersten Feld füllst kannst du auch weitere Felder abhängig von der Kombination beider Felder füllen. Du brauchst nur ein wenig @dblookup und vielleicht wenn du es richtig machen willst @word, vorausgesetzt deine Daten sind irgendwo in der Datenbank bereits vorhanden.
Titel: Re: Felder füllen mit zwei Keys
Beitrag von: Axel am 18.07.05 - 11:06:01
Hi,

du hast recht, Formelbefehle wie @DbLookup usw. lassen nur einen Schlüssel zu. Du kannst dir aber eine versteckte Ansicht bauen, die beide Schlüssel zusammenfasst. Also in der ersten Spalte so was wie Name + Jahr

Die einfachste Variante wäre aber sicherlich Script zu verwenden. In der Designerhilfe gibt es genügend Beispiele. Schau mal in der NotesView-Klasse bei GetDocumentByKey.


Axel
Titel: Re: Felder füllen mit zwei Keys
Beitrag von: Wanderwiesel am 18.07.05 - 11:07:21
Habe eben ne Lösung gefunden. Mit Formelsprache. Aber: Das zweite Feld zeigt nicht meine vollständige Auswahl von allen Jahren an. Nur das derzeitige Jahr wird angezeit.

Titel: Re: Felder füllen mit zwei Keys
Beitrag von: Axel am 18.07.05 - 11:08:56
Hi,

wie sieht denn deine Formel aus? Eventuell ist es ein Aktualisierungsproblem.


Axel
Titel: Re: Felder füllen mit zwei Keys
Beitrag von: Wanderwiesel am 18.07.05 - 11:13:04
Das erste Feld:

@Unique(@DbColumn( "" :"NoCache" ;"" : "" ; "LookupDruckEinsatz" ; 1 ))

Ist ein Dialogfeld.

Das zweite Feld:

@Unique(@If(Druckname="";"";
@DbLookup("":"NoCache";"":"";"LookupDruckEinsatz";Druckname;2)))

Ebenfalls ein Dialogfeld. Jedoch mit dem Unterschied, dass Felder per Schlüsselwort aktualisiert werden.

Die View hat zwei Kategorien: Name und Lehrjahr. Wird wahrscheinlich daran liegen. Blöd, das Notesdatenbanken nicht relational sind...
Titel: Re: Felder füllen mit zwei Keys
Beitrag von: Thomas Schulte am 18.07.05 - 11:19:48
Da mag er die Ansicht nicht. Da das zweite Feld eine Kategorie ist gibt er nicht alles zurück.. In solchen Fällen ist es sowieso sinnvoller mit eigenständigen Ansichten zu arbeiten und die auch mit z.B. ($Ansicht) zu kennzeichnen so das jeder weis. OK Junge wenn du hier änderst dann musst du vorsichtig sein. Das Teil wird irgendwo noch gebraucht.
Titel: Re: Felder füllen mit zwei Keys
Beitrag von: Wanderwiesel am 18.07.05 - 11:30:47
Genau das hab ich auch gemacht. Klappt trotzdem nicht.

Und mit @word das ganze zu lösen klappt auch nicht. Dann muss wohl oder übel ne Script Lösung her...
Titel: Re: Felder füllen mit zwei Keys
Beitrag von: Axel am 18.07.05 - 11:37:34
Hi,

hast du beim ersten Dialogfeld die Option "Felder bei Schlüsselwortänderung aktualisieren" und beim zweiten die Option "Auswahl bei Dokumentenaktualisierung aktualisieren" gesetzt?


Axel
Titel: Re: Felder füllen mit zwei Keys
Beitrag von: Wanderwiesel am 18.07.05 - 11:42:42
Japp. Daran hab ich als erstes gedacht.

Titel: Re: Felder füllen mit zwei Keys
Beitrag von: koehlerbv am 18.07.05 - 11:46:47
Woher bezieht eigentlich die zweite Spalte ihre Werte ? Was mich wundert, ist, dass zumindest ein Wert ausgelesen wird, aber nicht alle. Kannst Du statt auf die Spalte nicht auf ein Feld der Dokumente zurückkgreifen ?

Bernhard
Titel: Re: Felder füllen mit zwei Keys
Beitrag von: Wanderwiesel am 18.07.05 - 11:51:58
Die Werte sollen anhand beider Spalten ermittelt werden. Wie gesagt, klappt im Prinzip, nur leider wird nicht alles, was in der zweiten Spalte steht angezeigt...
Titel: Re: Felder füllen mit zwei Keys
Beitrag von: Thomas Schulte am 18.07.05 - 12:08:27
Noch mal nur so fürs Grobe. Ich hab nämlich den Eindruck bekommen das es da hängt.

Wenn man mit mehreren Schlüsseln nacheinander arbeitet, und dann zum Schluss Werte für den Kombinierten Schlüssel bekommen will, dann ist es immer sinnvoll beide Schlüssel zu kombinieren um auf den richtigen Wert zugreifen zu können, denn der DBLOOKUP geht immer nur auf das erste Sortierte Feld der Ansicht los.
Also musst du eine Ansicht bauen die die Kombination aus Feld1 und Feld 2 enthält und dann im DBLookup nach dieser Kombination suchen.

Du brauchst also eine Ansicht mit einem Schlüssel Feld1~~Feld2 und dein Lookup für die Felder muss mit genau diesem Wert laufen.

Falls das Problem da liegt, das deine Auswahl im zweiten Feld nicht passt, kannst du dir auch !!Help!! runterladen, da ist das in mit den Feldern Application, Failuretype und FailureSubtype im BugReport genau so gemacht worden.
Titel: Re: Felder füllen mit zwei Keys
Beitrag von: Wanderwiesel am 18.07.05 - 12:22:02
Hab ne Lösung gefunden. Ist zwar net ganz sauber. Aber es klappt. Hab ein seperates Feld als "Key" genommen und beide Spalten zusammengefaßt. Nun klappts. Danke für Eure Hinweise.