Zum Artikel
V.O.I.C.E Virtual OS/2 International Consumer Education
Juni 2006
A A A
Artikel

- Mark Dodel: Und der Os/2car geht an...
- Ed Durrant: Mobile Broadband unter OS/2 in Australien - Benutzung eines LG8330 3G Handys mit OS/2 und eCS
- Lon Hooker: USB-Wechselmedien - Einrichtung und Gebrauch - Häufig gestellte Fragen - FAQ
- Peter Koller: Maul Publisher plus Unicode
- Mark Dodel: OS/2 und WLAN "g"
- Arthur van Egmond: Erstellung einer Datenbank mit Lotus Smartsuite - Teil 4
- Tips
- Leserbriefe, Addenda, Errata

Aktives GUI-Element

Statisches GUI-Element

Quelltext

WPS-Objekt

Datei/Pfad

Befehlszeile

Inhalt Eingabefeld

`[Tastenkombination]`

mehr

# Erstellung einer Datenbank mit Lotus Smartsuite
Teil 4

von Arthur van Egmond, © Juni 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 dabei sind. In den letzten drei Teilen haben wir einige Datenbanken erstellt.

Wir haben mit der Datenbank Genre einfach begonnen. Sie haben Ihre Hausaufgaben gemacht und zwei weitere Datendanken erstellt, Dvdformat und Dvdextra. im letzten Teil haben wir dann die Datenbank Contacts erstellt.

## Gewichtheben

Nun ist es an der Zeit für die richtige Arbeit. Wir werden die Datenbank Movies erstellen. Diese Datenbank werden wir diesmal nicht fertigstellen, da einfach zuviel für einen Teil zu tun ist.

Wir erstellen außerdem das Menü, von dem aus wir alle Datenbanken öffnen können. Dadurch können wir ein einziges Objekt auf der Arbeitsoberfläche haben und von da aus auf alle Datenbanken zugreifen.

Wir werden zehn Formulare und zwei Berichte sowie etwa 30 Makros erstellen. Eine Menge Arbeit.

Diesmal erstellen wir die Datenbank, das Hauptformular, die Bildschirme DVD-Region, Hilfe, Drucken und Erläuterungen und passen das Listenformular an.

Desweiteren erstellen wir einige der Makros.

### Erstellung der Datenbank Movies

Beginnen wir also mit der Datenbank und fügen alle oben beschriebenen Felder hinzu. Sichern Sie die Datenbank als movies.dbf.

Tab. 1: Felder in der Datenbank Movies
Feldname | Typ | Länge
--- | --- | ---
Title | Text | 50
Genre | Text | 15
Time | Time | fest
Dvdformat | Text | 15
Dvdextra | Text | 15
Numberofdisks | Numerisch | 3
Imdbcode | Text | 25
Borrowedto | Text | 70
Storyline | Memo | fest
Region01 | Boolean | fest
Region02 | Boolean | fest
Region03 | Boolean | fest
Region04 | Boolean | fest
Region05 | Boolean | fest
Region06 | Boolean | fest
Region07 | Boolean | fest
Region08 | Boolean | fest
Regionfree | Boolean | fest
Audiomono | Boolean | fest
Audiostereo | Boolean | fest
Audiodolbysurround5.0 | Boolean | fest
Audiodolbydigital5.1 | Boolean | fest
Audiodolbydigitalex | Boolean | fest
Audiodolbydts | Boolean | fest
Audiodolbydtses | Boolean | fest
LanguageNl (Dutch) | Boolean | fest
LanguageEn | Boolean | fest
LanguageFr | Boolean | fest
LanguageGr (Germany) | Boolean | fest
LanguageOther | Boolean | fest
SubtitleNl (Dutch) | Boolean | fest
SubtitleEn | Boolean | fest
SubtitleFr | Boolean | fest
SubtitleGr (Germany) | Boolean | fest
SubtitleOther | Boolean | fest
FormatPal | Boolean | fest
FormatNtsc | Boolean | fest
Format04:03 | Boolean | fest
Format14:09 | Boolean | fest
Format16:09 | Boolean | fest
Actor01 | Text | 30
Actor02 | Text | 30
Actor03 | Text | 30
Actor04 | Text | 30
Actor05 | Text | 30
Releaseyear | Numerisch | 4
Cover | PicturePlus | OLE deaktiviert
Otherinfo | Memo | fest
MovieID | Numerisch | 10 automatische Nummernvergabe, unique, filled in.

Anschließend sichern Sie die Approach-Datei.

### Menü

