Das Notes Forum

Domino 9 und frühere Versionen => ND8: Administration & Userprobleme => Thema gestartet von: Seterra am 15.06.09 - 10:31:59

Titel: Felder auslesen, welche leer sind - für eine Ansicht
Beitrag von: Seterra am 15.06.09 - 10:31:59
Hallo und guten Morgen

Ich habe eine Datenbank erstellt und importiere Adressen aus einer Excelliste. Diese Datenbank dient zur Akquisition. Diese Adressen werden weiterverarbeitet und Verkäufern und Sachbearbeitern zugewiesen.

Diese Adressen zwei Felder, welche mit dem Verkäufer und dem Sachbearbeiter abgefüllt werden.

Jedem Sachbearbeiter habe ich eine Ansicht erstellt, in welcher er nur seine Adressen hat, das Feld Verkäufer dient als Zusatzinformation.

Die Adressen, bei welchen das Feld Sachbearbeiter leer ist, das Feld Verkäufer aber gefüllt ist, möchte ich auch in einer Ansicht darstellen. Diese Ansicht ist für die Verkäufer gedacht, denn wenn das Feld Sachbearbeiter leer ist, sind sie verantwortlich. Kann ich leeren Feldern abfragen?

Viele Grüsse

Peter
Titel: Re: Felder auslesen, welche leer sind - für eine Ansicht
Beitrag von: ascabg am 15.06.09 - 10:33:51
Hallo,

Feldname=""


Andreas
Titel: Re: Felder auslesen, welche leer sind - für eine Ansicht
Beitrag von: WernerMo am 15.06.09 - 10:45:27
Hallo,

Feldname=""

alternativ geht natürlich auch

    !(Feldname!="")

Gruß Werner
Titel: Re: Felder auslesen, welche leer sind - für eine Ansicht
Beitrag von: Seterra am 15.06.09 - 14:45:57
Vielen Dank. Hat leider nicht geklappt. Er findet keine leeren Einträge.

Aber ich konnte mittels @lenght und <=0 die Adressen auslesen.

Titel: Re: Felder auslesen, welche leer sind - für eine Ansicht
Beitrag von: ascabg am 15.06.09 - 14:51:44
HAllo,

Was hat denn nicht geklappt?

Mit einer Formel

Code
SELECT Form = "MeineForm" & MeinFeld = ""

in einer Ansichtsformel, bekomme ich alle Dokumente angezeigt, die im Feld Form den angegebenen Wert haben und bei denen das angegebene Feld gleich leer ist.


Andreas
Titel: Re: Felder auslesen, welche leer sind - für eine Ansicht
Beitrag von: BigWim am 15.06.09 - 15:15:52
Zitat
Er findet keine leeren Einträge.
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
Titel: Re: Felder auslesen, welche leer sind - für eine Ansicht
Beitrag von: koehlerbv am 15.06.09 - 15:18:15
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
Titel: Re: Felder auslesen, welche leer sind - für eine Ansicht
Beitrag von: Seterra am 15.06.09 - 15:52:20
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?
Titel: Re: Felder auslesen, welche leer sind - für eine Ansicht
Beitrag von: ascabg am 15.06.09 - 15:55:07
Zitat
Zählt ein Leerschlag als Feldinhalt
Ja

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


Andreas
Titel: Re: Felder auslesen, welche leer sind - für eine Ansicht
Beitrag von: Thomas Schulte am 15.06.09 - 15:56:39
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.
Titel: Re: Felder auslesen, welche leer sind - für eine Ansicht
Beitrag von: Thomas Schulte am 15.06.09 - 15:58:59
Ok der letzte Beitrag basierte auf den Informationen die bis zum letzten Beitrag von Bernhard gekommen sind. Da war das mit dem Punkt nicht berücksichtigt.

Ein Punkt ist nun mal definitiv kein leeres oder nicht vorhandenes Feld.

Aber vielleicht hilft es ja dem einen oder anderen später mal.
Titel: Re: Felder auslesen, welche leer sind - für eine Ansicht
Beitrag von: Seterra am 15.06.09 - 17:30:06
Zitat
Zählt ein Leerschlag als Feldinhalt
Ja

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


Andreas

Hat sie auch.
Titel: Re: Felder auslesen, welche leer sind - für eine Ansicht
Beitrag von: Seterra am 15.06.09 - 17:30:56
Ok der letzte Beitrag basierte auf den Informationen die bis zum letzten Beitrag von Bernhard gekommen sind. Da war das mit dem Punkt nicht berücksichtigt.

Ein Punkt ist nun mal definitiv kein leeres oder nicht vorhandenes Feld.

Aber vielleicht hilft es ja dem einen oder anderen später mal.

Vielen Dank. Ich habe es mir gemerkt.
Dafür haben auch die Götter Foren gemacht... :D :D