Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: ZaLudtske am 12.06.06 - 09:17:43
-
Hallo,
da ich nach einer ausführlichen Recherche im Forum keine passende Antwot gefunden habe ist hier meine Frage:
Ich habe die folgende Liste mit Werten:
050#1. Aktion | A1
050#2. Aktion | A2
050#3. Aktion | A3
055#1. Reaktion | R1
055#2. Reaktion | R2
055#3. Reaktion | R3
Ich möchte nun zum Beispiel alle Einträge die mit 055# beginnen in einer Dialogliste anzeigen lassen. Die Anzeige soll so aussehen:
1. Reaktion
2. Reaktion
3. Reaktion
Mit der Formel:
@Trim(@If(@Left(t_Art; "#") = t_Grund; @Right(t_Art; "#");""))
t_Art - enthält die Liste in der ursprünglichen Form
t_Grund - enthält das Auswahlkriteriem z. B. 055
Bekomme ich entweder alles angezeigt oder nichts. Mir ist klar, dass der Teil der Formel '@Left(t_Art; "#") = t_Grund' überprüft ob der Grund überhaupt vorhanden ist und das Array komplett zurückgibt.
Gibt es eine Möglichkeit aus den Mehrfachwerten nur die gewünschten Werte zu selektieren?
Rainer
-
die @If- Abfraga kannst Du Dir sparen.
Die korrekte Formel ist viel einfacher:
@Trim( @Right( t_Art ; "050#" ) )
HTH
Tode
-
Vielen Dank.
Es funktioniert prima.
Ich wohl mal wieder zu kompliziert gedacht.
Rainer
-
Tja, kein "Quereinsteiger" oder auch Neu- Notes- Programmierer kennt im Normalfall die mächtige Verarbeitung von Listen in der Formel- Sprache.
Wofür man in jeder anderen mir bekannten Programmiersprache Schleifen, Indizes, etc. benötigt, das ist in der Formel- Sprache alles quasi "implizit" vorhanden:
Arrays werden genau wie einfachste Einzelwerte behandelt und können auch so angesprochen werden. @Left( Liste ; "#" ) durchläuft halt die ganze Liste und liefert eine neue Liste mit der gleichen menge an Werten zurück, für jeden einzelnen Wert alles Links von #. Ist in einem einzelnen Wert kein "#" vorhanden, dann ist der Rückgabewert hierfür "". Ein @Trim schmeisst diese dann raus...
Toll, oder ?
Tode
-
Ich programmiere zwar jetzt schon 4 Jahre unter Notes konnte mich aber nie so richtig mit der Formelsprache anfreunden. In der Schulung, die ich gemacht habe, wurde nicht richtig darauf eingegangen, außerdem programmiere ich halt lieber im geschwätzigeren LS (Basic).
Ich finde aber endlich den Bezug zur Formelsprache und bin manchmal immer noch verblüfft, wie extrem Leistungsfähig sie ist und mit welche einfachen Befehlen man doch komplexe Dinge erledigen kann.
Was mir noch fehlt ist eine gute Dokumentation über die Formelsprache, das was ich hab, ist halt nicht besonderes.
Nochmals vielen Dank für die Hilfe
Rainer
-
AUTSCH ... Eine Lotus Notes Schulung ohne Formelsprache...
So kommen also die seltsamen Applikationen zustande, auf die ich ab und zu bei unseren Kunden stosse.
IMHO sollte alles, was mit Formel geht auch mit Formel gemacht werden....
Aber das habe ich ja schon so oft hier gesagt, dass ich das fast schon in meine Signatur aufnehmen könnte.
Im Frontend gibt es nur sehr wenige Dinge, die ich mit Formel nicht hinbekomme, und im Normalfall brauche ich 2 - 10 Zeilen Code für etwas, wofür in Script alleine schon die Deklarationen 10 Zeilen benötigen....
Gruß
Tode