Auswertung im GTDS • • • • fixe Abläufe für Standard-Aufgaben – Mamma-Auswertung – Kolorekt-Auswertung vorgefertigte Berichte ( Leitstelle Berichtsauswahl ) Berichtsaufruf in der Auswertungs-Ansicht ( Funktion Druck/Ausg. ) Variable Auswertungen je nach Anforderung Lokale Informationsquellen Online-Hilfe zum GTDS und zahlreiche spezielle Informationen befinden sich im Unterverzeichnis HILFE des GTDS-Verzeichnisses. • Inhaltsverzeichnis GTDS-Hilfe unter Hilfe\DokIndex.HTM • Beschreibung des Auswertungs-Datensatzes unter Hilfe\Auswertungssatz.PDF • Kurze Anleitung zur Auswertung unter Hilfe\Auswert.HTM • eher Aufgaben – orientierte Anleitung unter Hilfe\Auswerten.HTM • Für Brust- bzw. Darmzentren eignen sich Hilfe\AuswMamma.htm , Hilfe\Auswmamma_brustzentren.htm bzw. Hilfe\kolorekt_dokumentation.pdf Informationsquellen im Internet Online-Hilfe zum GTDS und spezielle Informationen über www.med.uni-giessen.de/akkk/gtds/grafisch/doku/dokindex.htm erreichbar • Beschreibung des Auswertungs-Datensatzes unter Auswertungssatz.PDF • Kurze Anleitung zur Auswertung unter Auswert.HTM • eher Aufgaben – orientierte Anleitung unter Auswerten.HTM • Für Brust- bzw. Darmzenrten eignen sich AuswMamma.htm, Auswmamma_brustzentren.htmbzw. kolorekt_dokumentation.pdf Tabelle als Grundelement Die Daten des GTDS werden in einer relationalen Datenbank gespeichert. Auswertung bedeutet nichts anderes, als daraus die gewünschten Daten in der gewünschten Form herauszuholen. Grundelement einer relationalen Datenbank ist die Tabelle, z.B. ergibt sich durch folgendes SQL : SQL> l 1 select Pat_ID, Name, Vorname, Geburtsdatum 2 from PATIENT 3 where ...... So eine Tabelle : PAT_ID NAME VORNAME GEBURTSDAT ---------- --------------- ---------- ---------1581 Abrechnungstest Hermine 31.12.1899 1602 Prostata Hans 11.11.1911 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911 Tabelle als Grundelement (II) PATIENT PAT_ID NAME VORNAME GEBURTSDAT ---------- --------------- ---------- ---------1581 Abrechnungstest Hermine 31.12.1899 1602 Prostata Hans 11.11.1911 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911 • Tabelle hat einen bestimmten Namen ( hier PATIENT ) • Spalten haben bestimmte Namen ( hier PAT_ID , NAME usw.) • Spalten haben Datentypen ( vereinfacht : Zahlen , Text oder Datum ) • Anzahl und Typ der Spalten ist für alle Zeilen konstant • Daten stehen in den einzelnen Zeilen (hier sind es 4) Grundlagen SQL (I) nähere Einzelheiten siehe SQLKURS - Skript PATIENT PAT_ID NAME VORNAME GEBURTSDAT ---------- --------------- ---------- ---------1581 Abrechnungstest Hermine 31.12.1899 1602 Prostata Hans 11.11.1911 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911 Wenn die Tabelle PATIENT nur diese vier Zeilen enthält, genügt zur Ausgabe folgendes : select Pat_ID, Name, Vorname, Geburtsdatum from PATIENT ; Grundlagen SQL (II) PATIENT PAT_ID NAME VORNAME GEBURTSDAT ---------- --------------- ---------- ---------1581 Abrechnungstest Hermine 31.12.1899 1602 Prostata Hans 11.11.1911 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911 Auswahl einzelner Spalten in der SELECT - Liste select Name, Vorname, Geburtsdatum from PATIENT ; NAME --------------Abrechnungstest Prostata ........ VORNAME ---------Hermine Hans GEBURTSDAT ---------31.12.1899 11.11.1911 Grundlagen SQL (III) PATIENT PAT_ID NAME VORNAME GEBURTSDAT ---------- --------------- ---------- ---------1581 Abrechnungstest Hermine 31.12.1899 1602 Prostata Hans 11.11.1911 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911 Auswahl einzelner ZEILEN mit der where – Klausel select Pat_ID, Name, Vorname, Geburtsdatum from PATIENT where Name = 'Prostata' ; PAT_ID NAME VORNAME GEBURTSDAT ---------- --------------- ---------- ---------1602 Prostata Hans 11.11.1911 Grundlagen SQL (IV) PATIENT PAT_ID NAME VORNAME GEBURTSDAT ---------- --------------- ---------- ---------1581 Abrechnungstest Hermine 31.12.1899 1602 Prostata Hans 11.11.1911 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911 where – Klausel, mehrere Teile mit AND (oder OR) verbunden select Pat_ID, Name, Vorname, Geburtsdatum from PATIENT where Name = 'B97test' AND Vorname = 'Fritz'; PAT_ID ---------1622 1623 NAME --------------B97test B97test VORNAME ---------Fritz Fritz GEBURTSDAT ---------11.11.1911 11.11.1911 Grundlagen SQL (V) PAT_ID ---------1622 1623 NAME --------------B97test B97test VORNAME ---------Fritz Fritz GEBURTSDAT ---------11.11.1911 11.11.1911 where – Klausel für Zahlen select Pat_ID, Name, Vorname, Geburtsdatum from PATIENT where Pat_ID = 1622 ; Die Spalte Pat_ID ist hier die einzige, welche es erlaubt, über eine where-Klausel eine bestimmte Zeile der beiden "B97test" herauszufinden. Nur mit Name, Vorname und Geburtsdatum wäre der Zugriff nur auf einen von beiden nicht möglich. Sie erfüllt hier die Funktion eines sog. Primärschlüssels Grundlagen SQL (VI) Order by – Klausel ordnet die Daten nach den angegebenen Feldern : select Pat_ID, Name, Vorname, Geburtsdatum from PATIENT order by Name, Vorname ; PAT_ID NAME VORNAME GEBURTSDAT ---------- --------------- ---------- ---------1581 Abrechnungstest Hermine 31.12.1899 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911 1602 Prostata Hans 11.11.1911 Tabellen verbinden (Join) • eine Datenbank besteht gewöhnlich aus zahlreichen Tabellen, bei GTDS z.B. ca. 200 (Liste s. (lokal) bzw. Tabellen.HTM im Internet ) • zwischen diesen Tabellen bestehen Beziehungen, einfaches Beispiel PATIENT TUMOR • die Zuordnung der einzelnen Datensätze erfolgt in einer relationalen Datenbank ausschließlich durch "normale", sichtbare Tabellenspalten, es gibt keine verdeckten "Pointer" usw. Tabellen verbinden (Join) – Beispiel (a) PAT_ID NAME VORNAME GEBURTSDAT ---------- --------------- ---------- ---------1581 Abrechnungstest Hermine 31.12.1899 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911 1602 Prostata Hans 11.11.1911 Zu den bereits bekannten Patienten existiert eine Tabelle mit deren Tumoren : Fk_Patient Pat_ID ---------1581 1581 Tumor ID ----1 2 1602 1 1622 1 Diagnose datum -------28.12.99 01.02.03 ICD10 ---------C50 C18 01.07.97 C61 19.08.96 C61 DIAGNOSETEXT ---------------Mammakarzinom li. Kolonkarzinom Prostatakarzinom Prostatakarzinom Tabellen verbinden (Join) – Beispiel (b) Die Beziehung der Datensätze ist einfach zu sehen, begründet in der jeweils gleichen PAT_ID : PAT_ID NAME VORNAME GEBURTSDAT ---------- --------------- ---------- ---------1581 Abrechnungstest Hermine 31.12.1899 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911 1602 Prostata Hans 11.11.1911 Fk_Patient Pat_ID ---------1581 1581 Tumor ID ----1 2 1602 1 1622 1 Diagnose datum -------28.12.99 01.02.03 ICD10 ---------C50 C18 01.07.97 C61 19.08.96 C61 DIAGNOSETEXT ---------------Mammakarzinom li. Kolonkarzinom Prostatakarzinom Prostatakarzinom Tabellen verbinden (Join) – Beispiel (c) Realisierung in SQL : select PATIENT.Pat_ID, PATIENT.Name, PATIENT.Vorname, TUMOR.Fk_PatientPat_ID, TUMOR.Tumor_ID, TUMOR.Diagnosedatum, TUMOR.ICD10 from PATIENT, TUMOR where PATIENT.Pat_ID = TUMOR.Fk_PatientPat_ID ; PAT_ID -----1581 1581 1602 1622 NAME --------------Abrechnungstest Abrechnungstest Prostata B97test VORNAME ------Hermine Hermine Hans Fritz Fk_Patient Pat_ID ---------1581 1581 1602 1622 Tumor ID ----1 2 1 1 Diagnose datum -------28.12.99 01.02.03 01.07.97 19.08.96 ICD10 --C50 C18 C61 C61 Tabellen verbinden (Join) – Beispiel (d) vereinfachte Version in SQL : der Name der Tabelle muß nur dann vor den Spaltennamen stehen, wenn eine Spalte mit gleichem Namen in beiden Tabellen vorkommt (hier nicht) select Pat_ID, Name, Vorname, Fk_PatientPat_ID, Tumor_ID, Diagnosedatum, ICD10 from PATIENT, TUMOR where Pat_ID = Fk_PatientPat_ID ; PAT_ID -----1581 1581 1602 1622 NAME --------------Abrechnungstest Abrechnungstest Prostata B97test VORNAME ------Hermine Hermine Hans Fritz Fk_Patient Pat_ID ---------1581 1581 1602 1622 Tumor ID ----1 2 1 1 Diagnose datum -------28.12.99 01.02.03 01.07.97 19.08.96 ICD10 --C50 C18 C61 C61 Tabellen verbinden (Join) – Beispiel (e) vereinfachte Version in SQL II: in der from – Klausel kurze Aliasnamen angeben und bei select und where verwenden select P.Pat_ID, P.Name, P.Vorname, T.Fk_PatientPat_ID, T.Tumor_ID, T.Diagnosedatum, T.ICD10 from PATIENT P, TUMOR T where P.Pat_ID = T.Fk_PatientPat_ID ; PAT_ID -----1581 1581 1602 1622 NAME --------------Abrechnungstest Abrechnungstest Prostata B97test VORNAME ------Hermine Hermine Hans Fritz Fk_Patient Pat_ID ---------1581 1581 1602 1622 Tumor ID ----1 2 1 1 Diagnose datum -------28.12.99 01.02.03 01.07.97 19.08.96 ICD10 --C50 C18 C61 C61 Tabellen verbinden (Join) – Beispiel (f) Join in Schreibweise Standard – SQL (bei Oracle ab ca. Version 9 verwendbar) select P.Pat_ID, P.Name, P.Vorname, T.Fk_PatientPat_ID, T.Tumor_ID, T.Diagnosedatum, T.ICD10 from PATIENT P JOIN TUMOR T ON P.Pat_ID = T.Fk_PatientPat_ID ; PAT_ID -----1581 1581 1602 1622 NAME --------------Abrechnungstest Abrechnungstest Prostata B97test VORNAME ------Hermine Hermine Hans Fritz Fk_Patient Pat_ID ---------1581 1581 1602 1622 Tumor ID ----1 2 1 1 Diagnose datum -------28.12.99 01.02.03 01.07.97 19.08.96 ICD10 --C50 C18 C61 C61 Tabellen verbinden – (Outer) Join 1. 2. 3. Die einfache Join-Abfrage verlangt, daß in allen abgefragten Tabellen mindestens eine passende Datenzeile existiert. Dabei werden immer alle Felder aus der SelectListe im Ergebnis gezeigt, auch wenn dadurch Daten mehrfach ausgegeben werden (Beispiel : zweimal Stammdaten von "Hermine Abrechnungstest" ) Sollen auch Daten angezeigt werden, bei denen die erste Bedingung nicht zutrifft, muß ein sog. Outer Join eingesetzt werden. Tabellen verbinden – Beispiel Outer Join "klassische" Oracle – Syntax : hinter der Spalte der Tabelle, für die es evtl. keine Daten gibt, wird (+) gesetzt : select P.Pat_ID, P.Name, P.Vorname, T.Fk_PatientPat_ID, T.Tumor_ID, T.Diagnosedatum, T.ICD10 from PATIENT P, TUMOR T where P.Pat_ID = T.Fk_PatientPat_ID(+) ; PAT_ID -----1581 1581 1602 1622 1623 NAME --------------Abrechnungstest Abrechnungstest Prostata B97test B97test VORNAME ------Hermine Hermine Hans Fritz Fritz Fk_Patient Pat_ID ---------1581 1581 1602 1622 Tumor ID ----1 2 1 1 Diagnose datum -------28.12.99 01.02.03 01.07.97 19.08.96 ICD10 --C50 C18 C61 C61 Tabellen verbinden – Beispiel Outer Join Standard – Syntax (bei Oracle ab ca. Version 9 verwendbar) am Schluß könnte noch eine where-Klausel folgen : select P.Pat_ID, P.Name, P.Vorname, T.Fk_PatientPat_ID, T.Tumor_ID, T.Diagnosedatum, T.ICD10 from PATIENT P LEFT OUTER JOIN TUMOR ON P.Pat_ID = T.Fk_PatientPat_ID ; PAT_ID -----1581 1581 1602 1622 1623 NAME --------------Abrechnungstest Abrechnungstest Prostata B97test B97test VORNAME ------Hermine Hermine Hans Fritz Fritz Fk_Patient Pat_ID ---------1581 1581 1602 1622 Tumor ID ----1 2 1 1 T Diagnose datum -------28.12.99 01.02.03 01.07.97 19.08.96 ICD10 --C50 C18 C61 C61 SQL : EXISTS - Unterabfrage PATIENT PAT_ID NAME VORNAME GEBURTSDAT ---------- --------------- ---------- ---------1581 Abrechnungstest Hermine 31.12.1899 1602 Prostata Hans 11.11.1911 1622 B97test Fritz 11.11.1911 1623 B97test Fritz 11.11.1911 Beispiel : Patienten, für die mindestens ein Tumor dokumentiert ist : select Pat_ID, Name, Vorname, Geburtsdatum from PATIENT P where EXISTS (select 'X' from TUMOR T where T.Fk_PatientPat_ID = P.Pat_ID) Der Vergleich mit vorigen Folien zeigt, daß Patient Nr. 1623 keinen Eintrag in der Tabelle TUMOR hat, er steht nicht mehr im Ergebnis (daher durchgestrichen). SQL : NOT EXISTS PATIENT PAT_ID NAME VORNAME GEBURTSDAT ---------- --------------- ---------- ---------1623 B97test Fritz 11.11.1911 Beispiel : Patienten, für die kein Tumor dokumentiert ist : select Pat_ID, Name, Vorname, Geburtsdatum from PATIENT P where NOT EXISTS (select 'X' from TUMOR T where T.Fk_PatientPat_ID = P.Pat_ID) Der Vergleich mit vorigen Folien zeigt, daß Patient Nr. 1623 keinen Eintrag in der Tabelle TUMOR hat, er steht allein im Ergebnis . View – gespeicherte Abfrage Mit dem Befehl CREATE VIEW wird eine Abfrage quasi fest gespeichert. Die Sicht (View) erhält einen eigenen Namen und kann fast wie eine richtige Tabelle verwendet und abgefragt werden. Die Wichtigkeit von Views ergibt sich dadurch, daß Views in der Auswertung überall verwendet werden (s.u.). Beispiel : View der Patienten und ihrer Tumoren Create View PATIENT_TUMOR as select P.Pat_ID, P.Name, P.Vorname, T.Tumor_ID, T.Diagnosedatum, T.ICD10 from PATIENT P, TUMOR T where P.Pat_ID = T.Fk_PatientPat_ID(+) ; View – gespeicherte Abfrage (II) Die soeben neu erzeugte View kann jetzt in Abfragen wie eine Tabelle behandelt werden : select Pat_ID, Name, Vorname, Tumor_ID, Diagnosedatum, ICD10 from PATIENT_TUMOR ; oder sogar nur select * from PATIENT_TUMOR ; PAT_ID -----1581 1581 1602 1622 1623 NAME --------------Abrechnungstest Abrechnungstest Prostata B97test B97test VORNAME ------Hermine Hermine Hans Fritz Fritz Tumor ID ----1 2 1 1 Diagnose datum -------28.12.99 01.02.03 01.07.97 19.08.96 ICD10 --C50 C18 C61 C61 GTDS – Tabellen in der Diagnosedaten-Maske • • • • • • • • • • TUMOR VORHANDENE_DATEN VORERKRANKUNGEN GKR TNM ANN_ARBOR SONSTIGE_KLASSIFIK LOKALISATION HISTOLOGIE AA_DIAGNOSESICHERUNG • • .... usw. .... für die Texte zu den Schlüsseln (z.B. ICD) sind weitere Tabellen ab- zufragen Spezialdokumentation z.B. für Mamma , Untersuchungen und Vorgesehene Maßnahmen kommen noch extra dazu Schlußfolgerung : Auswertung durch Abfragen auf die Originaltabellen des GTDS ist in den meisten Fällen zu schwierig und fehleranfällig Alles in einem : Auswertungs-Tabelle • Alle Grund-Daten zum Tumor in einer Tabelle, eine Zeile pro TUMOR (nicht pro Patient) • Extrakt – Prinzip – Daten werden jeweils durch ein komplexes Programm zusammengestellt – Aktualität / Datenstand entspricht dem Zeitpunkt, zu dem der Extrakt erstellt wurde, siehe Feld DATUM_DER_AUSWERTUNG , es wird nicht automatisch nachgeführt. – Mehrere Extrakte (im GTDS Auswertungs-Läufe) können nebeneinander existieren, unterschieden durch ihre VORGANG_ID Vorteile der Auswertungstabelle • Stammdaten, betreuende Ärzte usw., Diagnosedaten, wichtige Therapien und Verlaufsdaten in einer Tabelle • Im GTDS einfache Abfrage und Weiterbearbeitung der Daten • bei variabler Anzahl der jeweiligen Dokumente wird die insgesamt vorhandene Anzahl angezeigt (z.B. ANZAHL_HISTOLOGIEN , ANZAHL_OPERATIONEN ) • bei variabler Anzahl wichtiger Dokumente kurze Gesamtzusammenfassung, z.B. ALLE_OPERATIONEN • Felder mit Informationen, die erst bei der Zusammenfassung der Daten berechnet werden, z.B. Letzte Information zum Patienten, Letzter Status Tumor, Datum erstes Rezidiv usw.. Probleme mit der Auswertungstabelle • Anzahl Felder ist begrenzt. Immer fehlt gerade das Feld, welches der Arzt unbedingt braucht. Ausgeklammert bleiben z.B. – Vorgesehene Maßnahmen – Qualitative und Quantitative Befunde • existieren mehr Informationen, als in die Auswertungstabelle passen, muß eine Auswahl getroffen werden. Das beginnt mit Histologie oder TNM, wo die Anwender mit dem Feld für diagnostisch relevant mitbestimmen können. Bei den Therapien (OP / Innere / Bestrahlung) kann aber immer nur eine ausführlich übernommen werden. wichtige Auswertungs-Views (I) AUSWERTUNG_ALLE • Datenschutz - Dient dazu, daß eine Abfrage nur diejenigen Patienten anzeigen kann, die die Benutzerin auch im GTDS (ggf. mit Abteilungswahl) auswählen könnte. • Nur der Eigentümer der Tabelle AUSWERTUNG (bei den echten Daten normalerweise OPS$TUMSYS) darf direkt auf Tabelle AUSWERTUNG und damit alle Daten zugreifen. • Allen anderen GTDS – Benutzerinnen erhalten nur Zugriff auf AUSWERTUNG_ALLE . Um dies transparent zu halten, existiert ein Synonym namens AUSWERTUNG (wie der Name der Tabelle) für AUSWERTUNG_ALLE, welches für alle Benutzerinnen sichtbar ist. wichtige Auswertungs-Views (Ia) AUSWERTUNG_ALLE wird erzeugt mit : CREATE OR REPLACE VIEW Auswertung_Alle AS SELECT * from AUSWERTUNG A WHERE EXISTS( select 'X' from ERTEILT_ZUGRIFF E , ABTEILUNG_PATIENT AP where E.Fk_BenutzerBenutze = User AND E.Fk_AbteilungAbteil =AP.Fk_AbteilungAbteil AND AP.Fk_PatientPat_ID = A.Pat_ID AND (AP.Ende is NULL OR AP.Ende >= a.Datum_der_Auswertung ) ) Das bereits genannte Synonym erzeugt dann : CREATE PUBLIC SYNONYM AUSWERTUNG FOR OPS$TUMSYS.AUSWERTUNG_ALLE ; Dadurch können wieder alle Benutzerinnen auf AUSWERTUNG zugreifen, sehen aber in Wirklichkeit nur AUSWERTUNG_ALLE und damit nur jene Patienten, auf die sie im GTDS Zugriff haben. wichtige Auswertungs-Views (II) AUSWERTUNG_SPSS • Auswertungs-View mit allen Daten aus der Tabelle AUSWERTUNG , jedoch auf ca. 8 Zeichen verkürzten Spaltennamen und Textfeldern mit maximal 254 Zeichen Länge. Damit wird die Datenübergabe besonders an ältere Versionen des Statistik-Paketes SPSS vereinfacht, z.T. sogar erst ermöglicht. Die längeren, meist selbsterklärenden Spaltennamen der AUSWERTUNG gehen damit verloren. AUSWERTUNG_ALLE_SPSS • Eingeschränkt auf für die aktuelle, gewöhnliche Benutzerin zugreifbare Patienten wichtige Auswertungs-Views (IIa) Grundsätzlich gilt für die Namen der Views • Der Namensbestandteil _ALLE zeigt immer an, daß eine Abfrage auf diejenigen P. begrenzt wird, die die Benutzerin auch (ggf. mit Abteilungswahl) auswählen könnte. • Der Namensbestandteil _SPSS zeigt immer an, daß die Spaltennamen der Views unter besonderer Berücksichtigung älterer Versionen des populären Statistikprogrammes SPSS erzeugt wurden. wichtige Auswertungs-Views (III) AUSWERTUNG_PATIDS , AUSWERTUNG_ALLE_PATIDS Der Namensbestandteil _PATIDS zeigt an, daß dieses View für die Ausgabefunktionen, z.B. "Ausgabe in Datei" in der GTDS-Auswertungs-Maske verwendet wird. In der Maske können Sie ja zunächst Daten mit einer Abfrage selektieren. Für die Ausgabefunktion werden dann die Nummern der selektierten Datensõtze in die Übergabetabelle namens PATIDS geschrieben. Diese Tabelle wird auch an anderen Stellen für die Übergabe der Daten an Berichte verwendet. Der jeweilige "Auftrag" wird im Feld PATIDS.Benutzer eindeutig gekennzeichnet. Wählen Sie dann in der Spaltenausgabe ein solches View aus, bedeutet dies, daß Sie auf die gerade vorher selektierten Daten zugreifen. wichtige Auswertungs-Views (IIIa) AUSWERTUNG_PATIDS , AUSWERTUNG_ALLE_PATIDS Beispiel AUSWERTUNG_PATIDS : CREATE OR REPLACE VIEW Auswertung_Patids AS SELECT A.*, P.Benutzer /* wird zur Identifizierung des Auftrages benötigt */ FROM AUSWERTUNG A, PATIDS P WHERE A.Pat_ID = P.Patid AND A.Tumor_ID = P.Tumor_ID AND A.Vorgang_ID = P.Lfdnr ; Ohne vorherige Datenselektion und Beschränkung auf einen bestimmten Wert des Feldes "Benutzer" ist dieses View nicht sinnvoll zu verwenden. Detail-Tabellen (I) AUSWERTUNG_INNERE AUSWERTUNG_OP AUSWERTUNG_STRAHL AUSWERTUNG_MAMMA AUSWERTUNG_KOLOREKT AUSWERTUNG_THERAPIE Abfragen in der Auswertungs-Maske 1. direkt mit Suchmustern ("Query by Example") 2. direkt in der Maske, mit Platzhaltern und "Query where" 3. Abfragen ausprobieren, dann speichern 4. Abfrage-Generator Varianten 3. und 4. nur in der eigentlichen Auswertungs-Maske Abfragen in der Maske 1. Leere Felder suchen mit "# is NULL" 2. mehrere Suchbegriffe werden mit AND verbunden 3. Jokerzeichen "%" ersetzt beliebige Zeichen, "_" genau eines 4. OR oder case – insensitive Abfragen möglich über Platzhalter