Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Raabiat am 09.10.03 - 11:11:56

Titel: Listenfeld + wert ersetzen
Beitrag von: Raabiat am 09.10.03 - 11:11:56
hallo,
problem: ich habe ein listenfeld in dem werte zur auswahl gestellt werden.
die werte werden mit formel aus einem feld gefiltert
einer dieser ausgelesenen werte ist eine zahl, soll aber dem user als text erscheinen.
wie mache ich das??

so hab ichs bisher (funktioniert nicht) als formel da stehen:
_Name:=@Word(tkDlgFB;"~~~";1);
_Code:=@Word(tkDlgFB;"~~~";2);
_SG:=@Word(tkDlgFB;"~~~";3);
_SGL:=@Word(tkDlgFB;"~~~";4) <-- zahl die als text erscheinen soll
_FBL:=@Word(tkDlgFB;"~~~";5);
_SGLR : @if(_SGL="1"; "Leiter"; ""); <-- versuch zahl zu text zu machen
@If(
tkDlgFB="";
"";
_Name +  " - SG" + _SG+ "  -  " +_SGLR + "  -  " + _FBLR + "|" + tkDlgFB)

any idea?

thx
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: Glombi am 09.10.03 - 11:19:02
Hi,
@Word kannst Du nur für Strings machen, also müssen alle Zahlen vorher mit @Text() konvertiert werden. Wenn ich das richtig sehe,steht im Feld tkDlgFB alles drin. Also musst Du da ansetzen:

Formel für Feld tkDlgFB:
Feld1 +"~~~" + Feld2 + "~~~" + @Text(Feld3) +...

wenn bspw. Feld3 eine Zahl ist.

Andreas
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: Raabiat am 09.10.03 - 11:28:48
Feld tkDlgFB ist eine Liste welche Strings enthält deren "einzelne werte" durch "~~~" getrennt sind

Feldinhalt Bsp.:
"Müller Hansi~~~HMueller~~~2~~~~~~~~~",
"Schmidt Heinz~~~HSchmidt~~~2~~~1~~~~~~",
"May Karl~~~KMay~~~~~~~~~1~~~",
usw.

muster: _name~~~_code~~~_SG~~~_SGL~~~_FBL~~~

PS: Namen wurden anonymisiert*g*
(bei eventuellen übereinstimmungen bitten wir diese personen um nachsicht und entschuldigung)

so funktioniert das nicht.wie soll ich nun vorgehen??????????
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: Axel am 09.10.03 - 12:31:41
Hi,

ist dein Problem mit der Antwort von Glombi gelöst ? Wenn ja, dann setze den Thread bitte auf erledigt.

Wenn nicht, dann schreibe nochmal wo dein Problem liegt.


Axel
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: Axel am 09.10.03 - 12:48:56
Hi,

also entweder stehe ich auf dem Schlauch oder ich bin blind. Ich finde in dem Posting keine Fragestellung.

Deine Frage lautete ursprünglich:

Zitat
einer dieser ausgelesenen werte ist eine zahl, soll aber dem user als text erscheinen.
wie mache ich das??

Diese Frage hat Glombi beantwortet.

Bitte beschreibe dein Problem nochmals.


Axel
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: my head am 09.10.03 - 12:54:38
aber glombi hat doch oben schon geschrieben, dass du die zahl mit

@text formtatieren musst...
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: Raabiat am 09.10.03 - 12:57:03
ich habe die antwort editiert und um eine frage ergänzt.

mein problem ist:

anstatt der zahl die ich mit @word aus den strings rausfiltere möchte ich ein wort dort stehen haben.

filtere ich eine 1 aus einem der strings dann soll da "leiter" im listenfeld erscheinen, bei einer 2 soll da "nichts" erscheinen und bei einer 3 soll da ein "-" erscheinen...

sozusagen die zahl zur anzeige ersetzen damit es dem user deutlicher wird...ein wort sagt mehr als eine zahl denke ich

besser beschrieben??? ;D
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: koehlerbv am 09.10.03 - 13:27:18
Na, mit Zahlen hat das ja gar nichts zu tun - Deine "1" ist ja Text. Eine Liste aus Text und Zahlen ginge ja auch gar nicht ...
Wenn in Deiner Variablen "_SGL" wirklich "1" steht, dann wird auch Deine Formel funktionieren, wie Du sie im ersten Posting beschrieben hast - allerdings müsstest Du dort aus ":" noch ein ":=" machen ;-)
Check doch erstmal mit @Prompt oder so, ob in _SGL der String steht, den Du erwartest.

HTH,
Bernhard
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: Raabiat am 09.10.03 - 13:59:06
also das die "zahl" da als text raus kommt des weiss ich...
sollte ich da besser ziffer sagen?? na egal..
jedenfalls liegts auch nicht an dem ":=" denn das ist im original vorhanden....

aus irgendeinem grund passiert folgendes...
der ersetzt beim allerersten vorkommen der ziffer/zahl/textzahl
auch richtig als text und da steht dann auch das was da stehen soll...nur leider steht das dann überall
Beispiel folgt:

