AsysWiki-Startseite


Datenbereichssuche

Die Datenbereichssuche ermöglicht die Definition und Ausführung von Suchen in der Datenbank, die sich mit der normalen Suchmaske nicht erstellen und durchführen lassen. Dies schließt unter anderem ein:

  • die Zusammenfassung von Datensätzen nach gemeinsamen Eigenschaften (Gruppierung),
  • die Filterung des Ergebnisses nach Eigenschaften von Gruppen (sog. Having-Bedingungen),
  • die Verarbeitung von Einzelangaben in den Ergebnisspalten und den Suchbedingungen (Ausdrücke),
  • die Verwendung von beliebigen Einzelangaben aus einem kompletten Datenbereich - mehrere zusammengehörige Masken - als Ergebnisspalte oder Suchbedingung,
  • die Verknüpfung von zwei Datenbereichen für eine Suche.

Um eine Datenbereichssuche aufrufen zu können, benötigen Sie zumindest für die Hauptdatenkategorie der Datenbereiche das Leserecht.

Der Aufruf der Datenbereichssuche kann auf vier unterschiedliche Weisen erfolgen:

  1. Sie können die Datenbereichssuche im Kontext eines Datenbereichs öffnen, wenn Sie im Navigationsbaum zu einer Hauptdatenkategorie per Rechtsklick das Kontextmenü öffnen und den darin enthaltenen Menüpunkt Datenbereichssuche1) aufrufen. Die Datenbereichssuche wird dann bereits mit dem zugehörigen Datenbereich geöffnet.
  2. Sie können die Datenbereichssuche ohne Kontext öffnen, wenn Sie den Hauptmenüpunkt Recherche –> Datenbereichssuche aufrufen. Sie müssen anschließend zunächst einen Datenbereich auswählen, in welchem Sie eine Datenbereichssuche erstellen wollen.
  3. Sie können nach abgespeicherten Datenbereichen suchen und die Datenbereichssuche aus der Trefferliste dieser Suche öffnen.
  4. Sie können eine Suche in einer normalen Suchmaske zur Grundlage einer Datenbereichssuche machen (mehr).

Der Kopfbereich der Datenbereichssuche enthält:

  1. Eine Überschrift: Jede Datenbereichssuchmaske enthält in der Überschrift das Icon der Datenbereichssuche Datenbereichssuche gefolgt vom Namen der Maske.
  2. Hinter der Überschrift ein
    1. Informationsicon - liefert via Tooltip Zusatzinformationen zur Suche - und
    2. der Name der Suche.
    3. Beides liegt nur vor, wenn die Suche zuvor geladen wurde.
  3. Die Buttonzeile der Maske.

Buttonzeile des Kopfbereichs

In der Buttonzeile werden Schaltflächen mit Funktionalitäten zur Datenbereichsuche angeboten, die für die Maske als ganzes gelten.

Die Buttonzeile bietet die Funktionalitäten:

Schaltfläche Bedeutung Erläuterung
Suchen Die Schaltfläche startet die Suche (Tastaturshortcut: Strg+F).
Datenbereichssuche leeren Löscht alle Ergebnisspalten, Suchbedingungen und - falls ausgewählt - den zweiten Datenbereich.
/ Aggregatfunktionen an-/ausschalten Aggregatfunktionen für die Ergebnisspalten - z.B. zum Zwecke der Gruppierung von Ergebnisdaten - an bzw. ausschalten.

In der Liste der Ergebnisspalten wird parallel die Spalte 'Funktion' ein- bzw. ausgeblendet. Alle Ergebnisspalten erhalten die Funktion 'Gruppieren'. Siehe auch die Erläuterungen zu den Aggregatfunktionen. Nur bei angeschalteten Aggregatfunktionen kann Liste 'Bedingungen für berechnete Ergebnisspalten (Having-Bereich)' genutzt werden!
Suchbedingungen als Structured Query Language (SQL) anzeigen Die Schaltfläche zeigt die aktuelle Suche als SQL-Statement an (Mehr) (Tastaturshortcut: Alt+F8).

Der Button wird erst nach der ersten Ausführung der Suche aktiviert.
Suche laden Laden einer zuvor gespeicherten Suche (Mehr)

Der Button steht nur zur Verfügung, wenn es mindestens eine Datenbereichssuche gibt, die Sie laden dürfen.
Suche speichern Aktuell in der Datenbereichssuche definierte Suche speichern (Mehr)

Der Button steht nur zur Verfügung, wenn es mindestens eine Ergebnisspalte gibt.
Suche weitergeben Aktuell in der Datenbereichssuche definierte Suche an andere Nutzer weitergeben (Mehr)

Der Button erscheint nur, wenn Sie das Recht zur Weitergabe von Suchen haben.
Suche exportieren Aktuell in der Datenbereichssuche definierte Suche in eine zip-Datei exportieren (Mehr)

Der Button steht nur zur Verfügung, wenn es mindestens eine Ergebnisspalte gibt.
Suche übernehmen Datenbereichssuche aus ASYS-6 übernehmen (Mehr).
/ Suche zu Favoriten hinzufügen / aus den Favoriten entfernen Die Datenbereichssuche wird in die entsprechende Liste im Steuerungselement der Favoriten eingetragen bzw. daraus wieder entfernt.

Der Button steht nur zur Verfügung, wenn die Suche zuvor gespeichert wurde.

Die Hauptgruppe der Definition der Datenbereichssuche umfasst die Untergruppen

  • Auswahlbereich des ersten Datenbereichs (3)
  • Auswahlbereich des zweiten Datenbereichs (4)
  • Definitionsliste der Ergebnisspalten (5)
  • Definitionsliste der Suchbedingungen (6)

Die Hauptgruppe kann durch einen Linksklick in die Überschrift mit allen ihren Untergruppen auf- und zugeklappt werden.

