verwandte Themen |
---|
Suchmaske, Erweiterte Filterbedingungen |
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:
- 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.
- 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.
- Sie können nach abgespeicherten Datenbereichen suchen und die Datenbereichssuche aus der Trefferliste dieser Suche öffnen.
Grundlegender Aufbau
- Kopfbereich
Kopfbereich (1)
Der Kopfbereich der Datenbereichssuche enthält:
- Eine Überschrift: Jede Datenbereichssuchmaske enthält in der Überschrift das Icon der Datenbereichssuche gefolgt vom Namen der Maske.
- Hinter der Überschrift ein
- Informationsicon - liefert via Tooltip Zusatzinformationen zur Suche - und
- der Name der Suche.
- Beides liegt nur vor, wenn die Suche zuvor geladen wurde.
- 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. |
Hauptgruppe der Definition der Datenbereichssuche (2)
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.
Auswahlbereich des ersten Datenbereichs (3)
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 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.
Auswahlbereich des zweiten Datenbereichs (4)
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.
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.
Definitionsliste der Ergebnisspalten (5)
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.
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.
Definitionsliste der Suchbedingungen (6)
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% |
Liste der Having-Bedingungen
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.
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.
Hauptgruppe der Ergebnisliste der Suche (7)
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.