Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: notesman am 30.10.09 - 13:34:45

Titel: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: notesman am 30.10.09 - 13:34:45
Hallo liebe Notesentwickler,

ich möchte gerne den Status eines Memofeldes
abfragen.
Die Datenbank ist im Web veröffentlicht als Anmeldeseite
und hat am Ende halt dieses Memofeld
Domino 7.03


@If(Kommentarfeld != ""; "nicht leer: ";"leer")

Wenn nichts eingegeben wurde kommt "leer"
Aber auch wenn im Memofeld etwas steht  kommt "Leer"

Woran liegt das bitte.
Habe es in der Hilfe versucht, aber finde keine Lösung

LiebenGruss
Frank

Titel: Re: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: ascabg am 30.10.09 - 13:37:36
Hallo,

Eventuell ein Schreibfehler im Feldnamen?
Und was meinst Du mit Memofeld?


Andreas
Titel: Re: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: notesman am 30.10.09 - 13:43:38
Ein "Richtext lite" Feld  in einer Erfassungsmaske

Sorry mir fiel der Name nicht ein.

Als Names-Eigenschaft hat das Feld  "Kommentarfeld"
HTML-Attribute :  "Cols=94 Rows=3"

Titel: Re: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: m3 am 30.10.09 - 13:48:28
Richtext?
Da wird der ="" Vergleich nicht klappen. Da musst Du Dir über GetUnformattedText() des RTIs den reinen Text holen und auf den vergleichen.


Bitte ignorieren. Ich sollte beachten, dass es um die Formelsprache geht. Sorry.
Titel: Re: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: notesman am 30.10.09 - 13:53:18
Ja danke m3 kein Problem, habe schon einen Schreck bekommen.

Ich brauche doch nur in einer Ansicht (Tabelle) eine Spalte in der steht ob im jeweiligen Dokument
in dem Richtext Feld etwas steht oder eben nicht.

Problem (oder auch nicht) ist, das die DB schon Online ist mit 100ten erfassten Dokumenten
und die Sekretärin nihct jedes kontrollieren will ob jemand eine Eintragung im Richtextfeld gemacht hat.

Danke



Titel: Re: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: ascabg am 30.10.09 - 14:18:21
Da wirst Du schlechte Karten haben, da sich RT-Felder (auch RT-Lite) nicht in ansichten darstellen lassen.
(trifft auch auf deinen geschilderten Sachverhalt zu)

Andreas
Titel: Re: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: notesman am 30.10.09 - 14:24:59
>>>Da wirst Du schlechte Karten haben, da sich RT-Felder (auch RT-Lite) nicht in ansichten darstellen lassen.
>>>(trifft auch auf deinen geschilderten Sachverhalt zu)

Aber ich will doch garnichts vom Inhalt in der Ansicht darstellen sondern nur
einen Statustext anzeigen   ob da was drin steht oder das Feld leer ist ?!

GEht das echt nicht?
Titel: Re: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: ascabg am 30.10.09 - 14:26:46
Nein.

Nur wenn du beim Speichern des Dokumentes mittels Script abfragst, ob in diesem Feld etwas enthalten ist.
Wenn Ja, dann schreibe in ein weiteres Feld (TextFeld) einen Eintrag (z.B. "nicht leer")
Wenn nein, dann schreibe in ein weiteres Feld (TextFeld) einen Eintrag (z.B. "leer")

In der Ansicht fragst Du jetzt einfach den Inhalt dieses neuen Textfeldes ab.

Eine andere Moeglichkeit sehe ich aktuell nicht, um dein Vorhaben zu realisieren.


Andreas
Titel: Re: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: Axel am 30.10.09 - 14:53:53
Nur wenn du beim Speichern des Dokumentes mittels Script abfragst, ob in diesem Feld etwas enthalten ist.
Wenn Ja, dann schreibe in ein weiteres Feld (TextFeld) einen Eintrag (z.B. "nicht leer")
Wenn nein, dann schreibe in ein weiteres Feld (TextFeld) einen Eintrag (z.B. "leer")

In der Ansicht fragst Du jetzt einfach den Inhalt dieses neuen Textfeldes ab.

Eine andere Moeglichkeit sehe ich aktuell nicht, um dein Vorhaben zu realisieren.

Sehe ich genauso. Hier http://atnotes.de/index.php?topic=10458.0 (http://atnotes.de/index.php?topic=10458.0) gab's in grauer Vorzeit mal was zu dem Thema Validierung von RTF-Feldern. Vielleicht kannst du ja damit was anfangen.

Axel
Titel: Re: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: LN4ever am 31.10.09 - 10:35:09
Hallo Frank,
_x:=@Abstract([TEXTONLY];100;"";"Kommentarfeld");
@If(_x="";"leer";"nicht leer")

sollte das tun, was du willst.

Das Ganze hat aber spätestens dann Grenzen, wenn du nicht mehr mit 1-Byte Zeichensätzen konfrontiert wirst (Chinesisch z.B.).

Die ABSTRACT-Funktion zählt nicht zu den besonders performanten Funktionen, daher: teste das Ergebnis mal in einer Ansicht mit 10.000 Testdokumenten, bevor du das produktiv einsetzst.

Gruß

Norbert
Titel: Re: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: TRO am 31.10.09 - 21:46:20
Hallo Frank,
_x:=@Abstract([TEXTONLY];100;"";"Kommentarfeld");
@If(_x="";"leer";"nicht leer")

sollte das tun, was du willst.

Auch @Abstract funktioniert in Ansichtsspalten nicht mit RichTextFeldern (siehe auch Hilfe zu @Abstract)


Thomas
Titel: Re: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: LN4ever am 01.11.09 - 09:30:48
Richtig, Sorry, Asche auf mein Haupt.
Und @Abstract hilft nicht einmal als berechnetes Feld in der Maske, wenn das Ziel sein soll, ein Entscheidungskriterium für "Kein Text im RT-Feld" zu liefern, es sei denn, man baut es in das Event POSTSAVE der Maske ein und sichert das Dokument nochmals. Genau damit fängt man sich aber schnell einen Rattenschwanz anderer Probleme ein, vor allem beim Umsetzen von Autorenfeldern, die in diesem Augenblick bereits wirken und ggf. das erneute Speichern durch den aktuellen Autor verhindern.

Daher als Auskunft an den Fragesteller: Nein - geht nicht, wenn das Kommentarfeld vom Typ RichText sein muß.

Gruß

Norbert
Titel: Re: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: notesman am 04.11.09 - 14:59:36
Danke für die vielen Überlegungen  :D

Gibt es denn dann eine Alternative?

Ich kann beim speichern des Dokumentes den Status abfragen und in eine Feld schreiben

Oder ? Gibt es vielleicht Feldtypen die ich "besser" für eine Memofeld einsetzen kann?

Dann könnte man das für's nächste Mal anpassen. :-)

Danke für die Infos

Frank
Titel: Re: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: dirk_2909 am 04.11.09 - 15:17:32
Genügt es denn nicht, wenn Du als "memofeld" ein normales Textfeld verwendest?
Das ist die Validierung bequemer ;-)
Titel: Re: @If(Kommentarfeld != ""; "nicht leer: ";"leer") Abfrage klappt nur teilweise
Beitrag von: ascabg am 04.11.09 - 15:26:34
Ich stelle mal die Frage,
Was soll denn alles in einem soclehn Feld erfasst werden?
Anhand dessen ist es doch weitaus besser zu beurteilen, welchen Feldtyp man verwenden sollte.

Andreas