- Zuerst erstellen wir das Menü.
- Wählen Sie im Menü Datei den Eintrag Neue Datenbank.
- Drücken Sie OK.
- Benennen Sie die Datenbank mit menu.dbf.
- Drücken Sie OK.

In dieser Datenbank werden keine Felder benötigt, da wir Sie nur für den Zugriff auf andere Datenbanken verwenden, aber Approach erlaubt das Anlegen einer Datenbank ohne Felder nicht (warum bloß?), daher fügen wir nur ein Feld hinzu.

- Nennen Sie das Feld Menu.
- Setzen Sie die Größe auf 1.
- Drücken Sie OK.
- Drücken Sie nun Entwurf und werden Sie die häßliche Überschrift und das Feld los.

Wir wissen, wie man eine schönere Überschrift erstellt. Außerdem habe wir ein Rechteck im linken Bereich des Bildschirms erstellt. Dieses werden wir nicht für alle Schaltflächen benutzen. Nur die zum Schließen wird dort plaziert. Eventuell noch ein Hilfeknopf. Schauen wir einfach einmal. Ändern Sie nun den Hintergrund in das beliebte Blau und legen Sie das Rechteck und die Überschrift so an, wie wir es bereits mehrmals getan haben. Vergessen Sie nicht, die Ränder auf Null zu setzen. Sie können das Arbeitsblatt löschen (markieren, rechte Maustaste und Löschen auswählen), da wir es in dieser Datenbank nicht benötigen. Auch wenn wir sie auf andere Weise nutzen, so handelt es sich immer noch um eine Datenbank.

Lassen Sie uns nun das Makro Exit erstellen.

- Erstellen Sie ein Makro mit dem Namen Sure! [Klar!] und dem Befehl Exit.
- Erstellen Sie ein weiteres mit dem Namen Nope! [Nö!] und dem Befehl Anzeigen - Menu.
- Schließlich noch eins mit dem Namen Exit.

Legen Sie nun ein neues Formular an.

- Bezeichnen Sie es mit Alert.
- Erstellen Sie es so, wie zuvor die Hilfeformulare.
- Dieses Mal plazieren Sie oben Alert screen.

- Fügen Sie dem Bildschirm folgenden Text hinzu:

  Alert!You are about to exit Approach
  Have you saved all your work?
  Perhaps you have left another database open?

  Plazieren Sie zwei Schaltflächen auf dem Warnungsbildschirm, einen für "Sure!" und einen für "Nope!". Färben Sie spaßeshalber noch den Text der Schaltfläche Sure! grün und den der Schaltfläche Nope! rot.

Erstellen Sie nun ein Makro mit der Bezeichnung Alert und dem Befehl Anzeige - Alert. Plazieren Sie eine Schaltfläche auf dem Hauptbildschirm, weisen Sie ihr den Makro Alert zu und geben Sie als Text Exit ein.

Damit hätten wir für uns eine kleine Erinnerung geschaffen. Für diese Situation ist es angebracht, aber setzen Sie derartiges nicht zu oft ein.

Weiter mit der Erstellung der Makros:

Tab. 2: Erforderliche Makros
Name | Typ | Anleitung zur Erstellung
--- | --- | ---
Contacts | open | Datenbank suchen und Contacts auswählen
Genre | open | Datenbank suchen und Genre auswählen
Dvdformat | open | Datenbank suchen und Dvdformat auswählen
Dvdextra | open | Datenbank suchen und Dvdextra auswählen
Movies | open | Datenbank suchen und Movies auswählen

Nun bleiben noch einige Verschönerungen im Menübereich vorzunehmen und Schaltflächen zum Öffnen der Datenbanken anzulegen.

#### Verschönerung

Zeichnen Sie ein Rechteck:

Tab. 3: Rechteck, Menü
Attribut | Wert
--- | ---
Breite | 1,0
Höhe | 10,0
Oben | 2,0
Links | 1,0
Stil | vertieft
Hintergrund | transparent
Umrandungsfarbe | dunkelrot

Zeichnen Sie nun ein Textfeld und geben Sie My Databases ein, wobei Sie nach jedem Buchstaben die `[Eingabetaste]` drücken. Es sollte so aussehen:

    M
    y

    D
    a
    t
    a
    b
    a
    s
    e
    s

Tab. 4: Menüverschönerung, Textfeld
B (cm) | H | O | L | Attribute
--- | --- | --- | --- | ---
0,8 | 9,8 | 2,1 | 1,1 | Gill Sans 18 point bold, dunkelrot, zentriert

Sieht ziemlich klasse aus.

Nun zu den Schaltflächen. Diesmal wollen wir ovale Schaltflächen nehmen. Erstellen Sie ein Oval:

Tab. 5: Menüverschönerung, ovale Schaltfläche
Attribut | Wert
--- | ---
Breite | 3,5
Höhe | 1,0
Oben | 3,0
Links | 4,0
Stil | erhaben
Füllfarbe | hellgelb (standard)
Umrandungsfarbe | orange
Schattenfarbe | dunkelrot

Kopieren Sie nun diese Schaltfläche und fügen Sie sie viermal ein, so daß fünf Schaltflächen vorhanden sind.

Weisen Sie die Makros den entsprechenden Schaltflächen zu und fügen Sie noch Textfelder hinzu.

Tab. 6: Menüverschönerung, Positionen der Schaltflächen
Schaltfläche | Position (cm) | Makroeinstellungen
--- | --- | ---
| O | L |
Genre | 5,0 | 5,5 | Makro `genre`
Dvdextra | 7,5 | 5,5 | Makro `dvdextra`
Dvdmedia | 9,0 | 5,5 | Makro `dvdmedia`
Contacts | 3,0 | 10,0 | Makro `contacts`

Zur Verschönerung wollen wir die Schaltflächen Movie - Genre / Genre - Dvdextra / Dvdextra - Dvdmedia mit Linien verbinden. Ich habe eine Linienbreite von 2 pt und die Farbe der Schaltflächen verwendet.

Tab. 7: Menüverschönerung, Linien zwischen Schaltflächen
Schaltfläche | B | H | O | L
--- | --- | --- | --- | ---
Movies - Genre | 1,30 | 1,10 | 3,96 | 5,89
Genre - Dvdextra | 0,00 | 1,00 | 6,00 | 7,25
Dvdextra - Dvdmedia | 0,00 | 1,00 | 8,00 | 7,25

Da die Schaltflächen mit Schatten versehen sind, sollten auch die Linien einen erhalten. Verwenden Sie dafür als Linienfarbe dunkelrot.

Tab. 8: Menüverschönerung, Schattenlinien
Schaltflächen | B | H | O | L
--- | --- | --- | --- | ---
Movies - Genre | 1,13 | 1,02 | 3,98 | 6,02
Genre - Dvdextra | 0,00 | 0,94 | 6,05 | 7,30
Dvdextra - Dvdmedia | 0,00 | 0,94 | 8,05 | 7,30

Erstellen wir nun hübschen Text für die Schaltflächen.

Tab. 9: Menüverschönerung, Text
Attribut | Wert
--- | ---
Breite | 3,0
Höhe | 0,7
Schriftart | Gill Sans 16pt
Stil | unteres Textrelief
Textfarbe | dunkelrot

Plaziert man den Text über der Schaltfläche, sieht es so aus, als ob der Text in die Schaltfläche eingraviert wäre. Positionieren Sie den Text so über der Schaltfläche, daß er sich mehr oder weniger in der Mitte befindet. Es ist etwas schwierig, ein Rechteck exact über einem Oval zu zentrieren, probieren Sie es also, bis es gut aussieht.

Mein Text befindet sich hier:

Tab. 10: Menüverschönerung, Positionen der Textfelder
Text | Position (cm)
--- | ---
| O | L
Movies | 3,15 | 4,25
Genre | 5,14 | 5,76
Dvdextra | 7,16 | 5,80
Dvdmedia | 9,16 | 5,74
Contacts | 3,13 | 10,26

Erstellen Sie ein Makro My Menu, wie wir es schon in den letzten Teilen getan haben. Belassen Sie darin nur das Menü Hilfe mit den Einträgen Über und Hilfe. Weisen Sie diesem Makro alle Indexzungen zu, und nehmen Sie die Auswahl aller Ansichten zurück, so daß nur noch das Hauptfenster verbleibt. Sichern Sie die Datei und wählen Sie Ansicht > Blättern.

Damit wäre das Menü im Grunde fertig. Falls erforderlich können wir daran später noch Änderungen vornehmen. Nun können Sie alle Schaltflächen darauf überprüfen, ob damit die Datenbanken geöffnet werden können. Anschließend fahren wir mit der Datenbank Movies fort.

#### Die Formulare für Movies

Wie Sie sehen, befinden sich auf der Hauptindexzunge alle Felder. Meines Erachtens etwas gedrängt. Löschen wir hier also ein paar Felder. Für die anderen Felder legen wir später neue Formulare an.

Löschen Sie alle Felder außer Title, Genre, Time, Dvdmedia, Dvdextra, Number of disks, Imdbcode, Film ID, Borrowed To, Storyline und Cover. Keine Sorge, sie werden dadurch nicht aus der Datenbank gelöscht.

Schon besser. Nun legen wir ein paar Stile an. Wie schon gesagt erstellen wir elf Formulare, daher empfiehlt es sich, dafür einen Stil anzulegen. Den neuen Formularen weisen wir dann einfach den Stil zu. Erstellen Sie drei Stile mit den Namen Button, Button text und Background.

Wenn Sie damit fertig sind, sichern Sie die Stile und wählen Sie den grauen, gepunkteten Bereich aus. Klicken Sie auf die Indexzunge Stile für den Hintergrund. Ändern Sie nun den Seitennamen und Formularnamen in Input um. Setzen Sie alle Ränder auf 0 cm.

Erstellen Sie die Menüleiste und die Überschrift wie gehabt. Wählen Sie alle Felder aus und passen Sie für Daten und Bezeichnungen Schrift und Schriftfarbe an.

Plazieren Sie die Felder wie folgt:

Tab. 11: Positionen und Typen der Textfelder
Feld | Position (cm) | Typ | Anzeigetyp
--- | --- | --- | ---
| B | H | O | L |  |
Title | 6,0 | 1,0 | 3,0 | 4,0 | Text | Erster Buchstabe groß
Genre | 6,0 | 1,0 | 3,0 | 12,5 | - | Wie eingegeben
Time | 2,5 | 1,0 | 4,5 | 4,0 | Zeit | HH:MM:SS [1]
Dvdformat | 2,5 | 1,0 | 4,5 | 7,5 | - | Wie eingegeben
Dvdextra | 2,5 | 1,0 | 4,5 | 12,5 | - | Wie eingegeben
Numberofdisks | 2,5 | 1,0 | 4,5 | 16,0 | - | Wie eingegeben
Imdbcode | 6,0 | 1,0 | 6,0 | 4,0 | Text | Kleinschreibung
MovieID | 2,5 | 1,0 | 6,0 | 12,5 | - | Wie eingegeben
Cover | 2,3 | 3,0 | 6,5 | 16,0 | - | erhaben, Füllfarbe transparent [2]
Borrowedto | 6,0 | 1,0 | 7,5 | 4,0 | - | Wie eingegeben
Storyline | - | - | - | - | - | [3]

1 Dieses Zeitformat ist standardmäßig nicht vorhanden, aber man kann jedes beliebige entsprechend anpassen. Ich habe HH:MM:SS h ausgewählt, da ich nur das h löschen mußte.

2 Erstellen Sie ein Label Cover und plazieren Sie es auf dem Feld vom Typ pictureplus.

3 Meine Erfahrungen mit Approach sind derart, daß man mitunter den ersten oder letzten Buchstaben einer Zeile nicht richtig sehen kann, wenn man Text in ein Memofeld eingibt und ein Format wie unseres verwendet. Wir erarbeiten uns also eine Umgehungslösung und zeichnen die Linien selbst. Siehe Tabelle 12.

Zeichnen Sie Haarlinien mit folgenden Parametern:

Tab. 12: Parameter für Haarlinien
Typ | Position (cm) | Farbe
--- | --- | ---
| B | H | O | L |
horizontal | 14,5 | - | 4,0 | 10,5 | dunkelgrau
horizontal | 14,45 | - | 4,05 | 10,55 | schwarz
vertikal | - | 4,0 | 4,0 | 10,5 | dunkelgrau
vertikal | - | 3,95 | 4,05 | 10,55 | schwarz
horizontal | 14,45 | - | 4,05 | 14,47 | hellgrau
horizontal | 14,5 | - | 4,0 | 14,5 | weiß
vertikal | - | 3,95 | 18,47 | 10,55 | hellgrau
vertikal | - | 4,0 | 18,5 | 10,5 | weiß

Fügen Sie nun dem Feld mit dem Text Storyline ein Label hinzu.

Tab. 13: Storyline Label
Attribut | Wert
--- | ---
Breite | 14,3
Höhe | 3,8
Oben | 10,6
Links | 4,1
Stil | Keiner, kein Label
Füllfarbe | transparent
Umrandungsfarbe | transparent
Schattenfarbe | transparent

Ziehen Sie das Feld in das gerade angelegte Rechteck.

In Ordnung. Unser Eingabeformular ist nun fast fertig, und alle Felder sind da, wo sie hin sollen.

### Anpassen des Arbeitsblattes

Benennen Sie das Arbeitsblatt in List um und wählen Sie unsere bevorzugten Schriften und Farben aus. Nun bleibt noch, folgende Formulare zu erstellen: Dvdregion, Help, Print und Explanation.

Legen Sie vier Formulare an und passen Sie sie wie folgt an:

- Nennen Sie die Seite so wie das Formular.
- Setzen Sie alle Ränder auf 0 cm.
- Setzen Sie alle Formulare auf Als Dialog anzeigen.
- Erstellen Sie auf jedem Formular ein Rechteck mit den Werten:

  Tab. 14: Formular, Ausmaße Rechteck
  B | H | O | L
  --- | --- | --- | ---
  10,0 | 7,0 | 0,0 | 0,11

  Kopieren Sie das Rechteck per Kopieren und Einfügen auf alle Formulare.

- Erstellen Sie für jedes Formular eine Überschrift mit dem Titel des Formulars, wie wir es schon öfters getan haben: Dvdregionscreen, Helpscreen, Printscreen, Explanationscreen
- Geben Sie unter dem Titel eine Linie mit einer Breite von 0,5 pt an.

#### Bildschirm Dvdregion

Fügen Sie dem Bildschirm Dvdregion folgende Informationen in einem Textfeld hinzu (es muß auch noch eine Schaltfläche zum Schließen hinzugefügt werden):

Tab. 15: Textfeld Dvdregion
B (cm) | H | O | L | Attribute
--- | --- | --- | --- | ---
9,80 | 5,50 | 0,50 | 0,15 | Gill Sans 9 point

1. Playable in all regions. (In this database we use Region Free)
2. United States of America, Canada
3. Greenland, Europe, Egypt, Middle East, Lesotho, Swaziland, South Africa, Japan
4. Southeast Asia, South Korea, Hong Kong, Indonesia, Philippines, Taiwan
5. Australia, New Zealand, Mexico, Central America, South America
6. Russia, lands of the former Soviet Union, Eastern Europe, India, Mongolia, Africa
7. China
8. (Reserved for future use)
9. International areas (like airplanes and ships)

#### Bildschirm Help

Geben Sie auf dem Hilfebildschirm folgende Informationen ein und verwenden Sie die Schriftart Gill Sans 9 point.

F1 Show this screen
F2 Switch to the input screen
F3 Switch to list view

When you are in the input screen with the New button, you add a new record. When you are in the search screen with the New button, you start a new search of the entire database. Make sure the PATH, DPATH, and LIBPATH statements in the CONFIG.SYS include the path to your favorite browser, otherwise the button Internet will not work.

#### Bildschirm Print

Fügen Sie dem Bildschirm Print folgende Informationen hinzu. Verwenden Sie Gill Sans 14 point.

Der erste Teil ist für Print Card (oder List) und der zweite für das Semikolon. Auf diese wird der Text besser angeordnet. Andernfalls kann es abhängig von der Schriftart vorkommen, daß die Semikolons nicht fluchten oder daß der Text schwer zu lesen ist. Daher wurde der Text in Blöcke aufgeteilt.

Tab. 16: Schaltflächen Bildschirm Print
Text für Schaltfläche | B | H | O | L
--- | --- | --- | --- | ---
Print Card | 3,50 | 0,50 | 1,25 | 0,50
; (Semikolon) | 0,50 | 0,50 | 1,25 | 4,00
Print List | 3,50 | 0,50 | 2,50 | 0,50
; (Semikolon) | 0,50 | 0,50 | 2,50 | 4,00

#### Bildschirm Explanation

Geben Sie im Bildschirm Explanation folgende Informationen ein (mit den gleichen Einstellungen wie beim Bildschirm Help):

The field Actor1 is meant to be filled with the lead actor, and the field Actor2 is intended for the lead actress. When it's not clear who it is, or there is no lead actor or actress, these fields can be used for other actors or actresses. The remaining Actor fields are used for actors with the other important roles.

## Das wär's für heute

In Ordnung, ich denke, das sollte für heute mehr als reichen. Die versprochenen Makros müssen bis zum nächstenmal warten. Ich hoffe, daß Ihnen dieser Teil gefallen hat und Sie nächstes Mal wieder dabei sind, wenn wir mit der Datenbank fortfahren.

Übersetzung: Christian Hennecke
Korrektur: Karl-Heinz Markus

##### Daten und Quellen

Beispieldatenbanken: databases.zip
Teil 1: http://de.os2voice.org/VNL/past_issues/VNL0106H_DE/feature_5.html
Teil 2: http://de.os2voice.org/VNL/past_issues/VNL0206H_DE/feature_5.html
Teil 3: http://de.os2voice.org/VNL/past_issues/VNL0406H_DE/feature_6.html