Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Jörg am 11.10.05 - 14:59:50

Titel: DBCloum nummerische Rückgabe
Beitrag von: Jörg am 11.10.05 - 14:59:50
Hi ,

ich haben ein Abfrage mit folgenden Feldern:
- Kategorie
- Beschreibung_D
- Beschreibung_GB

Nun habe ich einen Listfled folgenden Befehl zugwiesen um aus der
Abfrage die Bezeichnungen abzufragen.
Code
_Error_Message := "No NAMES installed" ;
_liste_deu := @DbColumn( "Notes" : "NoCache" ; @DbName ; "kategorie" ; 3 );
_liste_eng := @DbColumn( "Notes" : "NoCache" ; @DbName ; "kategorie" ; 4 );

@If(
@Text(language) = "deutsch";  _liste_deu;
@IsError( _liste_eng ); _Error_Message; _liste_eng )
Nun möchte ich aber das im Dokument nicht die Beschreibung abgelegt wird,
sonder die nummerische Kategorie.

Hintergrund hierfür ist , das ich mir ja nach Sprache und Nummer die
Texte in den Ansichten ziehen möchte.
Titel: Re: DBCloum nummerische Rückgabe
Beitrag von: Axel am 11.10.05 - 15:41:09
Hi,

dann nimm doch die Nummer der Kategorien als weitere Spalte in deine Ansicht auf und greife mit DbColumn auf diese Spalte zu.


Axel
Titel: Re: DBCloum nummerische Rückgabe
Beitrag von: Jörg am 11.10.05 - 15:44:08
Das Feld Kategorie beinhaltet schon die die Nummer der Kategorie.
Wie soll ich denn nun die Felder mit einander verknüfen??
Titel: Re: DBCloum nummerische Rückgabe
Beitrag von: Axel am 11.10.05 - 15:48:23
Das Feld Kategorie beinhaltet schon die die Nummer der Kategorie.
Wie soll ich denn nun die Felder mit einander verknüfen??

Im Moment verstehe ich nur Bahnhof. Kannst du das bitte mal etwas genauer erklären.

Axel
 
Titel: Re: DBCloum nummerische Rückgabe
Beitrag von: Jörg am 11.10.05 - 15:54:00
Ich bekomme zwar mit den oben Befehl die Bezeichnungen angezeigt
je nach Sprache angezeigt, aber wenn ich das Dokument abspeichere
dann wird in das Feld Kategorie die Bezeichnung in Klartext eingetragen
und nicht die Nummer.

Gruss Jörg
Titel: Re: DBColumn numerische Rückgabe
Beitrag von: koehlerbv am 11.10.05 - 16:03:03
Sorry - mir geht es wie Axel: Deine Fragen sind sehr unspezifisch. Ich verstehe auch nicht, was Du willst.

Bernhard
Titel: Re: DBCloum nummerische Rückgabe
Beitrag von: Axel am 11.10.05 - 16:27:03
Ich bekomme zwar mit den oben Befehl die Bezeichnungen angezeigt
je nach Sprache angezeigt, aber wenn ich das Dokument abspeichere
dann wird in das Feld Kategorie die Bezeichnung in Klartext eingetragen
und nicht die Nummer.

... und wo soll die Nummer herkommen? Hast du die als Alias eingetragen oder liegt die in einem separaten Feld.

Mehr Input -> mehr Output. Je mehr Infos wir haben, je besser können wir helfen. Im Moment ist das meiste hier Kaffeesatzleserei und mein Kaffee ist nicht stark genug um was erkennen zu können.


Axel
Titel: Re: DBCloum nummerische Rückgabe
Beitrag von: Jörg am 12.10.05 - 07:20:31
Die Kategorie-Nummer schreibe ich über ein sep. Dokument in
das Feld Kategorie und lege ebenfalls die Beschreibung fest.

Ich habe vorher die Nummern im Listenfeld selber definiert mit folgender
Definition:
Kategorie1|1
Kategorie2|2
Kategorie3|3
Kategorie4|4

Damit wurde immer der Nummerische Wert in das Feld Kategorie geschrieben,
aber das war mir nicht flexibel genug, daher die Eingabe über ein sep. dokument
und die sep. Ansicht.
Nun mache ich die Auswahl über den Code des ersten Beitrags und damit bekomme
ich immer die Beschreibung der ausgewählten Kategorie in das Feld Kategorie eingetragen.
In diesen Feld soll aber weiterhin nur die Nummer der Kategorie stehen.

Gruss Jörg
Titel: Re: DBCloum nummerische Rückgabe
Beitrag von: Axel am 12.10.05 - 08:33:50
Hi,

jetzt kommen wir der Sache schon näher. Für deine Problemstellung kannst du @DbColumn so erstmal vergessen. Was mir jetzt auf die Schnelle einfällt wäre folgendes:

Im den sep. Dokumenten führst du ein Feld mit dem numerischen Wert der Kategorie mit. In einer Spalte baust du die Kategorienbezeichnung und den num. Wert mit einem Trennzeichen, z.B. ~, zusammen.

In deiner Maske, in der das Listenfeld enthalten ist, fügst du ein verstecktes Feld (Mehrfachwerte zulassen) ein. In der Werteformel greift du mit @DbColumn auf die Spalte mit den zusammengesetzten Werten zu und ersetzt dann mit @Replace das ~ - Zeichen durch das | - Zeichen. Im Listenfeld trägst du diese Feld in die Auswahlformel ein.

So müsste es funktionieren. Ich hoffe ich habe nix übersehen.


Axel

Titel: Re: DBCloum nummerische Rückgabe
Beitrag von: Jörg am 12.10.05 - 10:37:20
Hi,

ich probiere gerade dein Tip umzusetzen und bekomme im versteckten Listenfeld
den zusammengebauten String angezeigt.

Das Feld Kategorie fülle ich nun so mit einen Wert:

Code
_liste_kategorie:= @DbColumn( "Notes" : "NoCache" ; @DbName ; "kategorie" ; 2 );
@Text(displayed_Disription_kategorie)+ "|" + _liste_kategorie

Wie kann ich es nun anstellen , das er nur die Kategorie-Nr. passend zum Text im Feld displayed_Disription_kategorie nimmt, und nicht alle Nummern des Feldes Kategorie.

Gruss Jörg
Titel: Re: DBCloum nummerische Rückgabe
Beitrag von: Axel am 12.10.05 - 11:11:24
Hi,

das versteckte Feld muss ein Textfeld mit der Option "Mehrfachwerte zulassen" sein.

In die Auswahlformel deines Listenfeldes Kategorie nimmst du nur den Feldnamen dieses versteckten Feldes auf.


Axel
Titel: Re: DBCloum nummerische Rückgabe
Beitrag von: Jörg am 12.10.05 - 13:15:58
Hi,

ich habe das ganze nun doch mit einen Feld lösen können.
So sieht der Code aus:
Code
_Error_Message := "No NAMES installed" ;
_liste_deu := @DbColumn( "Notes" : "NoCache" ; @DbName ; "kategorie" ; 3 );
_liste_eng := @DbColumn( "Notes" : "NoCache" ; @DbName ; "kategorie" ; 4 );
_liste_kategorie := @DbColumn( "Notes" : "NoCache" ; @DbName ; "kategorie" ; 2 );
@If(
@Text(language) = "deutsch"; _liste_deu + "|" +_liste_kategorie;
@IsError( _liste_eng + "|" +_liste_kategorie ); _Error_Message;
_liste_eng + "|" +_liste_kategorie)


Gruss Jörg