aus:
"Müller Hansi~~~HMueller~~~2~~~~~~~~~",
"Schmidt Heinz~~~HSchmidt~~~2~~~1~~~~~~",
"May Karl~~~KMay~~~~~~~~~1~~~"

sollte werden:
"Müller Hansi~~~HMueller~~~2~~~~~~~~~",
"Schmidt Heinz~~~HSchmidt~~~2~~~Leiter~~~~~~",
"May Karl~~~KMay~~~~~~~~~1~~~"

aber daraus wird (problematischer weise):
"Müller Hansi~~~HMueller~~~2~~~Leiter~~~~~~",
"Schmidt Heinz~~~HSchmidt~~~2~~~Leiter~~~~~~",
"May Karl~~~KMay~~~~~~Leiter~~~1~~~"

tut mir leid, aber das lässt sich nur blöd erklären..ich hoffe sie verstehen mein anliegen  :'( :'( :'( :'(
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: Rob Green am 09.10.03 - 14:11:35
schau Dir bitte @ReplaceSubString an

diese Formel ersetzt Werte aus einer Quellliste anhand Suchkriterien mit vorgegebenen Ersatzwerten

@ReplaceSubstring("Heute Ist ein Toller Tag";"Tag";"Nacht")
macht aus Heute ist ein Toller Tag ein Heute ist ein Toller Nacht

Man kann auch parallel nach mehrerer Werten suchen
@ReplaceSubstring("Heute Ist ein Toller Tag";"Ist":"Tag";"War":"Nacht")
macht aus Heute ist ein Toller Tag ein Heute war ein Toller Nacht
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: Glombi am 09.10.03 - 14:13:20
Jetzt versteh ich das Problem (hoffe ich). Was Du brauchst ist ein @ReplaceSubstring

also
@ReplaceSubstring(Stringvariable;"1":"2":"3";"Leiter":"":"-")

Für Stringvariable musst Du den entsprechenden Variablennamen nehmen, in dem das alles steht

Andreas

P.S.: Da war Rob schneller....
@ReplaceSubstring(Stringvariable;"Toll Collect";"Tollhaus")
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: Raabiat am 09.10.03 - 14:23:07
ihr wart beide ziemlich schnell...aber ich war da schneller und hatte den @replacesubstring schon probiert und dat lief irgendwie auch nich...der hat den selben sch......schmarn gemacht...

und nun??

mir ist immernoch nichts eingefallen (ausser dem neuen thread  ;D)
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: Glombi am 09.10.03 - 14:25:49
Dann poste doch mal ganz schnell den Code ;D

Andreas
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: Rob Green am 09.10.03 - 14:28:19
von vorne:

Du hast
"Müller Hansi~~~HMueller~~~2~~~~~~~~~",
"Schmidt Heinz~~~HSchmidt~~~2~~~1~~~~~~",
"May Karl~~~KMay~~~~~~~~~1~~~"

aus der Ziffer 1 soll LEITER werden
aus Ziffer 2 soll "" werden
asu Ziffer 3 ein -

also

Feld ABC enthält die obige Werteliste (IST das Feld als Multivalue defniert?)

@replacesubstring(ABC;"1":"2":"3";"LEITER":"":"-")
(siehe Glombi)

Und das oll nicht gehen?
Glaub ich einfach jetzt nicht.

Fehlerquelle?
Syntax der Formel
hast Du die Werte mit ":" getrennt statt ";"
Ist das Feld Multivalue?

(Glombi, er bekommts jetzt im Doppelpack  ;D)
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: Raabiat am 09.10.03 - 14:41:34
doppelt hält besser wa...
nur mein problem lässt sich ganz doof beschreiben

in dem string in dem ich die "1" gegen "Leiter" austauschen will...in dem kommen noch mehr einser vor....im unangenehmsten fall sähe der so aus: "Müller Hansi~~~HMueller~~~1~~~1~~~1~~~", usw.
muster: "name~~~code~~~SG~~~SGL~~~FBL~~~"

aber nur die 1 bei SGL soll ersetzt bzw. als "Leiter" angezeigt werden

und erschwerend kommt hinzu das der eigentliche feldinhalt bestehen bleiben soll (alle 1 sollen 1 bleiben)..das heisst das die 1 nur als "Leiter" angezeigt werden soll...puhhhhhhhhh

haltet ihr mich jetz für blöd??

könnt ihr mich nich anrufen oder herkommen  ;D ;D ;D
Titel: Re:Listenfeld + wert ersetzen
Beitrag von: Glombi am 09.10.03 - 15:26:33
Hi,

ich will mal kein sokratisches Seminar machen, daher hier sofort die Lösung, obwohl es ja auf der Hand liegt...

_SGL:=@ReplaceSubstring(@Word(tkDlgFB;"~~~";4);"1":"2":"3";"LEITER":"":"-") ;

Der Rest dann wie gehabt.

Ich komme auch gerne vorbei! Nur dann kostet es was. Falls Interesse besteht, sende mir ne PM.

Andreas