Zum Artikel
< >

Aktives GUI-Element

Statisches GUI-Element

Quelltext

WPS-Objekt

Datei/Pfad

Befehlszeile

Inhalt Eingabefeld

[Tastenkombination]

mehr

Erstellung einer Datenbank mit Lotus Smartsuite
Teil 6

von Arthur van Egmond, © Oktober 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. Schön, daß Sie bei unserer Reise durch die Erstellung einer Datenbank mit Lotus Smartsuite wieder dabei sind. Dieses Mal stellen wir die Datenbank Movies fertig.

In den vorherigen Teilen haben wir einen Großteil unserer Datenbank angelegt.

Da wären die Formulare input (noch nicht vollständig), list, extra info, dvdregion, help (noch nicht vollständig), find (noch nicht vollständig), print (noch nicht vollständig), actors, sort (noch nicht vollständig) und explanation.

Was bleibt also zu tun?

Beginnen wir mit der Erstellung zweier leerer Berichte. Anschließend beenden wir die unvollständigen Formulare. Wir fahren mit der Verbindung unserer Datenbanken fort, so daß wir sie auch tatsächlich benutzen können, passen einige Felder im Eingabeformular an und erstellen schließlich unsere Berichte.

Offensichtlich gibt es noch viel zu tun.

Die Show muß weitergeh'n

Erstellen Sie einen Bericht Printlist:

Erstellen Sie einen Bericht Printcard:

Erstellen Sie im BildschirmInput eine Schaltfläche mit folgenden Parametern:

Tab. 3: Bildschirm Input, Parameter für Schaltfläche
Parameter Wert
Breite 2,50cm
Höhe 0,50cm
Oben 8,00cm
Links 0,36cm
Makro Sort

Erstellen Sie eine zweite Schaltfläche im Bildschirm Input mit folgenden Parametern:

Tab. 4: Bildschirm Input, Parameter für zweite Schaltlfläche
Parameter Wert
Breite 2,50cm
Höhe 0,50cm
Oben 13,0cm
Links 0,36cm

Erstellen Sie im Formular Help eine Schaltfläche und verwenden Sie das Makro close1.

Erstellen Sie im Formular Print drei Schaltflächen:

Tab. 5: Formular Print, Parameter für drei Schaltflächen
Schaltfläche Breite Höhe Oben Links Farbe Makro
Printcard 0,5cm 0,5cm 1,25cm 4,5cm Hintergrund Erstellen: printcard, Ansicht - Wechseln zu printcard / Seitenansicht / Zoom auf Originalgröße )*
Printlist 0,5cm 0,5cm 2,5cm 4,5cm Hintergrund Erstellen: printlist, Ansicht - Wechseln zu printlist printcard / Seitenansicht / Zoom auf 85% )*
Close 2,5cm 0,5cm 6cm 0,25cm - close1
* Mitunter zeigt Approach ein etwas seltsames Verhalten. Erstellt man beispielsweise ein Makro für einen Bericht und nur view-switch current view to [Name des Berichts] verwendet, schaltet Approach automatisch in den Entwurfsmodus um. Durch Hinzufügen der Optionen Seitenansicht und Zoom auf Originalgröße schaltet Approach in den Entwurfsmodus und sofort wieder in den Modus Blättern um. Möglicherweise sind die Entwickler von Approach davon ausgegangen, daß man einem Bericht weitere Informationen hinzufügen möchte, wenn man ihn aufruft. Dies ist bei uns nicht der Fall, daher setzen wir diese Lösung ein.

Erstellen Sie fünf Makros im Formular Sort:

Tab. 6: Formular Sort, Parameter für fünf Makros
Name Befehl Oben Links
Sorttitle Sortieren: Wählen Sie title und drücken Sie Hinzufügen. Verwenden Sie Ansicht - Wechseln zu input, und drücken Sie OK. 1,25cm 6cm
Sortgenre Sortieren: Wählen Sie genre und drücken Sie Hinzufügen. Verwenden Sie Ansicht - Wechseln zu input, und drücken Sie K. 2cm 6cm
Sortyear Sortieren: Wählen Sie releaseyear und drücken Sie Hinzufügen. Verwenden Sie Ansicht - Wechseln zu input, und drücken Sie K. 2,75cm 6cm
SortID Sortieren: Wählen Sie MovieID und drücken Sie Hinzufügen. Verwenden Sie Ansicht - Wechseln zu input, und drücken Sie OK. 3,5cm 6cm
Close Verwenden Sie das Makro close1 6cm 0,25cm

Für die Sortierschaltflächen verwenden Sie die Schaltflächen, wie wir sie auch im Formular Print erstellt haben. Die Schaltfläche zum Schließen ist die gleiche wie bei allen anderen Schaltflächen.

Ändern Sie im Formular Find das neue Makro new1 durch Erstellen eines neuen Makros mit den folgenden Parametern:

Fügen Sie die Schaltflächen Sort, Internet, Actors und Extra info hinzu. Verwenden Sie die gleichen Positionen und Stile wie im Formular Input.

Die Zusammenkunft

Nun, da alle Formulare vollständig sind, verknüpfen wir unsere Datenbanken.

Die Datenbanken sind nun erfolgreich verknüpft worden, aber immer noch nicht nutzbar.

Damit wären wir im Grunde fertig.

Sortieren und Menü

Fügen wir der Datenbank noch ein Standardsortierkriterium hinzu:

Leider habe ich vergessen, daß wir noch ein weiteres Makro benötigen: My Menu

Wählen Sie für alle Indexzungen My Menu als Menüleiste, und zwar über die Indexzunge Allgemein des Einstellungsnotizbuches.

Gerade habe ich noch zwei Dinge bemerkt. Ändern Sie die Feldbeschreibungen von:

Berichten

Nun erstellen wir die Berichte zur Vervollständigung unserer Datenbank.

Die Liste

Zuerst erstellen wir den Bericht Printlist.

Ich habe Ihnen etwas Arbeit abgenommen und folgende Abbildung erstellt:

Picture for print list Bericht

Abb. 1: Bild zum Einfügen in den Bericht Printlist [Großes Bild]

Wieder stehen wir vor dem Problem, daß nicht alle Felder in einen Bericht passen. Daher fügen wir nur die wichtigsten Felder hinzu:

Tab. 8: Bericht Printlist, hinzuzufügende Felder
Feldname Breite Höhe Oben Links Schriftart Eigenschaft
MovieID 1,75cm 0,5cm 5,25cm 0,61cm Gill Sans 10 nur lesen
Title 6,00cm 0,50cm 5,25cm 2,40cm - nur lesen
Genre 5,00cm 0,50cm 5,25cm 8,47cm - nur lesen
Time 1,75cm 0,50cm 5,25cm 13,51cm - nur lesen

Ändern Sie alle im obigen Bild erwähnten Felder auf den Typ Markierungsfeld und verwenden Sie die Schriftart Gill Sans 10. Verwenden Sie dieses Mal ein flaches Markierungsfeld mit den Parametern:

Tab. 9: Bericht Printlist, Parameter für Markierungsfeld
Parameter Wert
Breite 0,50cm
Höhe 0,50cm
Oben 5,25cm
Links 15,35cm

Vergessen Sie nicht, als Wert für den markierten Zustand Yes einzugeben.

Richten Sie die anderen Markierungsfelder entsprechend des Textes im obigen Bild aus. Alle weisen den gleichen Versatz vom oberen Rand auf, nur der linke Abstand variiert.

Wie man sieht, sind die wichtigsten Felder über einen Film ausgewählt. Diese Liste kann man dann in Reichweite des DVD-Spielers aufbewahren und gewünschte Filme heraussuchen.

Nun, da der unangenehme Teil fertig ist (die ganzen Markierungsfelder waren schon etwas, nicht wahr?), können wir uns darauf konzentrieren, was wir uns als Überschrift wünschen. Darüber hinaus benötigen wir noch zwei Schaltflächen. Und wir können das aktuelle Datum mit dem Text Printed on: und einer Seitennummer davor hinzufügen.

Als Titel verwenden wir My Movies und folgende Parameter:

Tab. 10: Bericht Printlist, Parameter für Überschrift
Parameter Wert
Breite 9,00cm
Höhe 1,50cm
Oben 1,00cm
Links 2,13cm
Schriftart Gill Sans 36 Bold
Stil keiner
Füllfarbe keine
Umrandungsfarbe keine

Erstellen Sie darunter zwei Textfelder:

Tab. 11: Bericht Printlist, Parameter für Textfelder
Text Breite Höhe Oben Links Options
Print this list 3,50cm 0,50cm 3,00cm 0,75cm Non printing, Show in printpreview
Return to input screen 3,50cm 0,50cm 3,50cm 0,75cm Non printing, Show in printpreview

Erstellen Sie nun zwei Schaltflächen:

Tab. 12: Bericht Printlist, Parameter für Schaltflächen
Schaltfläche Breite Höhe Oben Links Optionen Makro
Oben 0,5cm 0,5cm 3,0cm 4,5cm Non printing, Show in printpreview print1 (Command-Print)
Anderer 0,5cm 0,5cm 3,5cm 4,5cm Non printing, Show in printpreview close1

Fügen Sie folgenden Text hinzu:

Tab. 13: Bericht Printlist, Parameter für Textfeld
Text Breite Höhe Oben Links
Pagenumber 3,50cm 0,50cm 4,00cm 0,75cm
This list is printed on 3,50cm 0,50cm 4,50cm 0,75cm

Und fügen Sie schließlich noch folgende Funktionen hinzu:

Tab. 14: Bericht Printlist, Funktionen
Text Breite Höhe Oben Links
pagenumber 2,50cm 0,50cm 4,00cm 4,50cm
current date 2,50cm 0,50cm 4,50cm 4,50cm

Da der Listenbericht nun abgeschlossen ist, können wir mit dem Karteikartenbericht fortfahren.

Die Karteikarte

Noch einmal gibt es beim Arrangieren der Felder viel zu tun. Wie schon in der Datenbank Contact so verwenden wir auch hier keine Überschrift. Wie schon zuvor erstellen wir zwei Karten auf einer Seite, daher benötigen wir eine Linie zur Positionierung des Körpers.

Nun kann der Körper so geändert werden, daß er mit der Haarlinie zusammenfällt. Wenn die Linie verschwinden sollte, muß der Körper noch einmal in der Größe geändert werden. Überprüfen Sie den Abstand der Haarlinie vom oberen Rand, denn er ändert sich automatisch, wenn der Körper zu klein wird. Passen Sie die Körpergröße und den Abstand der Linie so lange an, bis sie aufeinanderfallen. Gut, damit nimmt der Körper genau die Hälfte des Druckbereichs ein. Wenn weitere Datensätze hinzugefügt werden, zeigt Approach zwei davon auf einer Seite an, und wenn Sie doppelseitig ausdrucken, können Sie noch mehr Papier sparen.

Fügen wir nun einige Felder hinzu und plazieren sie. Wählen Sie als Schriftart Gill Sans 10. Setzen Sie alle Felder auf "Nur lesen".

Beginnen wir mit dem Cover.

Plazieren Sie das Cover folgendermaßen:

Tab. 15: Bericht Printcard, Position des Covers
Parameter Wert
Breite 2,5cm
Höhe 3,5cm
Oben 2,0cm
Links 1,0cm

Für's erste verwenden wir eine Haarlinie als Umrandung, um die Ausdehnung besser sehen zu können. Wenn später alle Felder angeordnet sind, entfernen wir die Umrandung. Ich bin der Meinung, daß es ohne Umrandung besser aussieht.

Plazieren Sie die Felder an folgenden Positionen:

Tab. 16: Bericht Printcard, Feldpositionen
Feldname Breite Höhe Oben Links
title 6,0cm 0,5cm 2,0cm 4,5cm
genre 6,0cm 0,5cm 2,0cm 11,0cm
numberofdisk 2,5cm 0,5cm 2,0cm 17,5cm
dvdextra 2,5cm 0,5cm 3,0cm 4,5cm
dvdformat 2,5cm 0,5cm 3,0cm 8,0cm
time 2,5cm 0,5cm 3,0cm 11,0cm
releaseyear 2,5cm 0,5cm 3,0cm 14,5cm
actors01 6,0cm 0,5cm 4,0cm 4,5cm
actors02 6,0cm 0,5cm 4,0cm 11,0cm
actors03 6,0cm 0,5cm 5,0cm 4,5cm
actors04 6,0cm 0,5cm 5,0cm 11,0cm
movieID 2,5cm 0,5cm 6,0cm 1,0cm
actors05 6,0cm 0,5cm 6,0cm 4,5cm

Zeichnen Sie unterhalb der Felder jeweils eine Haarlinie mit der gleichen Breite und einem Abstand zum oberen Rand von 3,55cm, T=4,55cm usw. Die Haarlinie um das Cover-Feld kann nun entfernt werden. Später werden in diesem Bereich in die Datenbank importierte Cover zu sehen sein.

Soweit zum leichten Teil. Wie man sieht, habe ich die Felder memo, imdbcode und borrowedto nicht in diesen Bericht übernommen. Wenn Sie dies wünschen, können Sie es natürlich tun, aber warum sollten Sie? Falls Sie es tun, würde bei jeder Änderung im Feld borrowedto des Datensatzes ein Neuausdruck der Seite erforderlich. Das Feld imdbcode stellt nur eine Möglichkeit dar, schnell weitere Informationen über den Film zu erhalten und bietet keinen Mehrwert, da für den Zugang zur IMDB-Site ein Computer erforderlich ist.

Nun zum schwierigen Teil. Hierin fügen wir alle verbleibenden Felder der Bereiche region, audio, language, subtitle und format in den freien Bereich ein. Zudem benötigen wir zwei nicht druckbare Schaltflächen mit Text.

Nun, es ist nicht wirklich schwierig, nur eine Menge Arbeit. Als Linientyp benutzen wir in allen Fällen die Haarlinie und Gill Sans 10 als Schriftart.

Zeichnen Sie ein Rechteck mit folgenden Parametern:

Tab. 17: Bericht Printcard, Parameter für Rechteck
Parameter Wert
Breite 9,0cm
Höhe 1,5cm
Oben 7,5cm
Links 1,0cm

Zeichnen Sie zwei horizontale Linien mit folgenden Parametern:

Tab. 18: Bericht Printcard, Parameter für Linien
Linie Breite Oben
1 9,0cm 8,0cm
2 9,0cm 8,5cm

Erstellen Sie ein Textfeld mit dem Text Dvd Region:

Tab. 19: Bericht Printcard, Parameter für Textfeld Dvd Region
Parameter Wert
Breite 9,0cm
Höhe 0,5cm
Oben 7,0cm
Links 1,0cm
Ausrichtung zentriert
Schriftschnitt fett

Zeichnen Sie zwei Textfelder:

Tab. 20: Bericht Printcard, Parameter für Textfelder
Text Breite Höhe Oben Links
01 1,0cm 0,5cm 7,5cm 1,0cm
02 1,0cm 0,5cm 7,5cm 2,0cm

Aktivieren Sie beim zweiten Feld die Umrandung nur auf der linken und rechten Seite.

Alle ungeraden Nummern sollten wie Textfeld 01 aussehen, und alle geraden wie Textfeld 02. Das letzte Textfeld enthält den Text Free. (Erinnern Sie sich daran, daß es die Regionen 1 bis 8 sowie Region Free gab?) Diese sollte wie Textfeld 01 aussehen.

Unterhalb der Nummern plazieren wir die Felder als Markierungsfelder an folgenden Positionen:

Tab. 21: Bericht Printcard, Positionen der Markierungsfelder
Markierungsfeld Breite Höhe Oben Links
1 0,50cm 0,50cm 8,50cm 1,25cm
2 0,50cm 0,50cm 8,50cm 2,25cm
3 0,50cm 0,50cm 8,50cm 3,25cm
4 0,50cm 0,50cm 8,50cm 4,25cm
5 5,25cm 6,25cm 7,25cm 8,25cm

Vergessen Sie nicht, für alle Felder die Eigenschaft "nur lesen" festzulegen.

Die restlichen Felder und Markierungsfelder erstellen wir auf die gleiche Weise:

Tab. 22: Bericht Printcard, Feldpositionen
Feld Breite Höhe Oben Links Text
Audio 7,0cm 1,5cm 7,5cm 11,0cm Mono, Stereo, Ds 5.0, Dd 5.1, Dd-EX, D-Dtd, Dts-ES
Language 5,0cm 1,5cm 9,5cm 1,0cm -
Subtitle 5,0cm 1,5cm 9,5cm 7,0cm -
Format 5,0cm 1,5cm 9,5cm 13,0cm -

Wenn es zu Verzerrungseffekten im Rechteck kommen sollte, wählen Sie alle Markierungsfelder aus und wählen Sie Anordnen > Ganz nach hinten setzen aus dem Kontextmenü eines Markierungsfeldes.

Nun, da der gesamte Text und alle Felder an Ort und Stelle sind, bleiben zwei Schaltflächen hinzuzufügen. Wieder achten wir darauf, daß die Schaltflächen und der davor liegenden Text in der Ausgabe auftauchen. Aktivieren Sie also die Optionen Nicht drucken und In Seitenansicht anzeigen.

Erstellen Sie folgende Textfelder:

Tab. 23: Bericht Printcard, Positionen der Textfelder
Feld Breite Höhe Oben Links
Print this card 3,5cm 0,5cm 11,5cm 1,0cm
Return to input screen 3,5cm 0,5cm 12,0cm 1,0cm

Fügen Sie die Schaltflächen hinzu und ordnen Sie sie am Text an. (Denken Sie daran: Sie können Stile verwenden.) Weisen Sie die Makros printcard und close1 zu.

In Ordnung, Sie können sich auf die Schulter klopfen. Wir sollten nun alles erforderliche fertiggestellt haben. Nun ist es an der Zeit, die Datenbank einem Testlauf zu unterziehen.

1, 2, 3, Test...

Fertigen Sie eine Sicherungskopie der leeren Datenbanken an, bevor Sie mit dem Test beginnen. Dann haben Sie die Möglichkeit, später die Datenbanken zu löschen und mit den leeren neu anzufangen, ohne erst alle Datensätze löschen und den Zähler zurücksetzen zu müssen.

Fügen wir der Datenbank Contacts zwei Datensätze hinzu. Benutzen Sie erfundene oder echte Namen, wie es Ihnen beliebt.

Da wäre schon das erste Problem. Die Felder für die Telefonnummern sind nicht in Ordnung. Ich muß zwei weitere Zahlen hinzufügen, aber dies ist nicht möglich. Passen wir also die Felder an.

Sie werden sich nun fragen, wie wir die Felder anpassen können, wo wir doch das Menü radikal entschlackt haben. Vielleicht sind Ihnen ja die Tastenkürzel aufgefallen. Drücken Sie [Strg-D].

Drücken Sie im Werkzeugmenü auf Felder und wählen Sie Felddefinition aus. Die Länge der Telefonfelder sollte auf 18 angepaßt werden. Nun sagt mir dieses Format aber auch nicht zu. Der Länder-Code für die Niederlande lautet 031, aber es ist keine führende Null zu sehen. Dies liegt am # in den Felddefinitionen. Ändern wir die Felddefinition folgendermaßen:

>6 (000)" "000-000000|=6 000-000000

Natürlich können Sie das Feld den Gegebenheiten Ihres Landes anpassen. Für die Faxnummern können wir das gleiche Layout verwenden, passen Sie also auch das Format für die Faxnummern an.

Erläuterung der Syntax: Zwischen den Klammern befindet sich der Länder-Code, anschließend folgt die Vorwahl ohne führende Null und darauf die Nummer des Anschlusses. Meines Wissens ist dies internationaler Standard. Korrigieren Sie mich, falls ich falsch liegen sollte.

Die Mobilfunknummer würde in den Niederlanden folgendermaßen aussehen:

>6 (00)" "00-00000000|=6 00-00000000

Bei Mobilfunknummern stellt man normalerweise keine Null voran, man hätte also den Länder-Code ohne führende Null und dann die gesamte Mobilfunknummer.

Wie auch immer, wenn Sie möchten, können Sie natürlich den Länder-Code weglassen, aber für mich wäre das mit meiner internationalen Familie etwas problematisch. Wenn Sie es einfach haben wollen, benutzen Sie einfach numerisch-allgemein und Sie können alles eingeben, was Sie wollen, solange es sich nur um Ziffern handelt.

Drücken Sie Ansicht > Eingabereihenfolge anzeigen. Es erscheinen viele Zahlen. Ändern Sie den Wert 17 für das Feld homepage auf 15. Alle folgenden Felder sollten automatisch angepaßt werden. Schalten Sie die Anzeige ab, indem Sie Ansicht > Eingabereihenfolge anzeigen nochmals auswählen.

Damit bin ich zufriedengestellt. Drücken Sie [Strg-B]. Drücken Sie Schließen und Ja, um die Änderungen zu speichern. Fügen Sie den Datenbanken Genre, DvdExtra und DvdMedia nun Datensätze hinzu.

Momentan ist der Inhalt noch unwichtig. Wenn Sie die Taste [Tab] drücken, legt Approach jedesmal einen neuen Datensatz an, wenn Sie sich aus dem letzten Feld herausbewegen.

Nachdem wir die Datenbanken mit Inhalt gefüllt haben, wenden wir uns nun der Hauptdatenbank Movies zu.

Auch bei dieser Datenbank sind mir ein paar Dinge aufgefallen. Die actor-Felder beginnen nicht mit einem Großbuchstaben. Dies wäre aber praktisch, da man dann nicht ständig die Umschalttaste drücken muß. Ändern wir die Feldeigenschaften also auf Anfangsbuchstaben groß.

Nach Drücken von [Strg-D] ist Ansicht > Ansichtsregister anzeigen auszuwählen. Ich habe bemerkt, daß die Makros PalNtsc und NtscPal nicht funktionieren.

Nach genauerer Analyse denke ich, daß es bei Ihnen auch nicht funktionieren wird. Passen wir die Makros also so an, daß sie ordnungsgemäß funktionieren.

Wenn Sie die Datenbank nun wieder öffnen, sollte der Schalter funktionieren.

Auf die Plätze, fertig, los...

Nun können Sie Testdatenbanken durch die leeren ersetzen.

In den Datenbanken können Sie folgende Datensätze verwenden:

Tab. 24: Datenbanken hinzuzufügende Datensätze
Databank Datensätze
DvdMedia DVDROM, DVD+RW, etc.
DvdExtra Complete, Movie Only, etc.
Genre Action, Adventure, etc.

Auf diese Weise müssen Sie es nur einmal eingeben und können in der Datenbank Movies den entsprechenden Datensatz auswählen.

Fazit

Damit endet unser Ausflug mit Approach. Ich hoffe, daß Ihnen die Erstellung dieser Datenbanken gefallen hat, die Sie natürlich durch weitere Datenbanken erweitern können. Vielleicht haben Sie ja eine große Sammlung von MP3s oder eine große Bibliothek. Denken Sie auch an Compact Disks oder andere Medien wie LPs oder Minidisks.

Wenn Sie sich wirklich Mühe gegeben haben aber irgendwie nicht damit zurechtgekommen sind, könnte es an meinen Erläuterungen gelegen haben. Wenn Sie die Datenbanken dennoch benutzen wollen, habe ich für Sie eine gute Nachricht: das vollständige Paket steht Ihnen zur Verfügung.

An dieser Stelle möchte ich meinem Freund Michel meinen Dank für seine Hilfe bei der Erstellung und Anpassung der Datenbanken bis zum heutigen Zustand aussprechen.

Vielleicht treffen wir uns einmal wieder.

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

Beispieldatenbanken: databases.zip
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
Teil 3: http://de.os2voice.org/VNL/past_issues_DE/VNL0406H/feature_6.html
Teil 4: http://de.os2voice.org/VNL/past_issues_DE/VNL0606H/feature_5.html
Teil 5: http://de.os2voice.org/VNL/past_issues_DE/VNL0706H/feature_5.html