Diese Hauptgruppe ist nach Aufruf der Datenbereichssuche aufgeklappt. Sie wird automatisch zugeklappt, wenn die Suche ausgeführt wird, um der Ergebnisliste (7) Platz zu machen.

Auswahl des Datenbereichs

Der Auswahlbereich des ersten Datenbereich enthält zuoberst die Auswahlliste der Datenbereiche.

Wenn Sie die Datenbereichssuche aus dem Hauptmenü heraus geöffnet haben, ist noch kein Datenbereich vorselektiert. Sie müssen dann zuerst einen Datenbereich auswählen.

In allen anderen Fällen, also

  • wenn Sie die Datenbereichssuche aus dem Navigationsbaum heraus geöffnet haben,
  • wenn Sie eine Datenbereichssuche geladen haben oder
  • wenn Sie eine Datenbereichssuche aus einer Suchmaske heraus geöffnet haben

wird hier schon der zugehörige Datenbereich angezeigt.

Sie können jederzeit den Datenbereich wechseln. Allerdings werden dabei alle Ergebnisspalten (5) und Suchbedingungen (6), sowie ein ggf. ebenfalls ausgewählter zweiter Datenbereich (4) gelöscht.

Baum der Masken, Gruppen und Einzelangaben des Datenbereichs

Wenn Sie einen Datenbereich ausgewählt haben, erscheint darunter der Baum der Masken, ihrer Gruppen und Einzelangaben des Datenbereichs.

  • Die Namen der Masken des Datenbereichs sind im Baum fett geschrieben.
  • Die Namen der Gruppen der Masken des Datenbereichs sind im Baum kursiv geschrieben.
  • Die Namen der Einzelangaben der Masken des Datenbereich sind im Baum normal geschrieben. Hinter dem Namen jeder Einzelangabe steht der Datentyp der Einzelangabe.
Datentyp Erläuterung
String(#) Ein Textfeld mit definiertet Maximallänge. Die Maximallänge ergibt sich aus der Zahl in den Klammern und liegt im Intervall von 1 bis 255.
Date Ein Datumsfeld.
boolean Ein Ankreuzfeld. Auf der Maske kann es sich auch um zwei alternative Auswahlfelder handeln (Radio-Buttons), von denen keines oder nur genau eines gesetzt sein kann.
double Eine Fließkommazahl mit Nachkommastellen.
int Eine Ganzzahl ohne Nachkommastellen.
Memo Ein Textfeld für größere Textmengen. Technisch begrenzt auf 32767 Zeichen. Fachlich können weniger Zeichen zulässig sein.
Buttonzeile über dem Baum

Über dem Baum befindet sich eine Buttonzeile mit den Schaltflächen

Schaltfläche Bedeutung Erläuterung
Einzelangabe in die Ergebnisspalten aufnehmen Die im Baum markierte Einzelangabe wird in die Liste der Ergebnisspalten aufgenommen (am Ende der Liste angefügt).

Alternativ kann die Einzelangabe auch per Drag&Drop2) aus dem Baum in die Liste kopiert werden.
Bei einer Auswahl mehrerer Einzelangaben im Baum werden jeweils alle markierten Einzelangaben in die Zielliste übertragen.
Einzelangabe in die Suchbedingungen aufnehmen Die im Baum markierte Einzelangabe wird in die Liste der Suchbedingungen aufgenommen (als neues Element der letzten Bedingungsgruppe).

Alternativ kann die Einzelangabe auch per Drag&Drop aus dem Baum in die Liste kopiert werden. Wird sie über einer vorhandenen Gruppe fallen gelassen, wird sie zum letzten Element dieser Gruppe. Wird sie im leeren Bereich der Liste fallen gelassen, bildet sie eine neue Gruppe.
Baum schließen Schließt alle geöffneten Teile des Baums bis auf die erste Ebene unterhalb des Datenbereichsnamens.

Unterhalb der Buttonzeile können Sie den Datenbereichsbaum nach Namensbestandteilen filtern. Ab dem dritten Zeichen werden nur noch diejenigen Einzelangaben im Baum angezeigt, welche die eingegebene Zeichenkette enthalten - die Zeichenkette kann also auch in der Mitte oder am Ende des Einzelangabennamens stehen. Der Button Filter löschen rechts des Eingabefeldes für die den Filter löscht das Feld und beendet die Filterung des Baumes.

Bestimmte Einzelangaben im Datenbereichsbaum können so konfiguriert sein, dass sie sich nur in die Liste der Ergebnisspalten oder nur in die Liste der Suchbedingungen aufnehmen lassen!

Bestimmte Einzelangaben können so konfiguriert sein, dass sie sich weder als Ergebnisspalte noch als Suchbedingung nutzen lassen! Sie erscheinen nicht im Datenbereichsbaum, auch wenn sie in der zugehörigen Maske angezeigt werden.

Mechanismen zur Vermeidung von Kreuzprodukten3)

Die Übernahme von Maskenfeldern in die Ergebnisspaltenliste (5) ist beschränkt: Wenn Sie Maskenfelder aus einer abhängigen Datenkategorie übernommen haben, wird die Übernahme von Maskenfeldern anderer Datenkategorien aus parallel liegenden Ästen des Datenbereichsbaums verhindert (es erfolgt ein entsprechender Hinweis).

Beispielbaum:

  • Kategorie A
    • Kategorie B
      • Kategorie Bb
    • Kategorie C

Wenn Sie Maskenfelder aus Kategorie B in die Ergebnisliste aufgenommen haben, können Sie noch Maskenfelder aus den Kategorien A und Bb einfügen, nicht aber aus der zu Kategorie B parallel liegenden Kategorie C!

Die Übernahme von Maskenfeldern in die Suchbedingungsliste (6) kann zu einer Warnung führen: Wenn Sie Maskenfelder aus parallel liegenden Datenkategorien (im Beispielbaum: B und C) gemeinsam in die Suchbedingungsliste eintragen, erscheint einmalig ein Warnhinweis. Derartige Konstellationen können ebenfalls ein Kreuzprodukt erzeugen.

