Home / LinuxUser / 2002 / 03 / Datenbanken mit Rekall

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Daten-Organisierer

Datenbanken mit Rekall

Eingabemasken

Eine Eingabemaske, auch Form genannt, stellt die Daten einer oder mehrerer Tabellen übersichtlich dar, wobei immer nur ein Datensatz zur Zeit angezeigt wird. Man erstellt sie über den Karteireiter Forms im Hauptfenster, markiert den entsprechenden Server und klickt doppelt auf Create new form.

Zum Festlegen der Eigenschaften eines Formulars und seiner Elemente dienen Dialoge, die alle den gleichen, tabellarischen Aufbau haben. Links stehen die Eigenschaften (etwa Höhe und Breite des Forms oder die zugrundeliegende Tabelle), rechts die Werte. Um einen Eintrag zu bearbeiten, doppelklicken Sie die gewünschte Eigenschaft und editieren daraufhin den zugehörigen Wert.

Der erste Dialog bittet Sie, die Eigenschaften der Maske festzulegen. Die beiden wichtigsten Optionen sind Form caption, die Titelzeile des Forms, und Top-level block type: Hier bestimmen Sie, ob der Maske eine Tabelle (table), eine Abfrage (query) oder ein Menü (null) zugrunde liegt. Den Top-Level-Typ Menü wählen Sie, wenn Sie ein Formular erstellen, das ausschließlich Buttons zum Öffnen von anderen Formularen enthält. Entscheiden Sie sich für eine Tabelle, um den Inhalt der Tabelle artikel darzustellen (Abbildung 5). Ein Klick auf OK schließt das Fenster und macht Platz für den Query-Dialog, in dem Sie die Datenquelle für das Formular wählen.

Abbildung 5: Formulareigenschaften

Die wichtigsten Angaben sind hier Server name (für das Beispiel der Artikeldatenbank wählen Sie zeitschriften) und Table name, im Beispiel artikel. Das Feld Unique key wird automatisch mit dem Primärschlüssel der Tabelle gefüllt (Abbildung 6).

Abbildung 6: Datenquelle für das Formular festlegen

Nun fehlen noch Angaben zum Aussehen des Forms, die Sie im Block-Dialog eingeben: Höhe (Height), Breite (Width) und die Hintergrundfarbe (Background colour).

Endlich haben wir es in den Formulardesigner geschafft, mit dessen Hilfe Sie das Darstellungsfenster für die Daten gestalten. Die einzelnen Formularteile, Textfelder, Bezeichnungsfelder und Auswahllisten platzieren und bearbeiten Sie mit der Maus. Die Ecken eines markierten Feldes kennzeichnet Rekall blau (Abbildung 7).

Abbildung 7: Der Formulardesigner…

Neue Textfelder erstellen Sie, indem Sie mit der rechten Maustaste auf den Hintergrund des Formulars klicken und New / Field aus dem Kontextmenü wählen. Sofort erscheint ein Dialog, in dem Sie das Aussehen des Eingabefeldes bestimmen. Am wichtigsten ist hier die Option Control name: Damit wählen Sie das Feld der Tabelle aus, das angezeigt werden soll. Die Eigenschaft Display Expression bestimmt, welcher Feldinhalt ausgegeben werden soll. Wenn Sie den Dialog mit OK schließen, erscheint das Textfeld auf der Arbeitsfläche des Dialogeditors. Die Größe des Feldes lässt sich auch nachträglich durch Ziehen an den blauen Quadraten an den Ecken des Textfeldes verändern. Sie erleichtern sich das Positionieren der einzelnen Elemente, wenn Sie die Form-Elemente am Raster ausrichten. Dazu klicken Sie auf das Symbol mit dem Raster und dem roten Häkchen in der Werkzeugleiste.

Nach und nach fügen Sie nun Textfelder für die Datenfelder und Auswahllisten für die Daten aus verknüpften Tabellen in das Formular ein. Die Beschriftung der Felder erfolgt mit Labels, die Sie über das Kontextmenü mit dem Befehl New / Label einfügen. Zum Speichern Ihrer Arbeit dient der Menüpunkt File / Save Document, während View / Data view in die Datenansicht umschaltet, die das Formular so anzeigt, wie Sie es später benutzen werden (Abbildung 8).

Abbildung 8: … und das fertige Formular

Mit Hilfe der Schaltflächen in der Werkzeugleiste können Sie sich nun von Datensatz zu Datensatz hangeln (Abbildung 9). Um auch ohne deren Hilfe in der Datenbank blättern zu können, ergänzen wir das Formular um Navigationsbuttons.

Abbildung 9: Werkzeugleiste für Formulare

Zu diesem Zweck klicken Sie mit der rechten Maustaste auf den Hintergrund des Formulars und wählen New / Button aus dem Kontextmenü. Im Button-Dialog geben Sie den Namen des Knopfs, den Control Name, ein. Rekall kennt vier vordefinierte Namen: First, um zum ersten Datensatz zu gehen, Last, um zum letzten Datensatz zu gelangen und Next bzw. Previous, um einen Datensatz weiter bzw. zurück zu kommen. Das Feld Button text nimmt die Beschriftung des Knopfes auf, z. B. > für einen Next-Button. Schließlich geben Sie ins Feld On Click das Wort #Click ein. Dadurch erreichen Sie, dass das Programm auf einen Mausklick reagiert und eine eingebaute (oder selbstprogrammierte) Python-Funktion aufruft. Die fertigen Navigationsbuttons zeigt Abbildung 10.

Abbildung 10: Navigationsbuttons

Ähnliche Knöpfe lassen sich auch für andere Zwecke verwenden. So können Sie ein Formular entwerfen, das Buttons zum Aufrufen der verschiedenen Formulare des Projekts enthält (Abbildung 11). Im Unterschied zu den Navigationsbuttons enthalten sie als Control Name den Namen des jeweils aufzurufenden Forms und als "On Click"-Ereignis #GoForm. Die Buttons neben den Auswahllisten im Form artikeldaten entstanden auf die gleiche Weise und rufen Formulare auf, in denen der Inhalt der verknüpften Tabellen verändert werden kann.

Abbildung 11: Ein Auswahlmenü

Abfragen und ausgeben

Was wäre eine Datenbank ohne Abfragen? Diese dienen dazu, bestimmte Datensätze, die einem oder mehreren Kriterien entsprechen, aus der Datenbank zu ziehen und darzustellen. Rekall verwendet intern SQL-Abfragen, die Sie nicht zu Gesicht bekommen. Sie können eigene Abfragen grafisch mit Hilfe des Abfrageeditors definieren. Einen ersten Eindruck vermittelt Abbildung 12. Sie sehen die Tabellen der Beispieldatenbank, deren Verknüpfungen durch Linien dargestellt sind.

Abbildung 12: Der Abfragedesigner

Die Ausgabe der Daten auf dem Drucker erfolgt mit Hilfe von Berichten, Reports. Ihre Erstellung gleicht der von Formularen, nur dass in den Feldern eines Berichts keine Datenänderung mehr möglich ist. Sie wählen dazu im Rekall-Hauptfenster den Karteireiter Reports, suchen die Tabelle von dem Server aus, der die passenden Datensätze enthält, und doppelklicken auf create new report.

Rekall erstellt ein leeres Berichtsfenster, das einem Formular sehr ähnelt – mit einem wesentlichen Unterschied: Dünne schwarze Linien teilen den Arbeitsbereich in einen oberen, mittleren und unteren Teil. Kopf- und Fußbereich werden als Kopf- und Fußzeile auf jeder Druckseite ausgegeben; der Berichtsrumpf enthält in der Designansicht den Datensatz.

Als Berichtersteller platzieren Sie also (fast) alle datenausgebenden Elemente im Mittelteil. Felder und Links fügen Sie genauso ein wie im Formulardesigner. Achten Sie darauf, vor und nach den Ausgabeelementen nicht zuviel Platz im Berichtsrumpf zu lassen, das verschwendet nur Platz auf der Druckseite.

Abbildung 13: Ein fertiger Bericht

Das Aussehen des fertigen Berichts prüfen Sie mit dem Menüpunkt View / Preview: Als Vorschauprogramm dient KGhostscript (Abbildung 14).

Abbildung 14: Ein Report in der Druckvorschau

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...