Seite 1 von 1

Gibt es einen Operator "Enthält"?

Verfasst: Do, 05.02.2015 08:35
von vierviervier
Guten Tag,

Verwende häufig Serienbriefe mit bedingtem Text, die auf CalcTabellen mit Spalten mit vielen Kürzeln zugreifen. Es würde die Schreibweise sehr vereinfachen, wenn ich mit dem Operator "enthält" statt EQ arbeiten könnte, da ich sonst immer lange Ketten mit OR bilden muss um alle Kürzel zu berücksichtigen. Sollen z.B. alle Kürzel AA AB AC als wahr gelten, muss ich bisher schreiben (Spalte EQ "AA") OR (Spalte EQ "AB") ..., Spalte ENTHÄLT "A" wäre schöner. Gibt es diesen Operator?

Vielen Dank für Hilfe, vierviervier.

Re: Gibt es einen Operator "Enthält"?

Verfasst: Do, 05.02.2015 11:41
von pmoegenb
Du wiederholst Dich. Siehe viewtopic.php?f=1&t=65289.

Ich gebe zu, der Satz
Prüft, ob die Variable "x" die Zeichenkette "ABC" enthält
ist etwas irreführend. Besser wäre es gewesen man hätte geschrieben Prüft ob der Inhalt der Variablen = der Zeichenkette ist.

Re: Gibt es einen Operator "Enthält"?

Verfasst: Do, 05.02.2015 13:40
von vierviervier
Hallo Peter,

hatte ich vergessen, dass ichs schon mal reingestellt habe.
Aber die Frage ist doch immer noch offen: gibt es einen Operator "ENTHÄLT", da mir das "=" nur die identischen Inhalte als wahr gibt.

vierviervier

Re: Gibt es einen Operator "Enthält"?

Verfasst: Do, 05.02.2015 15:11
von pmoegenb
vierviervier hat geschrieben:Aber die Frage ist doch immer noch offen:
Aus meiner Sicht gibst da nichts mehr zu deuteln.

Eigentlich hat paljass als Gast am 27.01.2015 12:57 bereits die passende Antwort abgegeben, aber Du hast den Satz aus dem zitierten Hilfetext Prüft, ob die Variable "x" die Zeichenkette "ABC" enthält (wahr = Bedingung erfüllt) oder nicht (falsch = Bedingung nicht erfüllt) wegen dem Wort enthält anders interpretiert.

Re: Gibt es einen Operator "Enthält"?

Verfasst: Do, 05.02.2015 17:13
von lorbass
pmoegenb hat geschrieben:
vierviervier hat geschrieben:Aber die Frage ist doch immer noch offen:
Aus meiner Sicht gibst da nichts mehr zu deuteln.
Ehrlich gesagt, ich erkenne auch noch keine Lösung für vierviervier's Frage.

Kann ja sein, dass vierviervier den Text der Programmhilfe zunächst falsch interpretiert hat. Allerdings habe ich die Frage so verstanden, dass viervierviereinen Operator sucht, der genau das tut, was er beschrieben hat, nämlich einen, der mit einem Regulären Ausdruck wie z.B. ».*XYZ.*« äquivalent ist.

Ich kenne einen solchen Operator nicht, was allerdings nicht zwingend heißt, dass es ihn nicht gibt.

Gruß
lorbass

Re: Gibt es einen Operator "Enthält"?

Verfasst: Mi, 11.02.2015 09:46
von vierviervier
Hallo Peter, hallo lorbass,

was das Mißverständnis / Nichtmißverständis betrifft, da blicke ich nach wie vor nicht ganz durch, das ist wohl einer der Fälle wo ein Gespräch die Aufklärung innnerhalb von 30 sec. bringen würde. Der Hilfetext spricht von "enthält", die Funktion des Operators "=" ist aber die, dass nur solche Inhalte als wahr wiedergegeben werden, die identisch sind, richtig?

Aber lorbass, mit dem Stichwort "Regulärer Ausdruck" (der mir neu war) bekomme ich doch, was ich will, oder?
Meine Serienbriefbedingung ist dann:

Spalte1 EQ "*A*"

und damit bekomen ich von den Inhalten AA, AB, AC, BA, BB, BC als wahr: AA, AB, AC, BA, oder?

Hoffentlich auf dem richtigen Weg: vierviervier.

Re: Gibt es einen Operator "Enthält"?

Verfasst: Mi, 11.02.2015 19:58
von lorbass
vierviervier hat geschrieben:mit dem Stichwort "Regulärer Ausdruck" ((…) bekomme ich doch, was ich will, oder?
Um's mit Radio Eriwan zu beantworten: Im Prinzip – Ja.

Ich weiß allerdings nicht, ob in dem hier relevanten Zusammenhang Reguläre Ausdrücke (RegEx) überhaupt erlaubt sind. Wenn ich es wüßte, hätte ich geschrieben »Verwende diesen RegEx!«. Es spricht aber nix gegen einen Versuch … ;)

Allerdings enthält dein Vergleich »Spalte1 EQ "*A*"« gar keinen RegEx, sondern simple Wildcards / Joker / Platzhalter. Mit einem RegEx würde der Vergleich »Spalte1 EQ ".*A.*"« lauten. Sieht ziemlich ähnlich aus, ist aber was gaaanz anderes.

Wie gesagt: Es spricht nix gegen einen Versuch …

Gruß
lorbass

Re: Gibt es einen Operator "Enthält"?

Verfasst: Do, 12.02.2015 09:26
von vierviervier
Hallo lorbass,

vorausgesetzt der Fehler liegt nicht bei mir, scheint es nicht zu gehen,
Habe eine Spalte mit den Einträgen "Ü" "SÜ" und "S".
Bedingter Text:
Spalte1 EQ ".*Ü.*" soll bei Ü und SÜ "Hallo" anzeigen
Spalte1 EQ "S" soll bei S "Tschüs" anzeigen.
Der Serienbrief zeigt in allen drei Fällen "Tschüs" an.

Ist aber nicht so schlimm, weil es ja mit OR auch ganz gut zu machen ist und um das Wissen um die Möglichkeit Regulärer Ausdrücke bin ich trotzdem froh.
Tschüs, vierviervier.