Zeilen löschen, wenn Zeile bestimmten Inhalt hat

Moderator: Moderatoren

Antworten
Diller
Rookie
Rookie
Beiträge: 2
Registriert: Do, 28. Okt 2021 16:43

Zeilen löschen, wenn Zeile bestimmten Inhalt hat

Beitrag von Diller »

Hallo,

ich habe ein Problem in List und Label. Ich möchte eine Zeile entfernen wenn bestimmter Inhalt vorkommt.

z.B. wenn "Serviceauftrag-Nr.:" vorkommt soll die Zeile nicht angezeigt werden.

Ich bedanke mich schonmal im Voraus.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Zeilen löschen, wenn Zeile bestimmten Inhalt hat

Beitrag von Tom »

Tabellenzellen und -zeilen haben Darstellungsbedingungen, die sind in aller Regel mit TRUE vorbelegt, aber man kann da auch Formeln reinschreiben, z.B. "Len(ATrim$(<meinfeldname>)) > 0". Das gilt auch für Einzeltexte.
darstellung.png
darstellung.png (94.77 KiB) 3461 mal betrachtet
Herzlich,
Tom
Diller
Rookie
Rookie
Beiträge: 2
Registriert: Do, 28. Okt 2021 16:43

Re: Zeilen löschen, wenn Zeile bestimmten Inhalt hat

Beitrag von Diller »

Hallo Tom,

vielen Dank für die schnelle Rückmeldung.

Habe es gerade versucht leider ohne Erfolg. Bin leider noch nicht so fit in List und Label :doubt:

Habe folgendes Probiert --> Len(ATrim$(Bezeichnung,"Serviceauftrag-Nr.:")) > 0

wenn Serviceauftrag-Nr.: Feld Bezeichnung vorkommt soll es auf dem Formular ausgeblendet werden.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Zeilen löschen, wenn Zeile bestimmten Inhalt hat

Beitrag von Martin Altmann »

Dein Ausdruck liefert aber true zurück, wenn es vorkommt. Damit wird es angezeigt!
Du müsstest also Deine Formel wie folgt aufbauen:

Code: Alles auswählen

Len(ATrim$(Bezeichnung,"Serviceauftrag-Nr.:")) = 0 
Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Zeilen löschen, wenn Zeile bestimmten Inhalt hat

Beitrag von Tom »

Das war nur ein Beispiel für eine Formel (in diesem Fall: Zeige etwas nicht, wenn eine bestimmte Variable leer ist). Wenn die Zelle, Zeile oder sonstwas NICHT angezeigt werden soll, wenn Feld oder Variable "Bezeichnung" den fraglichen Text enthält, dann müsste die Formel lauten:

Code: Alles auswählen

Bezeichnung <> "Serviceauftrag-Nr.:"
Wenn die Stelle nicht angezeigt werden soll, wenn "Bezeichnung" diesen Text ENTHÄLT, dann wäre diese Formel für die Darstellungsbedingung richtig:

Code: Alles auswählen

NOT CONTAINS(Bezeichnung,"Serviceauftrag-Nr.:")
Einfach mal die verfügbaren Funktionen und Operatoren anschauen, L&L ist exzellent dokumentiert!
Herzlich,
Tom
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Zeilen löschen, wenn Zeile bestimmten Inhalt hat

Beitrag von HaPe »

Hallo Diller !
ich habe ein Problem in List und Label. Ich möchte eine Zeile entfernen wenn bestimmter Inhalt vorkommt.
z.B. wenn "Serviceauftrag-Nr.:" vorkommt soll die Zeile nicht angezeigt werden.
Ich gehe bei meinen Berichten immer einen ganz anderen Weg:
Soll etwas nicht gedruckt werden, bereite ich die Daten für den Druck entsprechend auf:
- Ein kompletter Datensatz, der nicht zu drucken ist, kommt erst gar nicht in das ResultSet für den Ausdruck.
- Inhalte von Feldern, die nicht auszudrucken sind und nicht als Einzige in der Detail-Zeile sind, werden geleert.

Als Datenbankler ist die Aufbereitung der Daten einfacher als komplizierte Bedingungen im Bericht unterzubringen.
Meine Meinung ...
--
Hans-Peter
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Zeilen löschen, wenn Zeile bestimmten Inhalt hat

Beitrag von Tom »

Ich gehe bei meinen Berichten immer einen ganz anderen Weg:
Und wir gehen immer den gegenteiligen: Was irgendwer in Berichten oder Formularen möglicherweise verwenden will, bekommt das Formular auch an Daten (was ja noch nicht heißt, dass es im Formular sichtbar ist). Und L&L erlaubt auf jeder Ebene und bei jeder Art von Formularelement Darstellungsbedingungen (und Eigenschaften aller Art), die Formel verwenden. Wenn der eine Kunde das nicht will, können das die Formularleute im Formulare regeln, und wenn der andere Kunde das und das unbedingt haben will, ist es sowieso schon da.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Zeilen löschen, wenn Zeile bestimmten Inhalt hat

Beitrag von Tom »

Das ist auch kein Entweder-Oder. Natürlich werden Datensätze, die nicht zu drucken wären, überhaupt nicht an ein Formular übermittelt, alles andere wäre auch kompletter Blödsinn. Aber hier geht es darum, dass ein bestimmter Kunde ein bestimmtes Element nicht will, das möglicherweise andere Kunden wollen - oder um ähnliche Fälle. Und da erlauben es u.a. die Darstellungsbedingungen in den Formularen, so etwas zu customizen, ohne am Programmcode herumpopeln zu müssen, der möglicherweise während der fraglichen Schulung auch überhaupt nicht dabei ist. Und man kann die individuelle Anpassung als Service verkaufen.
Herzlich,
Tom
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Zeilen löschen, wenn Zeile bestimmten Inhalt hat

Beitrag von Werner_Bayern »

Servus Tom,

wie macht ihr das dann, wenn sich mal was wichtiges an einem Formular ändert? Z. B. soll ab sofort eine neue Spalte angezeigt werden, oder es war ein Fehler in einer Formel. Dann muss bei allen Kunden manuell Hand angelegt werden?
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Zeilen löschen, wenn Zeile bestimmten Inhalt hat

Beitrag von Tom »

@Werner_Bayern: Standardformulare (Formularordner) werden mit Updates automatisch aktualisiert, und es gibt einen zusätzlichen Formularordner für individuelle Anpassungen, dessen Inhalt Vorrang hat. Außerdem kann man jedes beliebige Standardformular über den Kundenzugang unserer Website herunterladen.

Aber solche Fehler passieren uns sowieso nicht. 8)
Herzlich,
Tom
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Zeilen löschen, wenn Zeile bestimmten Inhalt hat

Beitrag von Werner_Bayern »

Also werden bei Standardformularen keine Anpassungen gemacht, bzw. ist von Euch gesperrt?

Ich denke da bei Euch z. B. an eins der unzähligen Dokumentations-Formulare. Das wollen doch sicherlich viele individuell angepasst haben. Dann gibt's irgendwann eine gesetzliche Änderung und es muss z. B. ein Satz geändert oder ein neues Feld mit eingefügt werden.

Das geht dann auch mit Master / Vererbung nicht wirklich elegant?
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Zeilen löschen, wenn Zeile bestimmten Inhalt hat

Beitrag von Marcus Herz »

Wenn sich ein Formular so essentiell ändert, wird es als eine neue Version geführt
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Antworten