SF Application Creator-Anwendungen, die das Feature Ad-hoc-Abfragen haben, erlauben es Endanwendern, mit wenigen Mausklicks innerhalb ihrer Zugriffsrechte nahezu beliebige Abfragen zu erstellen und diese auch noch zur Wiederverwendung unter einem Namen abzulegen. Auf diesen Seiten geben wir Ihnen eine Einführung in Ad-hoc-Abfragen.
Was unterscheidet Ad-hoc-Abfragen in SF-Anwendungen von anderen Abfragewerkzeugen?
Dieser Abschnitt ist für Personen, die schon andere Abfragewerkzeuge verwendet haben. Wenn Sie einfach mit Ad-hoc-Abfragen loslegen möchten, können Sie diesen Abschnitt überspringen; alles Wichtige führen wir in den nachfolgenden Abschnitten auf.
Ad-hoc-Abfragen in Anwendungen, die auf dem SF Application Creator basieren, haben einige einzigartige Eigenschaften, die in bisherigen Abfragewerkzeugen für Datenbanken nicht realisierbar wären:
- Einfachheit: Ad-hoc-Abfragen wurden speziell für die Benutzung durch Endanwender/innen entworfen, die keinerlei Datenbankkenntnisse haben müssen. Sie müssen sich z. B. nicht mit kryptischen Befehlen oder Bezeichnungen befassen, sondern bekommen die Dateien und Felder in freundlichen Namen (mit Umlauten und Sonderzeichen, z. B. "Betrag/€") angeboten. Wenn Sie Selektionskriterien eingeben, erscheinen je nach dem gewählten Feld automatisch die gleichen Eingabefelder wie in den normalen Bildschirmmasken.
- Mächtigkeit: Wenn Sie es benötigen, können Sie mit Ad-hoc-Abfragen komplexe Anfragen an die Datenbank stellen, die Endanwender mit anderen Abfragewerkzeugen kaum erstellen könnten, denn die Ad-hoc-Abfragen merken auf intelligente Art und Weise, was Sie meinen. Sie wählen einige einfache Optionen - die zur Beantwortung Ihrer Abfrage notwendigen komplexen Datenbankanweisungen werden völlig unbemerkt im Hintergrund erzeugt. Sogar Statistikfunktionen sind integriert: Ein Mausklick, und Sie bekommen Anzahlen, kleinste und größte Werte, Mittelwerte u. a. vollautomatisch berechnet.
- Wiederverwendbarkeit: Sie können Abfragen ganz einfach zur Wiederverwendung speichern, zur Erstellung ähnlicher Abfragen duplizieren und für die Benutzung durch andere Anwender freigeben.
- Sicherheit: Nicht nur die Abfragen selbst sind gegen unbefugte Änderungen geschützt, sondern natürlich auch die gespeicherten Daten. Die in der jeweiligen Anwendung definierten Zugriffsrechte bis hinunter zu einzelnen Datensätzen (!) wirken auch in den Ad-hoc-Abfragen. Jeder bekommt auch mit Ad-hoc-Abfragen nur diejenigen Dateien und Datensätze zu Gesicht, die er sehen darf, selbst wenn er eine Abfrage verwendet, die von jemand anderem erstellt und für die allgemeine Benutzung freigegeben wurde.
- Integration in die jeweilige Datenbank: Ad-hoc-Abfragen kennen die Struktur Ihrer Anwendung bis ins Detail. Sie müssen nichts über Ihre Datenbank auswendig wissen, sondern bekommen alles, auch die Beziehungen zwischen verschiedenen Dateien darin, auf einfachste und natürlichste Art und Weise angeboten.
- Integration in die jeweilige Anwendung: Wenn Sie in einer Abfrage Felder ausgeben lassen, die auf Datensätze verweisen, werden automatisch intelligent Bezeichnungen für die Feldinhalte ausgegeben, die den jeweiligen Datensatz in einer für Endanwender lesbaren eindeutigen Form darstellen. Auch eine Sortierung nach einem solchen Feld sortiert intelligent nach den richtigen Feldern der jeweiligen Datei. Wenn Sie auf einen so gefundenen Datensatz doppelklicken, öffnet sich sogar automatisch das für diesen Datensatz passende Eingabeformular.
Kein anderes uns je bekannt gewordenes Abfragetool kann Ihnen das bieten. Endanwender benutzen Ad-hoc-Abfragen einfach, während Softwareentwickler staunen, wie intelligent Ad-hoc-Abfragen funktionieren.
Wie rufe ich Ad-hoc-Abfragen auf?
Sie finden die Ad-hoc-Abfragen unter Datei, Alle Dateien, Ad-hoc-Abfragen, am entsprechenden Ort in der Übersichtsleiste und je nach Anwendung auch im Aufgabenblatt. Ein Fenster wie das folgende erscheint (hier am Beispiel von SF Projekte):
Je nach Ihren Zugriffsrechten können Sie Abfragen wie jeden anderen Datensatz auch anlegen, speichern und wieder aufrufen. Die Schaltfläche Abfrage bearbeiten... führt Sie zum Abfrage-Editor, mit dem Sie die gewünschte Abfrage gestalten und natürlich auch die Ergebnisse abrufen können.
So führen Sie eine vorbereitete Abfrage aus
Sie können ihre eigenen oder auch von Anderen erstellte, freigegebene Abfragen leicht ausführen. Gehen Sie dazu so vor:
- Markieren Sie die gewünschte Abfrage.
- Wählen Sie Abfrage ausführen...
Die Abfrage wird in einem eigenen Fenster wie z. B. diesem ausgeführt:
Folgende Punkte sind vielleicht hilfreich:
- Dieses Fenster können Sie neben anderen Fenstern der Anwendung geöffnet lassen.
- Es merkt sich Position und Größe (es sei denn, Sie schließen es bei deaktiviertem Befehl Fenster/Layout merken).
- Sie können die Abfrage jederzeit durch die Schaltfläche Aktualisieren, den Menübefehl Ansicht/Aktualisieren oder die Taste F9 nochmal ausführen lassen.
- Sie können die markierten Inhalte mit der Schaltfläche Kopieren, dem Menübefehl Bearbeiten/Kopieren oder dem Drücken von Strg+C in die Zwischenablage kopieren.
- Wenn in der Abfrage Felder verwendet wurden, die auf Datensätze verweisen (z. B. das bei jeder Datei vorhandene Feld ID oder ein Feld, welches auf eine andere Datei verweist - im Bildschirmfoto z. B. das Feld Grundstück), können Sie den betreffenden Datensatz ganz leicht in seinem normalen Fenster öffnen. Markieren Sie einfach die gewünschte Zelle im Abfrageergebnis und klicken Sie rechts oben auf die Schaltfläche mit den drei Pünktchen, oder doppelklicken Sie einfach in die gewünschte Zelle.
- Sie können das Abfrage-Ausführungsfenster offen lassen, den Abfrageentwurf ändern und erneut ausführen. Dadurch wird das Ausführungsfenster erneut geöffnet (schieben Sie es beiseite, um das darunterliegende erste Fenster zu sehen). Beide Fenster haben dann immer noch die Ergebnisse der letzten Ausführung.
- Falls die Abfrage sehr viele aufwändig zu formatierende Datensätze als Ergebnis liefert, erscheint rechts unten eine Schaltfläche mit einem Kreuz, mit der Sie die Abfrage abbrechen können. Die bereits formatierten Datensätze sehen Sie dann trotzdem.
So können Sie die Ergebnisse weiterverarbeiten
Wenn Sie die Abfrage ausgeführt haben, können Sie
- die Spaltenbreiten durch Ziehen an den Trennlinien zwischen den Spaltenüberschriften einstellen oder durch Doppelklick die gerade passende Spaltenbreite einstellen (diese Änderung wird nicht für die nächste Ausführung gespeichert),
- die Reihenfolge der Spalten durch Ziehen der Spaltenüberschriften ändern (diese Änderung wird nicht für die nächste Ausführung gespeichert),
- die gerade markierten Zellen bzw. die gesamte Ergebnistabelle mit der Schaltfläche Kopieren in die Zwischenablage kopieren, um sie z. B. mit einem Tabellenkalkulationsprogramm weiter zu verarbeiten oder Diagramme daraus zu erzeugen.
So können Sie statistische Berechnungen anstellen
Wenn Sie die Abfrage bei aktiviertem Feld mit Statistik ausführen, erscheinen zusätzlich je nach den Feldtypen weitere Zeilen mit folgendem Inhalt am Ende der Liste:
Anzahl |
Die Anzahl der Datensätze, bei denen das betreffende Feld ausgefüllt (nicht leer) war. Das kann also weniger als die Gesamtanzahl der Datensätze sein. |
Minimum, Maximum |
Von Zahlen-, Datums- und Uhrzeitfeldern der kleinste bzw. größte vorgekommene Wert. |
Summe |
Bei Zahlenfeldern die Summe der Werte. |
Mittelwert |
Der arithmetische Mittelwert der Werte (die Summe geteilt durch die Anzahl ausgefüllter Felder). |
Standardabweichung |
Ein Maß dafür, wie stark die Werte um ihren Mittelwert schwanken, in derselben Einheit wie das Feld selbst. Mit anderen Worten, ein Maß dafür, wie aussagekräftig der Mittelwert ist. |
Streuung |
Wie die Standardabweichung, aber prozentual (nämlich die Standardabweichung dividiert durch den Mittelwert). Auch dies ist ein Maß dafür, wie sehr die Werte um den Mittelwert streuen. Größere Werte bedeuten, dass die Werte stark vom Mittelwert abweichen, kleinere Werte bedeuten, dass alle Werte in der Nähe des Mittelwerts liegen. |
Später in diesem Artikel erfahren Sie, wie Sie Anzahlen, Summen und Mittelwerte auch für Gruppen von Datensätzen anstatt nur über alle Datensätze ausgeben können.
So legen Sie eine einfache Abfrage an
Am Beispiel von SF Buchungsplan und Budgetierung 3 erstellen wir eine einfache Abfrage, die Daten aus einer einzelnen Datei, gefiltert nach einem bestimmten Kriterium, ausliest:
- Öffnen Sie das Fenster Ad-hoc-Abfragen.
- Klicken Sie auf Neu, um eine neue Abfrage zu erstellen.
- Geben Sie eine Bezeichnung und optional eine ausführlichere Beschreibung ein.
- Klicken Sie auf Abfrage bearbeiten... Sie werden ein Fenster wie das folgende sehen:
Sie müssen nun so vorgehen:
- Wählen Sie eine Startdatei, mit der Sie beginnen möchten. Falls die gewünschte Datei nicht im Feld Startdatei aufgeführt ist, schalten Sie das Feld nur Hauptdateien ab, um alle Dateien der Datenbank zu sehen (standardmäßig werden nur die wichtigsten Dateien angeboten).
- Klicken Sie auf den daraufhin erscheinenden Dateinamen im darunterliegenden großen Feld, um die Felder der Datei im Feld Felder aufzulisten.
- Klicken Sie auf Feldnamen,
- die Sie ausgeben lassen möchten (aktivieren Sie dazu das Feld ausgeben rechts oder doppelklicken Sie einfach auf den Feldnamen),
- nach denen Sie sortieren möchten (wählen Sie rechts die gewünschte Sortierung),
- an die Sie Bedingungen stellen möchten, um nur bestimmte Datensätze auszugeben. Verwalten Sie die Bedingungen mit den Schaltflächen Hinzufügen und (nach Markieren einer Bedingung) Entfernen. Durch die Auswahl zwischen alle erfüllen ("und") und eine erfüllen ("oder") können Sie wählen, ob die evtl. mehreren Bedingungen, die Sie an das Feld gestellt haben, alle erfüllt sein müssen, oder ob nur mindestens eine erfüllt sein muss, um den Datensatz auszugeben.
Wir wollen hier eine einfache Abfrage erstellen, die uns in SF Buchungsplan und Budgetierung 3 Haushaltsstellen auflistet, die keinen Bewirtschafter haben. Dazu würden Sie so vorgehen:
- Wählen Sie die Startdatei Haushaltsstelle.
- Markieren Sie diese im Feld darunter. Die Feldliste erscheint.
- Klicken Sie auf den Feldnamen ID und aktivieren Sie ausgeben (oder doppelklicken Sie einfach auf ID). Die ID eines Datensatzes ergibt ein Feld, welches den Datensatz eindeutig identifiziert. In diesem Fall ist das die komplette Haushaltsstellennummer.
- Klicken Sie auf den Feldnamen Bewirtschafter (nach dem soll gefiltert werden).
- Klicken Sie auf Hinzufügen und dann auf Test auf Gleichheit, um eine neue Bedingung für dieses Feld anzugeben. Tatsächlich ist jetzt schon die Bedingung Bewirtschafter ist leer eingetragen.
- Klicken Sie auf Ausführen, um die Ergebnisse der Abfrage zu sehen.
So könnte das etwa aussehen:
Alternativ können Sie zum Beispiel
- die Bedingung umkehren, um diejenigen Haushaltsstellen zu sehen, deren Feld Bewirtschafter ausgefüllt (und eben nicht leer) ist,
- ein Kriterium (hier also einen bestimmten Bewirtschafter) wählen oder eingeben, um nur Haushaltsstellen mit genau diesem Bewirtschafter oder (bei umgekehrter Bedingung) anderen als diesem Bewirtschafter zu sehen.
Je nachdem, was für ein Feld Sie gewählt haben, stehen Ihnen folgende Bedingungsarten zur Verfügung:
Test auf Gleichheit |
Prüfung ob ein Feld (nicht) leer ist, oder ob es einen bestimmten bzw. einen anderen als den eingegebenen Inhalt hat. |
- Bewirtschafter ist leer
- PLZ = 76275
- Betrag nicht = 0,00
|
Mustervergleich |
Vergleich eines Textfeldes mit einem Muster unter Verwendung der Platzhalter ? (steht für ein einzelnes beliebiges Zeichen) und * (steht für beliebig viele beliebige Zeichen) |
- Bezeichnung wie 'A*'
- Bezeichnung nicht wie '*karton*'
|
Test auf von/bis-Bereich |
Prüfung, ob ein Zahlen-, Datums- oder Uhrzeitfeld (nicht) in einem bestimmten Bereich liegt (Sie können von und bis beide ausfüllen oder eines davon frei lassen). |
- PLZ zwischen 76000 und 76999
- Betrag >= 1,00
- Temperatur <= 25
- Betrag nicht >= 100,00
|
So speichern Sie Ihre Abfrage
Gehen Sie so vor:
- Klicken Sie OK. Sie gelangen zurück zum Fenster Ad-hoc-Abfragen.
- Speichern Sie den Datensatz mit der Abfrage wie gewohnt durch Klick auf die Leiste am linken Fensterrand.
Beachten Sie folgende wichtige Hinweise:
- Klicken Sie im Fenster Ad-hoc-Abfragen auf Neu, bevor Sie eine neue Abfrage erstellen, um nicht etwa eine vorhandene Abfrage versehentlich zu überschreiben.
- Wenn Sie im Abfrageeditor auf Abbrechen klicken, gehen Ihre Änderungen verloren.
So erzeugen Sie eine Abfrage über mehrere Dateien
Sie können mit Ad-hoc-Abfragen auch komplexere Fragen stellen, die über mehrere Dateien gehen. Auch das geht einfach, weil Sie die in betreffenden Dateien bei der Liste der Dateien links durch Klick auf die "+"-Schaltfläche direkt angeboten bekommen.
Am Beispiel der folgenden Abfrage in SF Fundus soll das demonstriert werden. Gesucht werden
- alle Grundstücke alphabetisch sortiert,
- die ein Gebäude mit einer Nutzungseinheit Pfarrhaus oder Pfarrwohnung haben (das soll ebenfalls ausgegeben werden),
- die zwischen 2003 und 2005 eine Bezirksbereisung hatten.
Das würde so aussehen:
Wir lassen von der Datei Gebäude das Feld Grundstück aufsteigend sortiert ausgeben:
Von den Nutzungseinheiten des Gebäudes lassen wir das Feld Gebäudeart ebenfalls aufsteigend sortiert ausgeben und stellen dort außerdem zwei Bedingungen: Gebäudeart = Pfarrhaus oder Gebäudeart = Pfarrwohnung. Beachten Sie die Wahl von eine erfüllen ("oder") für diese Abfrage, da ja eine Nutzungseinheit nicht gleichzeitig beide Gebäudearten haben kann:
Ähnlich wie das und/oder-Feld rechts für ein einzelnes Feld wirkt, wirkt das entsprechende Feld in der Mitte unterhalb der Feldliste auf die verschiedenen Felder einer Datei: Wählen Sie dort alle Feldbedingungen erfüllen ("und"), damit die Bedingungen aller Felder der gewählten Datei gleichzeitig erfüllt sein müssen, oder eine Feldbedingung erfüllen ("oder"), damit es genügt, wenn die Bedingungen an eines der Felder erfüllt sind.
Weiter im Beispiel: Schließlich verlangen wir noch, dass eine Bezirksbereisung mit einem Jahr zwischen 2003 und 2005 stattgefunden hat. Beachten Sie, dass wir dieses Feld nicht ausgeben lassen (sonst würden die Gebäude/Nutzungseinheiten auch mehrfach aufgeführt, wenn in mehreren dieser Jahre Bezirksbereisungen stattfanden):
So können Sie Duplikate in der Ausgabe vermeiden
Manchmal möchten Sie gar nicht alle Datensätze einzeln sehen, sondern vermeiden, dass dieselben Informationen mehrfach ausgegeben werden. Zum Beispiel:
- Sie möchten in SF Buchungsplan und Budgetierung sehen, welche Bewirtschafternummern tatsächlich Haushaltsstellen zugeordnet sind. Wenn aber eine Bewirtschafternummer mehreren Haushaltsstellen zugeordnet ist, möchten Sie sie trotzdem nur ein Mal ausgeben.
- Sie möchten in SF Fundus alle Gebäude sehen, die eine Nutzungseinheit einer der Gebäudearten Pfarrhaus oder Pfarrwohnung haben. Wenn aber ein und dasselbe Gebäude von jeder Gebäudeart eine Nutzungseinheit hat, möchten Sie das Gebäude dennoch nur ein Mal sehen.
Dazu dient das Ankreuzfeld Duplikate unterdrücken auf der linken Seite unterhalb der Dateiliste. Um die Beispiele zu realisieren, würden Sie folgende Abfragen bei aktiviertem Feld Duplikate unterdrücken ausführen:
- In SF Buchungsplan und Budgetierung würden Sie von der Datei Haushaltsstelle nur das Feld Bewirtschafter ausgeben und an dieses die Bedingung Bewirtschafter ist nicht leer stellen.
- In SF Fundus würden Sie von der Datei Nutzungseinheit das Feld Gebäude ausgeben und ans Feld Gebäudeart die Bedingungen Gebäudeart = Pfarrhaus und Gebäudeart = Pfarrwohnung bei gewähltem Eintrag eine erfüllen ("oder") stellen. Das Feld Gebäudeart geben Sie aber nicht aus, nur das Gebäude.
Auch zu anderen Gelegenheiten, etwa wenn Sie Felder einer Datei ausgeben lassen und an eine Unterdatei, die zur gewählten Datei mehrfache Einträge haben kann, nur Bedingungen stellen, aber keine Felder ausgeben. Zum Beispiel kann ein Gebäude in SF Fundus mehrere Nutzungseinheiten und ein Schreibauftrag in der SF Schreibdienstverwaltung aus mehreren Dokumente bestehen. Um zu vermeiden, dass dann pro Unterdatensatz der Hauptdatensatz mehrfach ausgegeben wird, aktivieren Sie einfach das Feld Duplikate unterdrücken.
So geben Sie gruppierte Anzahlen, Summen oder Mittelwerte aus
Die Option mit Statistik bei der Ausführung bietet Ihnen eine einfache Möglichkeit, alle ausgegebenen Feldinhalte zu zählen, summieren u.a. (siehe oben). Sie können aber auch in Gruppen zählen, summieren und Mittelwerte bilden. Damit lassen sich Fragestellungen wie die folgenden beantworten:
- Wie viele Kirchen gibt es je Kassengemeinschaft in SF Fundus?
- Wie lautet die Summe aller Personalkosten je Jahr in SF Buchungsplan und Budgetierung?
- Welcher Sachbearbeiter ist für wie viele Schreibaufträge in der SF Schreibdienstverwaltung zuständig?
- Welche Maschinen wurden im letzten Jahr wie oft in Kalkulationen von SF mabox verwendet?
- Wieviele privat-Kilometer wurden je Jahr von den Reisenden in SF Reisekosten und Ressourcen durchschnittlich gefahren? Wie entwickelt sich diese Summe über die Jahre?
Immer wenn Sie Datensätze in Gruppen zählen oder Felder addieren oder Mittelwerte bilden müssen, gehen Sie prinzipiell so vor:
- Sie lassen alle Felder, die die Gruppen kennzeichnen sollen, wie gewohnt ausgeben.
- Sie lassen die zu zählenden oder zu summierenden Felder ausgeben, wählen aber im rechten oberen Feld anstatt des Standardeintrags Feldinhalt je nach Wunsch eine der Optionen Anzahl, Summe, oder Mittelwert.
Das ist tatsächlich schon alles, was Sie tun müssen. Am Beispiel der Anzahl der Kirchen je Kassengemeinschaft in SF Fundus sei das ausführlicher beschrieben. Zunächst lassen Sie von der Datei Rechtsträger das Feld Kassengemeinschaft aufsteigend sortiert ausgeben:
Dann lassen Sie über Kirchengemeinde, Pfarrgemeinde und Gebäude hinweg von der Datei Nutzungseinheit nur die Anzahl, nicht den Feldinhalt, der Gebäudeart ausgeben (oder eines beliebigen anderen Feldes, welches immer einen Wert enthält - sonst würden Sie zählen, wie bei wie vielen Datensätzen das jeweilige Feld tatsächlich ausgefüllt ist). Außerdem filtern Sie nach Gebäudeart = Kirche:
Bei numerischen Feldern können Sie außer Anzahl auch Summe oder Mittelwert ausgeben lassen.
Natürlich können Sie auch komplexere Gruppen, etwa je Kassengemeinschaft und Baujahr, bilden lassen. Sie können auch Anzahlen, Summen und Mittelwerte von mehreren Feldern ausgeben lassen.
Wie Sie sehen, können Sie mit den Ad-hoc-Abfragen heute eine Vielzahl von Fragen beantworten, von denen Sie gestern noch gar nicht wussten, dass sie sich stellen. Innerhalb Ihrer Zugriffsrechte steht Ihnen so die gesamte Datenbank auf Mausklick Rede und Antwort.