Domino 9 und frühere Versionen > ND8: Administration & Userprobleme

Felder auslesen, welche leer sind - für eine Ansicht

<< < (2/3) > >>

BigWim:

--- Zitat ---Er findet keine leeren Einträge.
--- Ende Zitat ---
Vielleicht sind die Felder gar nicht leer, sondern mit x Leerzeichen gefüllt.

Versuch es doch mal mit @Trim(Feldname) = "" oder prüf mal über die Dokument-Eigenschaft den Inhalt der Items.

Markus

koehlerbv:
Peter, poste mal beide Formeln - Du musst da einen ganz ungewöhnlichen Fehler gemacht haben, denn für Text gilt
Feld = "" ist identisch zu @Length (Feld) = 0.
@Length (Feld) < 0 wäre natürlich Dummfug. Hierzu würde mir nur einfallen: "Wenn drei Leute in einem Raum sind und vier den Raum verlassen, dann muss einer wieder hineingehen, damit der Raum leer ist!". Okay, Programmierer-Denke  ;D

Markus: Wenn Feld = "    ", dann ist @Length (Feld) > 0. Definitiv. @Trim ist selten eine schlechte Idee, hier aber nicht zielführend.

Bernhard

Seterra:
Mit dieser Formel hat es geklappt (es handelt sich dabei nicht um das GI7 CRM)

SELECT Form = "Project"  & @Contains (fdKBVerkauf; "Meier") | @Contains (fdKBVerkauf; "Müller") | @Contains (fdKBVerkauf; "Schmidt")   & Status = "Active" & @Length (fdKBSachbearbeiter) <=1

Ich muss vorausschicken, dass ich festgestellt habe, dass das Feld nicht leer war, sondern ein . darin war (der wurde gebraucht, um in einer grossen Excel-Tabelle leere Zellen nicht zu überschreiben).

Jetzt habe ich die @Trim verwendet, siehe da, es geht, sowohl mit dem . als Feldwert wie auch ohne Feldinhalte. Zählt ein Leerschlag als Feldinhalt?

ascabg:

--- Zitat ---Zählt ein Leerschlag als Feldinhalt
--- Ende Zitat ---
Ja


--- Code: ---SELECT Form = "Project"  & @Contains (fdKBVerkauf; "Meier") | @Contains (fdKBVerkauf; "Müller") | @Contains (fdKBVerkauf; "Schmidt")   & Status = "Active" & @Trim(fdKBSachbearbeiter) = "."
--- Ende Code ---
Dann wuerde diese Formel ja auch funktionieren.


Andreas

Thomas Schulte:
Der Denkfehler hier ist, das "Feld Contains nichts" in Notes nicht notwendigerweise funktionieren muss.

Wenn ein Feld mit diesem Namen im entsprechenden Dokument nämlich überhaupt nicht vorhanden ist, dann zieht die Selektion so nicht. Deswegen haben die Notes Götter aka IBM Entwickler nämlich in der Formelsprache @isavailable geschaffen.

Wenn man also sicher gehen wollte, dann müsste man, zumal aufgrund der Tatsache das die Dokumente aus einem entweder ein oder mehrmaligen Excel Export kommen die Ansichtsselektion so aufbauen:
Select Form ="DeineForm" & (Feldname = "" | !@isavailable(Feldname))

Was deine Variante mit @length angeht, so hast du damit quasi das interne Errorhandling von Notes vergewaltigt.  @length für ein leeres Feld liefert natürlich den Wert 0 zurück. Und offensichtlich gibt @length für ein "nichtexistentes" Feld ebenfalls den Wert 0 zurück, statt wie in etlichen anderen Fällen die Formel insgesamt auf einen Fehler laufen zu lassen.

Es ist aber, obwohl es funktioniert, trotzdem nicht der richtige Weg. Denn @Length kann nur mit Text arbeiten. Sollte eines deiner Felder aus irgendeinem Grund aber einen Wert enthalten der kein String ist sitzt du gewaltig in der Scheiße.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln