Zum Artikel
< >

Aktives GUI-Element

Statisches GUI-Element

Quelltext

WPS-Objekt

Datei/Pfad

Befehlszeile

Inhalt Eingabefeld

[Tastenkombination]

mehr

Erstellung einer Datenbank mit Lotus Smartsuite

von Arthur van Egmond, © April 2006

Arthur van Egmond lebt in den Niederlanden. Er ist verheiratet, hat aber bis jetzt noch keine Kinder. Er arbeitet für den Staat im Amt für Soziale Sicherheit und seine Haupttätigkeit ist es die Client-Computer am Laufen zu halten. Seine ersten Erfahrungen mit OS/2 machte er schon mit der Version 2.1. Seitdem hat er bis zur aktuellen Version eCS 1.2 aufgerüstet. Er hat fast alle Versionen in seinem Besitz oder zumindest gesehen.

Willkommen zurück auf unserer Reise zur Erstellung einer Datenbank mit Lotus Smartsuite. Wenn Sie Ihre Hausaufgaben gemacht haben, liegen Ihnen nun drei Datenbanken vor: Genre, Dvdextra und Dvdformat. In dieser Ausgabe erstellen wir die Datenbank Contacts.

Wie schon zuvor angesprochen, dient diese Datenbank zum Speichern von Kontaktinformationen. Mit Hilfe dieser Informationen läßt sich dann in der Datenbank Movies der Verbleib der Filme nachvollziehen.

Legen Sie eine neue Datenbank mit Namen Contacts an, und fügen Sie die Datenbank folgende Felder hinzu:

Tab. 1: Felddefinitionen für die  Datenbank Contacts
Feld Typ Länge Optionen
Firstname text 15 -
Middlename text 30 -
Nameaffix text 10 -
Familyname text 30 -
Streetname text 50 -
Housenumber text 05 -
Zipcode text 10 -
City text 30 -
State text 05 -
Land text 30 -
Dateofbirth datum fest -
Telephonenumber text 15 -
Celphonenumber text 15 -
Faxnumber text 15 -
Emailadress1 text 30 -
Emailadress2 text 30 -
Homepage text 30 -
Picture pictureplus fest OLE deaktivieren
Combined text 70 -
ContactID numerisch 10 Autom. Seriennummer-Eingabe - eindeutig - ausgefüllt.

Die meisten Feldnamen sind selbsterklärend. Im Feld Middlename werden alle außer dem ersten Vornamen gespeichert. Hier lassen sich auch Initialien verwenden. In das Feld Nameaffix geben wir Namensteile wie van, van de usw. ein. Die meisten Felder sind als Text ausgelegt, da beispielsweise eine Hausnummer auch "1A" lauten kann. Verwendete man hier numerisch, könnte das A nicht eingegeben werden.

Das Feld Combined ist das komplizierteste in dieser Datenbank. Wählen Sie unter der Indexzunge Vorgabewert Erstellungsformel. Drücken Sie Formel.
Unter Funktionen doppelklicken Sie auf Verknüpfen, und unter Felder auf Firstname, Nameaffix und Familyname. Wie Sie sehen, ist die Funktion noch nicht vollständig. Die Schaltfläche OK ist inaktiv und die Flagge mit einem roten Kreuz versehen. Nach Firstname und Nameaffix muß jeweils Chr(32); hinzugefügt werden, so daß der gesamte Eintrag folgendermaßen lautet:

Verknüpfen(Firstname; Chr(32); Nameaffix; Chr(32); Familyname)

Nun kann OK gedrückt und die Formel fertiggestellt werden.

Sind sämtliche Felder hinzugefügt, kann der Hintergrund auf die Standardfarbe eingestellt werden. Erstellen Sie die Überschrift und die Menüleiste. Außerdem können Sie die Stile für die Schaltflächen und deren Text erstellen. Einige der Felder werden Sie verschieben müssen, um für die Überschrift und die Menüleiste Platz zu schaffen. Wählen Sie alle Felder aus, um die Schriftart- und Schriftfarbstile für Text und Label gleichzeitig anpassen zu können. Ordnen wir nun die Felder an:

Tab. 2: Darstellungsparameter für Felder
Feld Position Anzeigetyp
Firstname W.5cm H.1cm T.3cm L.7cm text Anfangsbuchstabe groß
Middlename W.5cm H.1cm T.3cm L.12,5cm text Anfangsbuchstabe groß
Nameaffix W.2,5cm H.1cm T.4,25cm L.7cm text nur Kleinbuchstaben
Familyname W.5cm H.1cm T.4,25cm L.12,5cm text Anfangsbuchstabe groß
Streetname W.5cm H.1cm T.5,5cm L.7cm text Anfangsbuchstabe groß
Housenumber W.2,5cm H.1cm T.5,5cm L.12,5cm Anzeige wie eingegeben
Zipcode W.2,5cm H.1cm T.6,75cm L.7cm Anzeige wie eingegeben
City W.5cm H.1cm T.6,75cm L.12,5cm text Anfangsbuchstabe groß
State W.2,5cm H.1cm T.8cm L.7cm text NUR GROSSBUCHSTABEN
Land W.5cm H.1cm T.8cm L.12,5cm text Anfangsbuchstabe groß
Dateofbirth W.2,5cm H.1cm T.9,25cm L.4cm TT-MM-JJJJ*
Telephonenumber W.5cm H.1cm T.9,25cm L.7cm numerisch Telefon**
Celphonenumber W.5cm H.1cm T.9,25cm L.12,5cm numerisch Telefon**
Faxnumber W.5cm H.1cm T.10,5cm L.7cm numerisch Telefon**
Emailadress1 W.5cm H.1cm T.11,75cm L.7cm text nur Kleinbuchstaben
Emailadress2 W.5cm H.1cm T.11,75cm L.12,5cm text nur Kleinbuchstaben
Homepage W.5cm H.1cm T.10,5cm L.12,5cm text nur Kleinbuchstaben
Picture W.2,3cm H.3cm T.3,5cm L.4cm ***
Combined W.10,5cm H.1cm T.13cm L.7cm Anzeige wie eingegeben
ContactID W.2,5cm H.1cm T.8cm L.4cm Anzeige wie eingegeben

* Wählen Sie das TT/MM/JJ aus und ändern Sie es in TT-MM-JJJJ um.
** Wählen Sie Alphanumerisch zulassen.
*** If picture is too large shrink it - If picture is too small stretch it.

Erstellen Sie über dem Bild ein Label. Geben Sie photo ein und plazieren Sie es bei W2,2cm H0,5cm T3cm L4cm. Vergessen Sie nicht, die Approach-Datei ab und zu abzuspeichern, damit die Mühen nicht umsonst waren.

Anschließend kann das Arbeitsblatt auf die gleiche Weise wie bei den anderen Datenbanken angepaßt werden. Nun, da der Grundstein gelegt ist, können wir mit Helpscreen, Findscreen, Printscreen#1 und Printscreen#2 fortfahren.

Wie man einen Hilfebildschirm erstellt, ist bereits bekannt. Erstellen Sie ihn also auf die gleiche Weise. Denken Sie daran, daß später eine Schaltfläche - und ein Macro - zum Schließen des Bildschirms benötigt wird. Fügen Sie dem Hilfebildschirm folgenden zusätzlichen Text hinzu:

Durch Drücken von Print wird eine Option zum Drucken einer Liste oder Registerkarte angezeigt.
Durch Drücken von Search kann die Datenbank durchsucht werden.
Im Suchmodus kann durch Drücken von New eine neue Suche gestartet und durch Drücken von Close zum Hauptbildschirm zurückgekehrt werden.

Bevor wir fortfahren, erstellen wir erst die Schaltflächen sowie die Makros für die Schaltflächen einschließlich der Beschriftung.

Die zusätzlichen Schaltflächen des Menüs sind Show All, Find und Print.

Tab. 3: Positionen der Schaltflächen und diesen zugeordnete Makros
Schaltfläche Position Makroeinstellungen
Show All W2,5cm H1cm T6,5cm L0,36cm macro Show All - Find all records
Find W2,5cm H1cm T7cm L0,36cm macro View - Switch to Find
Print W2,5cm H1cm T7,5cm L0,36cm macro View - Switch to Print

Einige Sondermakros:

Tab. 4: Definitionen für Sondermakros
Name Befehl
Printcard view switch to printcard / printpreview / Zoom to actual size
Printlist view switch to printlist / printpreview / Zoom to actual size
Print1 print
New1 view switch to find / find all / find and pause for input

Ist Ihnen etwas aufgefallen? Es gibt kein Formular Find oder Print, zu dem umgeschaltet werden könnte. Genausowenig sind printcard und printlist vorhanden. Daher können die Makros nicht fertiggestellt werden. Vielleicht haben Sie sie übersprungen oder etwas in der Art. Sie können sie später erstellen oder anpassen.

Erstellen wir nun das Formular Find. Wählen Sie  Formular > Neues Formular, fügen Sie alle Felder, Menüs usw. auf die gleiche Weise hinzu wie im Hauptformular. Das ist Ihnen zuviel Arbeit? In Ordnung, da stimme ich Ihnen zu. :-) Wählen Sie also statt dessen Formular > Formular duplizieren. Da haben Sie es: eine genaue Kopie. Schnell, was? Nun muß nur noch das Formular in Find und die Überschrift in Find umbenannt werden.

Erstellen oder ändern Sie auf dem Formular Contacts den Makro Find und weisen Sie ihn der Schaltfläche Find zu. Im Formular Find können die Schaltflächen Find und Show all gelöscht werden. Im Formular Find muß der Makro New der Schaltfläche New durch den Makro New1 ersetzt werden.

Erstellen Sie ein Formular mit der Bezeichnung Print. Nun können Sie den Makro Print im Haupt- und Suchformular zuweisen. Passen Sie den Hintergrund usw. an und wählen Sie Formular als Dialog anzeigen. Erstellen Sie ein Rechteck mit den Werten W10cm H7cm T0cm L0,11cm (wie das Hilfeformular). Statt Help screen tragen Sie  Print screen als Überschrift ein.

Nun zu einer schwierigen Entscheidung. Legen wir die gleiche Schaltfläche dreimal an ( printlist / printcard / close ) oder eine und zwei davon abweichende. Tun wir letzteres.

Erstellen Sie eine Schaltfläche zum Schließen (mit Makro close1) mit den Werten W2,5cm H0,5cm T6cm L0,25cm. Fügen Sie dem Formular zwei Textfelder mit den in Tabelle 5 gezeigten Werten hinzu.

Tab. 5: Darstellungsparameter für Text fekder
Textfeld Position
Print a card W3cm H0,5cm T1cm L0,25cm
Print a list W3cm H0,5cm T2cm L0,25cm

Legen Sie ein Textfeld mit den Werten W0,5cm H0,5cm T1cm L3,25cm an. Kopieren Sie das Textfeld und plazieren Sie es unter W0,5cm H0,5cm T2cm L3,25cm.

Zeichnen Sie ein Qudrat mit angerundeten Ecken und den Werten W0,45cm H0,45cm T1cm L4cm, und legen Sie als Füllfarbe die gleiche Farbe wie für den Hintergrund fest. Verwenden Sie eine Umrandung mit einer Breite von 0,5 pt, legen Sie als Umrandungsfarbe dunkelrot (wie der Text) fest und als Stil Hervorheben. Erstellen Sie nun eine Kopie mit den Werten W0,45cm H0,45cm T2cm L4cm.

An diesem Punkt sind die Bildschirme main, list, help, print und find vorhanden. screens. Es bleiben nun noch zwei Berichte zu erstellen. Wählen Sie Erstellen > Bericht. Geben Sie Printlist ein und drücken Sie OK. Wiederholen Sie dies für Printcard. Wählen Sie die Indexzunge Print an und weisen Sie die Makros Printlist und Printcard zu.

Nun benötigen wir noch zwei Berichte und ein benutzerdefiniertes Menü.

Wählen Sie den Bericht Printlist aus. Klicken Sie mit der linken Maustaste auf den weißen, gepunkteten Bereich und wählen Sie Kopfzeile hinzufügen. In der Kopfzeile erstellen wir zwei weitere Schaltflächen (wie im Druckformular), eine Schaltfläche Close (mit Makro Close1) und eine Schaltfläche Print (mit Makro Print1).

In der Kopfzeile ist auch Print List zu plazieren, aber zuerst sollte die Seite über Datei > Seite einrichten auf A4 Querformat gesetzt werden. Setzen Sie die Ränder auf L0,5cm R0,5cm T0,5cm B1cm. Ggf. müssen Sie diese Einstellungen für Ihren Drucker anpassen.

Erstellen Sie in der Kopfzeile nun ein Textfeld mit dem Text My Contacts und den Werten: Schriftart Gill Sans 24 Bold zentriert - kein Stil, keine Füllfarbe, keine Umrandungsfarbe, Umrandung als Haarlinie. Plazieren Sie das Feld bei W5cm H1cm T1cm L11cm. Zeichnen Sie eine horizontale Linie mit den Werten 2pt T2,25cm. W26cm L1,1cm.

Auf der linken Seite der Kopfzeile:

  1. Erstellen Sie zwei Textfelder Return to main screen und Print this form.
  2. Plazieren Sie ersteres bei W4cm H0,5cm T1cm L1cm.
  3. Plazieren Sie letzteres bei W4cm H0,5cm T1,5cm L1cm.
  4. Erstellen Sie ein Textfeld mit den Werten W0,5cm H0,5cm T1cm L4,5cm und T1,5cm L4,5cm.
  5. Erstellen Sie zwei Schaltflächen (wie im Formular Print, nur mit weißer Füllfarbe).
  6. Weisen Sie diesen Schaltflächen die Makros Contacts und Print1 zu.
  7. Unter Allgemein wählen SIe Nicht drucken und In Seitenansicht anzeigen für allen Text (außer der Überschrift) und die Schaltflächen.

Auf der rechten Seite der Kopfzeile:

  1. Fügen Sie ein aktuelles Datum mit den Werten W2,5cm H0,5cm T1cm L24,5cm und die Seitennummer hinzu.
  2. Fügen Sie vor dem aktuellen Datum den Text Printed on und ein Textfeld mit den jeweiligen Werten W2cm H0,5cm T1cm L22cm und W0,5cm H0,5cm T1cm L24cm ein.
  3. Fügen Sie vor dem Feld pagenumber den Text Page number und ein Textfeld ein.
  4. Stellen Sie für das Feld Seitennummer eine rechtsbündige Ausrichtung ein.

Nun kann es mit weiteren Feldern weitergehen. Wir können hier nicht alle Felder hinzufügen, das wäre zu viel. Statt dessen fügen wir nur die Felder Firstname, Nameaffix und Lastname hinzu. Bevor Sie mit dem Hinzufügen beginnen, wählen Sie Berichte > Spalten einschalten. Als kleinen Trick setze ich Füllfarbe auf hellgrau, so daß die Position des Feldes gut sichtbar wird. Verwenden Sie weiter die Standardschrift und -schriftgröße. Es empfiehlt sich, die Felder unter Allgemein auf Nur-lesen zu setzen, da es sich hier um ein Druckformular und keine Eingabemaske handelt. Nehmen Sie die Auswahl des eingeschlossenen Feldlabels zurück und setzen Sie die Farbe auftransparent.

Tab. 6: Positionen der Felder in der gedruckten Liste
Feld Position
Firstname W5cm H0,5cm L1,1cm T2,35cm
Nameaffix W2,5cm H0,5cm L6,2cm T2,35cm
Familyname W5cm H0,5cm L8,8cm T2,35cm
Streetname W5cm H0,5cm L13,9cm T2,35cm
Housenumber W2,5cm H0,5cm L19cm T2,35cm
Telephonenumber W5cm H0,5cm L21,6cm T2,35cm

Eigentlich wollte ich noch die Stadt hinzufügen, aber da kein Platz mehr vorhanden ist, belassen wir es dabei.

Nun wird auch ersichtlich, warum auch eine Karteikarte zum Drucken erstellt werden soll. Auf dieser Karte können sämtliche Felder untergebracht werden.

Da die Liste zum Drucken fertig ist, fahren wir mit der Karteikarte fort.

Wählen Sie die Indexzunge Print card. Vergessen Sie nicht, das Seitenformat auf A4 einzustellen. Zeichnen Sie eine Linie mit den Werten 1 pt, T13,5. Sollte es nicht möglich sein, die Linie zu zeichnen, klicken Sie auf die Registerkarte, so daß ein Rechteck erscheint. Ziehen Sie die untere Kante nach unten. 13,25cm sind etwa die halbe Seite. Ziehen Sie den Körper so, daß er mit der Linie zusammenfällt. Es wird zwar nicht angezeigt, aber wenn Sie mindestens zwei Datensätze zur Datenbank hinzufügen, durckt Approach zwei Datensätze auf einer Seite.

Es ist möglich, dem Bericht auch die Feldlabel hinzuzufügen. Mir gefällt dies nicht besonders, daher verwende ich sie nicht. Wenn gewünscht können sie jedoch unter Schriften aktiviert werden. Wenn Sie die Feldlabel benutzen, denken Sie daran, daß die Feldhöhe 1cm betragen sollte. Vergessen Sie auch nicht, daß in diesem Formular alle Felder mit Schreibschutz versehen werden können.

Fügen Sie der Karte alle Felder hinzu:

Tab. 7: Positionen der Felder auf der gedruckten Karteikarte
Feld Position
Picture W2,2cm H3cm T1,5cm L1cm
Firstname W5cm H0,5cm T5,5cm L1cm
Middlename W5cm H0,5cm T5,5cm L6,5cm
Nameaffix W2,55cm H0,5cm T5,5cm L12cm
Familyname W5cm H0,5cm T5,5cm L15cm
Streetname W5cm H0,5cm T7cm L1cm
Housenumber W2,5cm H0,5cm T7cm L6,5cm
Zipcode W2,5cm H0,5cm T7cm L9,5cm
City W5cm H0,5cm T7cm L12,5cm
State W2,5cm H0,5cm T8,5cm L1cm
Land W5cm H0,5cm T8,5cm L4cm
Dateofbirth W2,5cm H0,5cm T1,5cm L4cm
Telephonenumber W5cm H0,5cm T10cm L1cm
Celphonenumber W5cm H0,5cm T10cm L6,5cm
Faxnumber W5cm H0,5cm T10cm L12cm
Emailadress1 W5cm H0,5cm T11cm L1cm
Emailadress2 W5cm H0,5cm T11cm L6,5cm
Homepage W5cm H0,5cm T11cm Lcm

Die Felder contactID und combined wurden nicht in den Bericht übernommen. Beim ersten handelt es sich um eine eindeutige Datensatznummer, und das zweite wird in unserer Datenbank Movies verwendet und stellt für den Bericht keinen Mehrwert da, da sich die drei Namen bereits darin befinden. Wie man sieht, ist auf der rechten Seite noch Platz. Es müssen noch Schaltlfächen für die Navigation und zum Drucken hinzugefügt werden. Da es keine Überschrift gibt, können wir sie im Körper plazieren. Achten Sie darauf, Nicht drucken und In Seitenansicht anzeigen auszuwählen. Ich möchte noch ein Datum mit dem Text Printed on: hinzufügen. In diesem Bericht verwenden wir keine Seitennummer.

Damit wären die Berichte fertiggestellt. Nun bleibt noch ein Makro für das Menü zu erstellen. Kopieren Sie wieder das Kurzmenü und passen Sie es wie schon zuvor an, so daß nur die Hilfe mit About Approach und Help übrig bleibt. Schließen Sie das Menü noch nicht. Es wäre schön, wenn wir Fotos in die Datenbank importieren und daraus exportieren könnten. Wozu hätten wir sonst das Feld Photo anlegen sollten?

Drücken Sie oberhalb des linken Flügels auf Menü hinzufügen. Hierdurch wird ein Standardmenü hinzugefügt. Geben Sie rechts &Photo ein. Drücken Sie oberhalb des rechten Flügels Option hinzufügen. Wählen Sie Bild importieren aus der Liste aus. Drücken Sie Option hinzufügen und wählen Sie Bild exportieren aus der Liste aus. Drücken Sie OK, Fertig, OK und Fertig. Weisen Sie den Makro My Menu allen Indexzungen zu. Nehmen Sie die Auswahl aller Optionen für Ansicht zurück. Sichern Sie die Approach-Datei und wählen Sie Ansicht > Blättern.

In Ordnung, Sie können sich nun zurücklehnen und entspannen. Nächstes Mal beginnen wir mit der Datenbank Movies und erstellen das Menü. Bis zum nächsten Mal!

Übersetzung: Christian Hennecke
Formatierung: Christian Hennecke
Korrektur: Karl-Heinz Markus
Daten und Quellen

Teil 1: http://de.os2voice.org/VNL/past_issues_DE/VNL0106H/feature_5.html
Teil 2: http://de.os2voice.org/VNL/past_issues_DE/VNL0206H/feature_5.html
Beispieldatenbanken: databases.zip