Der Auswahlbereich des zweiten Datenbereichs befindet sich unter dem Auswahlbereich des ersten Datenbereichs und wird im Grundsatz auf die gleiche Weise bedient (siehe den vorangehenden Abschnitt zum ersten Datenbereich). Nachfolgend werden nur die Unterschiede und Besonderheiten erläutert.

Der zweite Datenbereich ist optional. Daher ist dieser Auswahlbereich nach dem Aufruf der Datenbereichssuche immer zugeklappt. Sie können den Bereich durch einen Linksklick auf seine Überschrift aufklappen, woraufhin der Auswahlbereich des ersten Datenbereichs automatisch zugeklappt wird (für den ersten Datenbereich gilt entsprechend: wird dieser aufgeklappt, wird der zweite Datenbereich zugeklappt).

Auswahl des zweiten Datenbereichs

Die Auswahl des zweiten Datenbereichs erfolgt wie für den ersten Datenbereich über die zuoberst im Auswahlbereich enthaltene Auswahlliste der Datenbereiche.

Wenn Sie für den ersten und den zweiten Datenbereich den gleichen Eintrag aus der Liste der Datenbereiche auswählen, erhalten Sie eine Warnmeldung, dass dies nicht zulässig ist. Eine derartige Auswahl für den zweiten Datenbereich wird ignoriert.

Sie können jederzeit den zweiten Datenbereich wechseln. Allerdings werden dabei alle Ergebnisspalten (5) und Suchbedingungen (6) des betreffenden Datenbereichs gelöscht.

Verknüpfung der beiden Datenbereiche

Nachdem Sie den zweiten Datenbereich ausgewählt haben, erscheinen unter der Auswahlliste zwei Auswahllisten für die Einzelangaben des ersten bzw. des zweiten Datenbereichs. Sie müssen aus jedem Datenbereich eine Einzelangabe auswählen.

Tipp: In den Datenbereichsbäumen können Sie bei den Einzelangaben via Rechtsklick ein Kontextmenü öffnen mit der Funktion 'Als Verknüpfungsfeld verwenden'. Die Einzelangabe wird dann in das jeweilige Verknüpfungsfeld ihres Datenbereichs eingetragen. Diese Funktion steht nur zur Verfügung, wenn zwei Datenbereiche ausgewählt sind.

Beispiel einer Verknüpfung zweier Datenbereiche

Im vorstehenden Beispiel sind die Datenbereiche Begleitschein und Entsorgungsnachweis Grundverfahren gemeinsam in eine Datenbereichssuche aufgenommen worden. Sie werden über die beiden Einzelangaben 'EN/SN Nummer' (aus Begleitschein) und 'Nachweisnummer' (aus Entsorgungsnachweis Grundverfahren) miteinander verbunden.

Diese Verbindung stellt eine zusätzliche Suchbedingung dar. Der Vergleich der Inhalte der beiden ausgewählten Einzelangaben erfolgt immer auf Gleichheit (Vergleichsoperator ist '=').

Beispiele für die Verbindung zweier Datenbereiche:

Erster Datenbereich Zweiter Datenbereich Bemerkungen
Name Maskenfeld Maskenfeld Name
Begleitschein EN/SN Nummer = Nachweisnummer Entsorgungsnachweis Grundverfahren Verknüpfung nur mit ENG, nicht mit ENP!
Begleitschein Erzeugernummer = Erzeugernummer Erzeuger
Sammelentsorgungsnachweis Grundverfahren Entsorgernummer = Entsorgernummer Entsorger Verknüpfung nur mit SNG, nicht mit SNP!
Anzeige Beförderernummer = Beförderer-, Sammlernummer Beförderer, Sammler Verknüpfung nur mit der Beförderernummer in der Anzeige, nicht mit der Sammlernummer!
Registerauszug BGS/UNS-Nummer = Begleitscheinnummer Begleitschein

Baum der Masken, Gruppen und Einzelangaben des Datenbereichs

Der Baum enthält die Masken, Gruppen und Einzelangaben des zweiten Datenbereichs. Darstellung und Bedienung unterscheiden sich nicht. Sie können aus diesem Baum auf die gleiche Weise, wie aus dem Baum des ersten Datenbereichs, Einzelangaben in die Liste der Ergebnisspalten bzw. der Suchbedingungen übertragen.

In der Definitionsliste der Ergebnisspalten bestimmen Sie, welche Spalten in der Ergebnisliste erscheinen sollen. Die Reihenfolge der Zeilen in dieser Liste bestimmt die Reihenfolge der Spalten in der Ergebnisliste.

Die Spalten der Ergebnisspaltendefinitionsliste

Die Definitionsliste besteht aus den Spalten:

Spalte Inhalt / Erläuterung bearbeitbar Beispiel
Funktion Erscheint nur, wenn die Aggregatfunktionen eingeschaltet sind (s. oben die Buttonzeile des Kopfbereichs).

Enthält eine Auswahlliste der Aggregatfunktionen.
Ja Summe
Maskenfeld oder Ausdruck Enthält den Namen des anzuzeigenden Maskenfeldes oder eines Ausdrucks in der Ergebnisliste Ja Menge (t)
Spaltenname Enthält die Spaltenüberschrift in der Ergebnisliste. Ja Mengensumme
Alias in SQL Technischer Name des Maskenfeldes für die Suche in der Datenbank. Nein MENGET
Anzeigen Ankreuzfeld, ob das Maskenfeld bzw. der Ausdruck in der Ergebnisliste angezeigt werden soll. Standardwert ist 'Ja'.
Hierüber lassen sich Ergebnisspalten ausblenden, ohne sie aus der Definitionsliste entfernen zu müssen.
Ja 'Ja'
Sortieren Voreinstellung einer Sortierung der Ergebnisliste4). Ja 1 aufsteigend
Datenbereich Anzeige des Namens des Datenbereichs, aus dem das Maskenfeld übernommen wurde zur Unterscheidung gleichnamiger Maskenfelder. Nein Begleitschein

Die Buttonzeile der Ergebnisspaltendefinitionsliste

Über der Liste der Ergebnisspaltendefinitionen befindet sich eine Buttonzeile mit Funktionalitäten zur Liste.

Schaltfläche Bedeutung Erläuterung Hinweis
Markierte Einträge löschen Markierte Ergebnisspalte(n) aus der Liste entfernen.
Ausdruck bearbeiten Den Ausdruck (Spalte 'Maskenfeld oder Ausdruck') der markieren Zeile in einem Dialog bearbeiten (Mehr).
Markierten Eintrag nach oben verschieben Die markierte Ergebnisspalte eine Zeile in der Liste nach oben verschieben (verschiebt den Eintrag in der Ergebnisliste eine Spalte nach links). Tipps:
1) Innerhalb der Liste kann eine Zeile auch per Drag&Drop verschoben werden.
2) Zwischen den Listen können mehrere markierte Zeilen auch per Drag&Drop kopiert werden.
Markierten Eintrag nach unten verschieben Die markierte Ergebnisspalte eine Zeile in der Liste nach unten verschieben (verschiebt den Eintrag in der Ergebnisliste eine Spalte nach rechts).
Markierten Eintrag in die Liste der Suchbedingungen kopieren Die markierte(n) Ergebnispalte(n) werden in die Liste der Suchbedingungen kopiert - nur Name und Datenbereich. Sofern schon Suchbedingungen vorhanden sind, werden sie in die letzte Gruppe eingefügt.
Aus der Ergebnisliste zu öffnende Maske Mit Auswahl einer Maske aus der Auswahl angebotener Masken, kann diese Maske mit einem Datensatz aus der Ergebnisliste geöffnet werden. Die Ergebnisliste wird automatisch um eine Spalte für die eindeutige Datensatz-ID des Datensatzes erweitert (erscheint nicht in der Ergebnisliste). Der Button rechts der Auswahl löscht die ausgewählte Maske.
Wichtig: Diese Funktionalität steht nur zur Verfügung, wenn die Aggregatfunktionen ausgeschaltet (siehe oben) sind!
Liste ausdrucken Ausdruck des Inhalts der Ergebnisspaltenliste (siehe hier)
Liste exportieren Export des Inhalts der Ergebnisspaltenliste (siehe hier)

Die Aggregatfunktionen in der Spalte Funktion

Die Spalte Funktion wird in der Ergebnisspaltendefintionsliste nur angezeigt, wenn die Aggregatfunktionen über den Button im Kopf der Datenbereichssuche aktiviert werden.

Alle bereits definierten Ergebnisspalten erhalten automatisch die Funktion Gruppieren. Das bedeutet

  • für jede Wertekombination aus den Maskenfeldern, nach denen gruppiert wird, wird eine Gruppe (= Ergebnislistenzeile) angelegt.
  • für alle Maskenfelder, nach denen nicht gruppiert wird, muss festgelegt werden, wie der Wert der Gruppe ermittelt werden soll (auch, wenn die Gruppe nur aus einem Datensatz bestehen sollte).

Für die Ermittlung der Gruppenwerte der Maskenfelder, nach denen nicht gruppiert wird, werden weitere Aggregatfunktionen bereitgestellt:

Funktion Erläuterung anwendbar auf
Gruppieren Bestimmt das Maskenfeld als Gruppierungsspalte. Alle Mitglieder einer Gruppe weisen darin den gleichen Wert auf. alle Datentypen
Anzahl Liefert die Anzahl der Datensätze, die die Gruppe bilden. alle Datentypen
Summe Liefert die Summe der Werte aus allen Datensätzen, die die Gruppe bilden. double und int5)
Min Liefert den kleinsten Wert aus allen Datensätzen, die die Gruppe bilden. alle Datentypen
Max Liefert den größten Wert aus allen Datensätzen, die die Gruppe bilden. alle Datentypen
Durchschnitt Liefert den Mittelwert aus allen Datensätzen, die die Gruppe bilden. double und int6)
Ausdruck Keine der vorstehenden Aggregatfunktionen wird angewandt. Stattdessen wird die Spalte 'Maskenfeld oder Ausdruck' als Ausdruck angesehen.

Beispiel: Bei einer Gruppierung über eine andere Ergebnisspalte soll ein konstanter Text ausgegeben werden. In diesem Falle ist keine der Aggregatfunktionen sinnvoll nutzbar. Mit 'Ausdruck' als Funktion und dem konstanten Text - in einzelnen Hochkommata: 'konstanter Text'! - in der zweiten Spalte wird dieser Text in allen Zeilen der Ergebnistabelle ausgegeben.
Alle Datentypen

Diese Aggregatfunktionen können mit Ausdrücken kombiniert werden. Für jeden Datensatz wird der Wert des Ausdrucks aus dem Wert der Ergebnisspalte ermittelt und anschließen darauf die Aggregatfunktion angewandt.

Dialog zur Bearbeitung von Ausdrücken

Die Bearbeitung von Ausdrücken erfolgt über den gleichnamigen Button in der Buttonzeile der Ergebnisspaltenliste. Es öffnet sich ein Dialog zur Bearbeitung des Ausdrucks einer Ergebnisspalte.

Dialog zur Bearbeitung eines Ergebnisspaltenausdrucks

Im Textfeld der Maske erscheint der Inhalt der Spalte 'Maskenfeld oder Ausdruck' aus der Ergebnisspaltenliste. Der Inhalt des Textfeldes kann frei bearbeitet werden.

Achten Sie darauf, die Namen der Maskenfelder nicht zu verändern! Alle Inhalte, die sich nicht als Maskenfeldname oder als vorbereitete Funktion identifiziert lassen, werden unverändert an die Datenbank übergeben. Kann die Datenbank diese Informationen nicht auswerten, kann die Suche nicht ausgeführt werden!

Diese Freiheit ermöglicht es Ihnen, bedarfsweise weitere spezielle Funktionen in die Ausdrücke aufzunehmen, die nicht als vorbereitete Funktionen von ASYS bereitgestellt werden. Sie können also spezielle Funktionen Ihrer Datenbank nutzen. Fragen Sie hierzu ggf. Ihren ASYS-Fachadministrator.

Über dem Textfeld befindet sich eine Buttonzeile:

Schaltfläche Bedeutung Erläuterung Hinweis
Funktionsauswahlliste aufrufen Ruft eine Auswahlliste einiger häufig genutzter Funktionen auf. Die Liste variiert in Abhängigkeit vom Datentyp des ursprünglich ausgewählten Maskenfeldes.
Operatorenauswahl Nur in den Suchbedingungen! Ruft eine Auswahlliste von Vergleichsoperatoren auf.
Auswahl weiterer Maskenfelder Ruft eine Auswahlliste weiterer Maskenfelder auf. Die Auswahl variiert in Abhängigkeit des Datenbereichs, in dem die Suche definiert wird.
Änderungen zurücknehmen Alle Änderungen am Ausdruck zurücknehmen. Stellt den Zustand her, der direkt nach dem Aufruf des Dialogs angezeigt wurde.
Auf Maskenattribut zurücksetzen Ersetzt den Ausdruck gegen den Namen des ursprünglich ausgewählten Maskenfeldes.
Ausdruck formatieren Formatiert den Ausdruck, um die Lesbarkeit zu verbessern. Wichtig: Die Formatierung wird in den meisten Fällen zu einem mehrzeiligen Ergebnis führen. In der jeweiligen Liste kann aber immer nur die erste Zeile angezeigt werden!
Beispiel einer Formatierung:
aus
wird
Die vorbereiteten Funktionen

Der Dialog zur Bearbeitung von Ausdrücken stellt eine Auswahl häufig genutzter Funktionen bereit, die in die von der verwendeten Datenbanken bereitgestellten Funktionen übersetzt werden. Die Auswahl der Funktionen hängt vom Datentyp des Maskenfeldes ab.

Funktion Erläuterung Beispiel verfügbar für Datentyp
String(#) Date boolean double int Memo
@LÄNGE Liefert die Anzahl der Zeichen, aus denen der Maskenfeldinhalt besteht. @LÄNGE(Erzeugernummer) Ja
@TEIL Liefert die Anzahl der Zeichen, aus denen der Maskenfeldinhalt besteht. @TEIL(EN/SN Nummer, 3, 1)
schneidet aus der Nachweisnummer ab dem dritten Zeichen ein Zeichen aus
Ja
@FINDEN Prüft, ob die zweite Zeichenkette in der ersten enthalten ist und gibt die Position zurück (oder 0, wenn sie nicht gefunden wurde). @FINDEN(EN/SN Nummer, 'P')
prüft, ob der Buchstabe P in der Nachweisnummer enthalten ist.
Ja
@LEERWERT Gibt den Inhalt des Maskenfeldes zurück oder eine festlegbare Zeichenkette, wenn das Feld keine Inhalt hat. @Leerwert(EN/SN Nummer, 'leer')
Liefert die Nachweisnummer, falls gefüllt, oder die Zeichenkette „leer“, wenn die Nachweisnummer nicht vorhanden ist.
Ja Ja Ja Ja Ja Ja
@VERKETTEN Fügt die vorangehende und die nachfolgende Zeichenkette zusammen. Erzeuger Name 1 @VERKETTEN Erzeuger Name 2 Ja
@PLUSMONATE Addiert die Anzahl der Monate zu einem Datum hinzu. @PLUSMONATE(Datum der Übergabe, 3)
Addiert drei Monate auf das Datum der Übergabe (negative Wert sind auch erlaubt!).
Ja
@INTEXT Verwandelt den Datumswert in eine Zeichenkette. @INTEXT(Datum der Übergabe)
Verwandelt den Datumswert aus dem internen Datenbankformat (z.B. 2019-09-07) in das übliche Datumsfomat (z.B. 07.09.2019).
Ja
@RUNDEN Rundet den Wert auf die angegebene Anzahl an Nachkommastellen. @Runden(Menge (t), 2)
Rundet die Menge an der zweiten Nachkommastelle7).
Ja
Hinweise zum Rechnen mit Datumsfeldern

Für die hier aufgeführten Hinweise kann keine Gewähr übernommen werden! Erkundigen Sie sich bitte bei Ihrem ASYS-Fachadministrator, ihrem Datenbankadministrator oder recherchieren Sie im Internet, wenn die hier aufgeführten Hinweise sich bei Ihnen nicht nutzen lassen.

Manche Fragestellungen an die Datenbank erfordern Berechnungen mit Datumsfeldern. Die Datenbanken verhalten sich dabei leider nicht einheitlich:

  • Oracle erlaubt die direkte Subtraktion zweier Datumswerte und liefert als Ergebnis standardmäßig eine Differenz in Tagen (z.B. mit dem Ausdruck 'Datum der Annahme - Datum der Übergabe' für Begleitscheine).
  • Bei MS SQL Server und MS Access muss hierfür im Ausdruck mit der Funktion DateDiff gearbeitet werden, sonst erhält man ein Datum als Rückgabe (z.B. 01.01.1900 für 0 Tage Differenz bei SQL Server) oder eine Anzahl in Tagen gefolgt von einer Uhrzeit (z.B. 6 00:00:00.00000 für 6 Tage Differenz bei Access).
    • Die Funktion DateDiff besitzt drei Parameter: Art der Differenz, früheres Datum, späteres Datum.
    • Das vorstehende Beispiel für den Begleitschein sieht dann z.B. so aus: DateDiff („D“, Datum der Übergabe, Datum der Annahme). Der Parameter „D“ sorgt für die Berechnung der Datumsdifferenz in Tagen.

In der Definitionsliste der Suchbedingungen bestimmen Sie, welche Zeilen in der Ergebnisliste erscheinen sollen, indem Sie festlegen, welche Bedingungen die Datensätze erfüllen müssen.

Suchbedingungen werden grundsätzlich zu Gruppen zusammengefasst. In diesem Falle bedeutet das, dass um eine oder mehrere Bedingungen eine Klammer gesetzt wird. Dies gilt bereits ab der ersten Suchbedingung, die Sie festlegen.

Wenn Sie eine Einzelangabe aus dem Datenbereichsbaum per Drag&Drop in die Suchbedingungen übertragen, müssen Sie darauf achten, wo Sie die Einzelangabe fallen lassen!

  • Wenn Sie die Einzelangabe in eine vorhandene Gruppe fallen lassen, wird sie als neues Element am Ende der Gruppe eingefügt.
  • Wenn Sie die Einzelangabe in den leeren Bereich der Liste fallen lassen, wird eine neue Gruppe mit dieser Einzelangabe als einzigem Element angefügt.
  • Wenn Sie die Einzelangabe in die Zeile mit der schließenden Klammer der letzten Gruppe in der Liste fallen lassen, wird eine neue Gruppe mit dieser Einzelangabe als einzigem Element angefügt. Bei den vorhergehenden Gruppen wird die Einzelangabe am Ende dieser Gruppe eingefügt.

Wenn Sie eine Einzelangabe über den Button beim Datenbereichsbaum in die Suchbedingungen übertragen, wird die Einzelangabe immer als neues Element in die letzte vorhanden Gruppe eingefügt (oder es wird eine neue Gruppe angelegt, falls noch keine Gruppe existiert).

Sie können jederzeit in der Suchbedingungsliste eine oder mehrere Suchbedingungen markieren und über den Button zu einer neuen Gruppe zusammenstellen lassen. Diese neue Gruppe wird an das Ende der Suchbedingungsliste gestellt. Die so neu zusammengestellten Suchbedingungen werden aus ihren bisherigen Gruppen in die neue Gruppe verschoben. Falls dabei Gruppen geleert werden, verschwinden sie aus der Liste.

Die Spalten der Suchbedingungsdefinitionsliste

Die Definitionsliste besteht aus den Spalten

Spalte Inhalt / Erläuterung bearbeitbar Beispiel
Verknüpfung Der Verknüpfungsoperator der aktuellen Bedingung oder Gruppe mit der vorhergehenden (in der Liste darüber stehenden).
In einer Auswahl können die beiden Alternativen und bzw. oder ausgewählt werden. Die erste Gruppe und die erste Bedingung jeder Gruppe benötigen keinen Verknüpfungsoperator (ist einer vorhanden, wird er ignoriert).
Suchbedingungen innerhalb einer Gruppe werden standardmäßig per 'oder' verknüpft, Gruppen werden standardmäßig per 'und' verknüpft.
Ja und
Gruppe Jede Gruppe hat einen Beginn '(' und ein Ende ')', die durch runde Klammern dargestellt werden. In einer Zeile mit Gruppenbeginn oder -ende ist nur die Spalte Gruppe belegt, alle anderen Spalten bleiben leer bzw. werden ignoriert. Nein (
Maskenfeld oder Ausdruck Enthält den Namen des anzuzeigenden Maskenfeldes oder eines Ausdrucks in der Ergebnisliste Ja Menge (t)
Operator Ermöglicht die Auswahl eines Vergleichsoperators, um den Wert des Maskenfeldes mit einem Vergleichswert vergleichen zu können.
Der Vergleichsoperator wird bei Ausdrücken ignoriert und muss Bestandteil des Ausdrucks sein!
Ja <
Bedingung Vergleichwert, mit dem der Wert eines Maskenfeldes mittels Vergleichsoperator verglichen wird. Ja 50
Deaktivieren Ankreuzfeld, ob die in der Zeile definierte Suchbedingung angewandt werden soll. Standardwert ist 'Ja'.
Hierüber lassen sich Suchbedingungen abschalten, ohne sie aus der Definitionsliste entfernen zu müssen.
Ja 'Ja'
Umkehren Kehrt die jeweilige Suchbedingung um, d.h. vor die betreffende Bedingung wird 'Nicht' geschrieben. Standardwert ist 'Nein'. Ja 'Nein'
Datenbereich Anzeige des Namens des Datenbereichs, aus dem das Maskenfeld übernommen wurde, zur Unterscheidung gleichnamiger Maskenfelder. Nein Begleitschein

Wird als Vergleichoperator zwischen ausgewählt, erscheint ein Eingabedialog für die Intervallgrenzen. Nach der Eingabe wird das Intervall in der Spalte 'Bedingung' angezeigt, kann dort aber nicht direkt bearbeitet werden. Ein Linksklick auf das anzeigezeigt Intervall öffnet den Dialog erneut und ermöglicht eine Änderung der Intervallgrenzen.

Die Buttonzeile der Suchbedingungsdefinitionsliste

Über der Liste der Suchbedingungsdefinitionen befindet sich eine Buttonzeile mit Funktionalitäten zur Liste.

Schaltfläche Bedeutung Erläuterung Hinweis
Markierte Einträge löschen Markierte Suchbedingung(en) aus der Liste entfernen. Wird auf diese Weise die letzte Suchbedingung einer Gruppe gelöscht, wird auch die Gruppe entfernt.
Ausdruck bearbeiten Den Ausdruck (Spalte 'Maskenfeld oder Ausdruck') der markieren Zeile in einem Dialog bearbeiten (Mehr).
Für markierte(n) Eintrag/Einträge eine neue Gruppe anlegen Verschiebt den bzw. die markierten Einträge in eine gemeinsame neue Gruppe am Ende der Liste.
Markierten Eintrag nach oben verschieben Der markierte Eintrag wird innerhalb seiner Gruppe8) eine Zeile in der Liste nach oben verschoben. Tipps:
1) Innerhalb der Liste kann eine Zeile auch per Drag&Drop verschoben werden.
2) Zwischen den Listen können mehrere markierte Zeilen auch per Drag&Drop kopiert werden.
Markierten Eintrag nach unten verschieben Der markierte Eintrag wird innerhalb seiner Gruppe9) eine Zeile in der Liste nach unten verschoben.
Markierten Eintrag in die Ergebnisspaltenliste kopieren Die markierte(n) Sucbedingung(en) werden in die Liste der Ergebnisspalten kopiert - nur Name und Datenbereich. Sie werden am Ende der Liste der Ergebnisspalten eingefügt.
Liste ausdrucken Ausdruck des Inhalts der Suchbedingungsliste (siehe hier)
Liste exportieren Export des Inhalts der Suchbedingungsliste (siehe hier)

Bearbeitung von Ausdrücken

Die Bearbeitung von Ausdrücken erfolgt für Suchbedingungen auf die gleiche Weise, wie für die Ergebnisspalten.

Vergleichsoperatoren und Bedingungswerte

Die Vergleichsoperatoren und Bedingungswerte unterscheiden sich ja nach Datentyp des Maskenfeldes (vergl. Erweiterte Filterbedingungen auf der Suchmaske):

Operator Erläuterung verfügbar für Datentyp
String(#) Date boolean double int Memo
wie, nicht wie10) Textsuche mit Platzhalterzeichen
* oder % für beliebig viele Zeichen
_ für genau ein beliebiges Zeichen
Ja Ja
=, <> gleich, ungleich Ja Ja Ja
<, > ,<=, >= kleiner, größer, kleiner oder gleich, größer oder gleich Ja Ja Ja
zwischen11) Vergleich mit einem Werteintervall12).
Wird übersetzt in einen Ausdruck!
Ja Ja Ja
Monat, Quartal, Jahr Vergleich mit einem auswählbaren Zeitraum.
Wird in einen Ausdruck mit dem Operator 'zwischen' übersetzt.
Ja
ja, nein13) angekreuzt bzw. nicht angekreuzt Ja
ja oder nicht angegeben, nein oder nicht angegeben nicht nein bzw. nicht ja Ja
angegeben, nicht angegeben14) Feldinhalt ist nicht leer, ist leer
Der Bedingungswert wird ignoriert!
Ja Ja Ja Ja Ja Ja

Für die Eingabe der Bedingungswerte gilt:

Datentyp Erläuterung Beispiel
String(#) Eingabe der gesuchten Zeichenkette.
Bei 'wie' und 'nicht wie' werden die Platzhalterzeichen (%, *, _) berücksichtigt,
bei '=' und '<>' werden die Platzhalterzeichen als normale Zeichen gewertet.
16%
Date Immer als Datum im Format dd.mm.jjjj eingeben. 19.07.2019
boolean Die Operatorenauswahl deckt alle möglichen Varianten ab, der Bedingungswert wird daher grundsätzlich ignoriert. -entfällt-
double Eingabe einer normalen Fließkommazahl (wie bei einem einfachen Taschenrechner) mit einem Dezimalpunkt oder -komma. Negative Werte benötigen ein Vorzeichen, Zahlen ohne Vorzeichen werden als positive Werte interpretiert. Tausendertrennzeichen (z.B. 1.000.000,00) sind nicht zulässig! -3,2
int Eingabe einer normalen Ganzzahl (wie bei einem einfachen Taschenrechner) ohne Dezimalpunkt oder -komma. Negative Werte benötigen ein Vorzeichen, Zahlen ohne Vorzeichen werden als positive Werte interpretiert. Tausendertrennzeichen (z.B. 1.000.000) sind nicht zulässig! -13
Memo siehe oben unter 'String(#) %m__er%

Unterhalb der Suchbedingungen befindet sich die Liste der 'Bedingungen für berechnete Ergebnisspalten (Having-Bedingungen)'. Diese Liste ist nur nutzbar, wenn die Aggregatfunktionen angeschaltet sind und mindestens eine Ergebnisspalte mit einer anderen Aggregatfunktion als 'Gruppieren' versehen ist.

Wozu dient diese zusätzlich Bedingungsliste?

Die normalen Suchbedingungen werden auf jeden einzelnen Datensatz angewandt. Jeder Datensatz muss alle diese Bedingungen erfüllen, um in die Ergebnisliste aufgenommen zu werden. Findet dann eine Aggregation statt - in den allermeisten Fällen werden die Datensätze dabei nach einer oder mehreren Spalten gruppiert - so erhalten die anderen Ergebnisspalten je Gruppe einen berechneten Wert.

Damit die Ergebnisliste nach diesen berechneten Werten gefiltert werden kann, gibt es die Having-Bedingungen. Mit ihnen ist es möglich, Bedingungen auf den aggregierten Wert einer Ergebnisspalte zu definieren und damit Bedingungen für die Gruppen - und nicht deren einzelne Datensätze - festzulegen, die in der Ergebnisliste erscheinen sollen. Diese Bedingungen werden also erst ausgewertet, wenn die Gruppen bereits aus den Einzeldatensätzen gebildet wurden, die zuvor die normalen Suchbedingungen erfüllen mussten.

Mittels des Katalogsauswahlbuttons über der Liste kann in einem Dialog aus allen Ergebnisspalten ausgewählt werden, deren Aggregatfunktion nicht 'Gruppieren' ist.

Beispiel einer Auswahl von aggregierten Ergebnisspalten für eine Having-Bedingung

Sie können hier ein Spalte auswählen und damit in die Liste der Having-Bedingungen aufnehmen (es wird bei jeder Auswahl eine neue Zeile in der Liste angelegt). Die Auswahl ist anschließend in der Liste nicht mehr änderbar. Die aktuell in der Liste markierte Zeile kann aber mit dem -Button über der Liste aus dieser gelöscht werden.

Die Liste der Having-Bedingungen enthält folgende Spalten:

Spalte Inhalt / Erläuterung bearbeitbar Beispiel
Verknüpfung Der Verknüpfungsoperator der aktuellen Bedingung mit der vorhergehenden (in der Liste darüber stehenden).
In einer Auswahl können die beiden Alternativen und bzw. oder ausgewählt werden. Die erste Gruppe und die erste Bedingung jeder Gruppe benötigen keinen Verknüpfungsoperator (ist einer vorhanden, wird er ignoriert).
Having-Bedingungen werden standardmäßig per 'und' verknüpft.
Ja und
Funktion Ausgabe der Aggregatfunktion (Wiederholung aus der Spalte Funktion der Ergebnisspaltenliste) Nein Summe
Maskenfeld Name des Maskenfeldes, welches für die Aggregatfunktion verwendet wird (Wiederholung aus der Spalte Maskenfeld oder Ausdruck der Ergebnisspaltenliste. Nein Menge in Tonnen
Operator Vergleichsoperator für den Vergleich zwischen berechnetem Wert und Vergleichswert. Es stehen nur mathematische Operatoren in einer Auswahl zur Verfügung. Alle anderen Operatoren, z.B. unscharfe Textvergleichsoperatoren (wie, nicht wie), können nicht verwendet werden. Als Standardoperator wird = vorgeschlagen. Ja >
Bedingung Vergleichswert, mit dem der berechnete Wert via Operator verglichen wird. Die Eingabe erfolgt weitestgehend ohne Prüfung, ob der Vergleichswert vom passenden Datentyp ist. Achten Sie daher verstärkt auf passende Eingaben! Bei Datumsfeldern steht das Kalendertool zur Verfügung. Ja 100

Nimmt man die Angaben in der Spalte Beispiel zusammen, werden nur Gruppen in die Ergebnisliste aufgenommen, deren Wertesumme aus der Einzelangabe 'Menge in Tonnen' über 100 liegt. Alle Gruppen mit einem Wert von 100 Tonnen oder kleiner werden ausgefiltert.

Die Ergebnisliste enthält das letzte Ergebnis der Datenbereichssuche, nachdem sie ausgeführt wurde. Die Hauptgruppe der Ergebnisliste wird automatisch aufgeklappt (und der Definitionsbereich automatisch zugeklappt), wenn die Suche ausgeführt wird.

Hinweis: Solange die Datenbereichssuche nicht mindestens einmal ausgeführt wurde, gibt es noch keine Ergebnisliste, da die Spalten der Liste noch nicht bekannt sind bzw. gerade erst noch von Ihnen zusammengestellt werden. Nach der ersten Ausführung der Suche zeigt die Ergebnisliste immer den jüngsten Ausführungsstand der Suche an.

Die Ergebnisliste entspricht einer Trefferliste einer normalen Maskensuche mit eingeschränkter Funktionalität. Die verfügbaren Funktionalitäten entsprechen den Pendants aus der Trefferliste.

Wurde in der Kopfzeile der Ergebnisspaltenliste eine zu öffnende Maske ausgewählt, kann diese Maske mit einem Eintrag aus der Ergebnisliste geöffnet werden. Hierfür können Sie

  • den betreffenden Eintrag der Ergebnisliste doppelklicken oder
  • den Eintrag in der Ergebnisliste markieren und den Button zum Öffnen der Anzeigemaske oben links über der Ergebnisliste anklicken.

1)
Einträge im Navigationsbaum, die keiner Hauptdatenkategorie zugehörig sind, besitzen diesen Kontextmenüpunkt nicht.
2)
Drag&Drop: Eintrag im Baum mit Linksklick markieren, Maustaste gedrückt halten und bei gedrückter Maustaste in die Ergebnisspaltenliste ziehen, Maustaste loslassen.
3)
Beispiel eines Kreuzprodukts (vgl. Beispielbaum): Wenn Kategorie B zwei Treffer liefert und Kategorie C drei Treffer werden für einen Datensatz aus Kategorie A insgesamt 2 x 3 = 6 Ergebniszeilen ausgegeben.
4)
Es werden bis zu 9 Sortierhierarchiestufen ermöglicht, ausgedrückt durch die Zahlenwerte 1 = höchste Stufe bis hinunter zu 9 = niedrigste Stufe. Alle Datensätze mit gleichem Inhalt in allen höher hierarchisierten Sortierstufen werden nach dem Inhalt der nächst niedrigeren Stufe sortiert. In jeder Stufe kann unabhängig auf- oder absteigend sortiert werden. Wichtig: Die Sortiereinstellungen der Ergebnisliste überregeln diese Sortiervoreinstellungen!
5) , 6)
Diese Einschränkung gilt auch, wenn es sich um ein Textfeld handelt, in dem ausschließlich Ziffern enthalten sind, z.B. die Prüfzifferfelder behördlicher Nummern!
7)
Hinweis: Die Anzeige in der Ergebnisliste kann unabhängig davon mehr Nachkommastellen anzeigen, die aber alle auf 0 gesetzt sind.
8) , 9)
Einträge können nicht in eine andere Suchbedingungsgruppe verschoben werden, Gruppen können nicht verschoben werden.
10)
In SQL: like, not like
11)
In SQL: between … and …
12)
Siehe auch den Hinweis oben zur Dokumentation der Spalten der Suchbedingungsliste.
13)
In SQL: true, false
14)
In SQL: is not null, is null
  • a7such/datbersuche.txt
  • Zuletzt geändert: 2023/11/28 09:14
  • von eflor