Die vom Formular-Assistenten hinzugefügten Steuerelemente sind nur eine Kostprobe der 20 nativen Steuerelementobjekte, die Access 97 zu bieten hat. Bis jetzt haben Sie den Formular-Assistenten eingesetzt, um Bezeichnungsfelder, Textfelder und Unterformular-Steuerelemente für die Anzeige und das Bearbeiten von Daten in der Tabelle Personal Akte zu erstellen. Diese drei Arten von Steuerelementen genügen zunächst, um konventionelle Formulare zur Verarbeitung von Transaktionen zu realisieren.
Die restlichen 17 Steuerelemente, die das vorliegende Kapitel beschreibt, machen Ihnen die Vorteile der grafischen Benutzeroberfläche von Windows zugänglich. Steuerelemente fügen Sie dem Formular mit Hilfe der Access-Toolbox hinzu. »Listen-« und »Kombinationsfelder« erhöhen die Produktivität und Korrektheit der Dateneingabe, indem sie die Auswahl aus einer Liste vordefinierter Werte erlauben und nicht das Eintippen des Wertes erfordern. »Optionsfelder«, »Umschaltflächen« und »Kontrollkästchen« stellen Ja/Nein-Felder bereit. Wenn Sie diese Steuerelemente in einem Optionsrahmen unterbringen, können diese Steuerelemente vorher festgelegte numerische Werte liefern. Das Bild-Steuerelement (ein neues Feature von Access 95) ergänzt die Steuerelemente Gebundenes und Ungebundenes Objektfeld beim Hinzufügen von Bildern in Ihre Formulare. Mit dem Seitenwechsel-Steuerelement nehmen Sie Einfluß auf das Drucken von Formularen. Das neue Register-Steuerelement von Access 97 erlaubt Ihnen das Erstellen von Formularen in Form von Registerkarten, um zusammengehörige Daten auf Formularen und Unterformularen platzsparend und in einer besseren Organisation anzuzeigen. »Befehlsschaltflächen« erlauben die Ausführung von Access-VBA-Prozeduren. »ActiveX-Steuerelemente«, die in großem Maße die Vielseitigkeit von Access-Formularen erweitern, sind eines der Themen von Kapitel 19 »32-Bit-OLE-Komponenten verwenden«.
Die Toolbox von Access 97 basiert auf der für Microsoft Visual Basic entworfenen Toolbox. Praktisch ist die Access-Toolbox eine Variation einer Symbolleiste. Man wählt eine der 20 Schaltflächen der Toolbox, um ein Steuerelement, das durch das Symbol des Werkzeugs (des Tools) dargestellt wird, in das Formular aufzunehmen. Wenn Sie einen Bericht erzeugen, dient die Toolbox dem gleichen Zweck obwohl die Tools für Benutzereingaben, wie etwa Kombinationsfelder, in Berichten selten zum Einsatz kommen.
In Formularen und Berichten von Access unterscheidet man drei Arten von Steuerelement-Objektkategorien:
Mit Hilfe der Access-Toolbox fügen Sie Steuerelementobjekte in Formulare und Berichte ein. Die Toolbox erscheint nur im Entwurfsmodus von Formularen und Berichten, und nur dann, wenn Sie auf die Schaltfläche Toolbox auf der Symbolleiste klicken oder den Menübefehl Ansicht/Toolbox umschalten. Bei sichtbarer Toolbox ist die entsprechende Menüauswahl markiert. Abbildung 13.1 zeigt die Toolbox. Es stehen 20 Schaltflächen für Steuerelemente und einen Assistenten zur Wahl, deren Namen und Funktionen in Tabelle 13.1 aufgelistet sind.
Abbildung 13.1: Die Toolbox von Access 97 im unverankerten Fenster.
Tabelle 13.1: Steuerelementobjekte der Access-Toolbox.
Die Verwendung von Steuerelementen beim Entwurf von Berichten wird in den folgenden beiden Kapiteln behandelt, die sich ausschließlich auf Access-Berichte beziehen. Auf die Verwendung von gebundenen und ungebundenen OLE-Objekten geht Kapitel 20 (»GrafikenEinfuegen in FormulareEinfuegen in Berichte in FormulareGrafiken einfuegenGrafiken einfuegen und Berichte einfügen«) ein. Mit Befehlsschaltflächen läßt sich Access-VBA-Code ausführen. Den Einsatz der restlichen 16 Steuerelemente auf Ihren Formularen lernen Sie in den folgenden Abschnitten kennen.
Access stellt eine Reihe von Features bereit, die Sie beim Entwurf und der Verwendung komplexerer Formulare unterstützen. Drei dieser Features Steuerelement-Assistenten, Editoren und anpaßbare Symbolleisten werden in den drei nächsten Abschnitten behandelt.
Ein großer Teil des Erfolges von Access läßt sich auf die Assistenten für Formulare, Berichte und Diagramme zurückführen, die den Prozeß der Erstellung von Datenbankobjekten vereinfachen. Der erste Assistent erschien im Microsoft Publisher, und die meisten kommerziellen Anwendungen von Microsoft enthalten gegenwärtig eine Vielzahl von Assistenten. Kapitel 12 führte in den Formular-Assistenten ein. Den Berichts-Assistenten behandelt Kapitel 14. Auf den Diagramm-Assistenten gehen die Kapitel 19 und 20 ein. Entwickler können benutzerdefinierte Assistenten für die Realisierung der vielfältigsten Aufgaben erstellen. Man kann erwarten, daß unabhängige Softwarefirmen in der nächsten Zeit weitere Assistenten auf den Markt bringen, wenn sich der Kreis der Access-Anwender erweitert.
Zum Repertoire der Assistenten von Access gehören die Steuerelement-Assistenten, die Sie Schritt für Schritt durch den Entwurf komplexerer Steuerelementobjekte, wie zum Beispiel Optionsgruppen, Listenfelder und Kombinationsfelder, führen. Der Entwurf und das Füllen von Listen und Kombinationsfeldern erfordert mehrere Schritte. Im vorliegenden Kapitel lernen Sie jedesmal einen Steuerelement-Assistenten kennen, wenn Sie ein neues Steuerelement hinzufügen, für das ein Assistent verfügbar ist.
Ein weiteres Feature, das die Anwendung von Access vereinfacht, sind die Editoren. Den in Kapitel 4 eingeführten Ausdrucks-Editor verwenden Sie, um Ausdrücke zu erstellen, die Werte für berechnete Steuerelemente auf einem Formular oder Bericht bereitstellen. Der Abfrage-Editor erzeugt SQL-Anweisungen, die Sie beim Erstellen von Listenfeldern oder Kombinationsfeldern benötigen, deren Eigenschaft Datenherkunft eine SQL-Anweisung ist, die eine Auswahlabfrage ausführt. Die Verwendung des Abfrage-Editors zum Einfügen von SQL-Anweisungen, die durch grafisches QBE (Query By Example Abfrage nach Beispiel) erzeugt wurde, ist wesentlich einfacher als die ursprünglich bei Access 1.x verwendete Methode: Man mußte eine Abfrage erstellen, das SQL-Fenster öffnen, die SQL-Anweisung in die Zwischenablage kopieren und sie dann in das Textfeld der Eigenschaft Datenherkunft einfügen. Der Einsatz des Abfrage-Editors wird im Abschnitt »Mit dem Abfrage-Editor ein Kombinationsfeld füllen« gegen Ende dieses Kapitels beschrieben.
Die bisherigen Kapitel haben demonstriert, daß die Symbolleisten von Access viele Shortcut-Schaltflächen umfassen, um den Entwurf und den Einsatz von Access-Datenbankobjekten zu beschleunigen. Access 97 erlaubt wie die meisten anderen modernen Microsoft-Anwendungen die Anpassung der Symbolleisten an Ihre persönlichen Vorstellungen. Access 1.x speicherte Symbolleisten als Formulare in UTILITY.MDA. Access 2.0 verwendete die 16-Bit-DLL für allgemeine Symbolleisten, COMMTB.DLL, um Symbolleisten zu manipulieren. Access 95 verwendete die 32-Bit-Version dieser DLL, COMMTB32.DLL, und speicherte (wie Access 2.0) Definitionen der angepaßten Versionen von Standardsymbolleisten in der Tabelle MSysToolbars von SYSTEM.MDW. Access 97 verwendet ebenfalls die COMMTB32.DLL, um Symbolleisten zu manipulieren, und speichert benutzerdefinierte Symbolleisten in SYSTEM.MDW. Symbolleisten, die Sie selbst erstellen, werden in einer versteckten Systemtabelle MSysCmdbars in jeder Datenbank gespeichert.
Per Drag & Drop können Sie konventionelle, unverankerte Entwurfswerkzeuge, beispielsweise die Toolbox, in konventionelle Symbolleisten umwandeln. Um die Toolbox als Symbolleiste zu verankern, d. h. in eine verankerte Symbolleiste umzuwandeln, führen Sie die folgenden Schritte aus:
Eine Symbolleiste können Sie an jedem Rand des Hauptfensters von Access verankern. Setzen Sie den Mauszeiger auf einen leeren Bereich der Symbolleiste (der nicht durch eine Schaltfläche eingenommen wird), drücken und halten Sie die Maustaste nieder, und ziehen Sie dann die Symbolleiste, bis sich ihr Umriß entlang des linken, rechten oder unteren Randes des Fensters zeigt. Wenn Sie die Symbolleiste innerhalb der Grenzen des Access-Hauptfensters ablegen, wird sie zu einer unverankerten Symbolleiste.
Über das Dialogfeld Anpassen können Sie SchaltflächenSymbolleisten in Symbolleisten aufnehmen oder daraus löschen. Wenn Sie mit der normalen VGA-Auflösung arbeiten (640 x 480 Pixel), ist wenig Platz, um neue Schaltflächen in die Symbolleiste Formularentwurf aufzunehmen, und in der Symbolleiste Formatierung ist überhaupt kein Platz mehr vorhanden. Allerdings weist die Symbolleiste Toolbox noch Platz für sieben oder acht zusätzliche Schaltflächen auf, wenn das Hauptfenster von Access maximiert ist. Schaltflächen für Utilities für den Formularentwurf nehmen Sie folgendermaßen in die Symbolleiste Toolbox auf (gleichgültig, ob im verankerten oder unverankerten Zustand):
Abbildung 13.2: Die Toolbox mit der hinzugefügten Schaltfläche Am Raster ausrichten und dem geöffneten Dialogfeld Anpassen, das für das Hinzufügen von Befehlen verwendet wird.
Das Dialogfeld Anpassen für Symbolleisten bietet die folgenden zusätzlichen Möglichkeiten:
Benutzerdefinierte Symbolleisten, denen Sie Namen zuweisen, werden Teil Ihrer Datenbankanwendung und in der aktuellen Datenbankdatei gespeichert. Sie sind nur verfügbar, wenn die betreffende Datenbank geöffnet ist. Eingebaute Access-Symbolleisten, die Sie anpassen, werden in SYSTEM.MDW gespeichert und sind in jeder Access-Arbeitssitzung verfügbar.
Das Aussehen der 17 verschiedenen Steuerelemente, die Sie mit der Toolbox erzeugen können, zeigt Abbildung 13.3 im Entwurfsmodus. Den Steuerelementen Seitenwechsel, Bild, ungebundenes Objektfeld, Linie und Rechteck wurden Bezeichnungsfelder hinzugefügt, um sie im Bild zu kennzeichnen. Die Bezeichnungsfelder sind keine eigentlichen Komponenten der Steuerelemente.
Abbildung 13.3: Formular in der Entwurfsansicht mit den 17 Steuerelementen, die Sie mit Hilfe der Toolbox erzeugen können.
Abbildung 13.4 zeigt die Steuerelemente in der Formularansicht (nach Klicken auf die Schaltfläche Formularansicht). Das Textfeld enthält die Fehlermeldung #NAME?, da dem Inhalt des Textfelds kein Wert zugewiesen wurde. Die Listen- und Kombinationsfelder zeigen willkürliche Testwerte an, die hier nur zur Demonstration in der Formularansicht eingegeben wurden. Das Bild-Feld zeigt eine Kopie der Grafik GLOBUS.WMF an. Die Eigenschaft Größenänderung wurde hier auf Zoomen gesetzt. Der Inhalt des Bild-Feldes läßt sich nicht bearbeiten. Das ungebundene Objektfeld enthält die Grafikdatei STEIN.BMP. Diese Datei ist ein als Symbol angezeigtes, eingebettetes OLE-Objekt. Das gebundene Objektfeld ist leer, da seinem Inhalt kein Wert zugewiesen ist. Das Unterformular-Feld zeigt einen Teil von Personal Akte Unterformular an. (Das Feld ist zu klein, um einen nennenswerten Teil des Unterformulars darin unterzubringen.) Ein Unterformular-Steuerelement läßt sich nur erzeugen, wenn Sie den Namen eines existierenden Formulars als Wert eingeben. Auf dem Register-Steuerelement wurden keine Felder untergebracht. Das Steuerelement zeigt die Standardanzahl von Registerkarten an (2). Auf die erste Seite wurde ein ungebundenes Bezeichnungsfeld eingefügt, um das Steuerelement zu kennzeichnen.
Abbildung 13.4: Formular in der Formularansicht mit den 17 Steuerelementen, die Sie mit der Toolbox erzeugen können. Beachten Sie, daß die Liste im Kombinationsfeld heruntergeklappt ist.
Eigene Experimente stellen die beste Möglichkeit dar, etwas über den Einsatz einer neuen Computeranwendung zu lernen. Es spielt dabei keine Rolle, wie gut die Dokumentation des Produkts oder ein Buch wie dieses einen Prozeß beschreibt, für das Ausprobieren der Methoden gibt es keine Alternative. Dieser Grundsatz gilt unabhängig davon, ob Sie ein Formular entwerfen oder Programmcode schreiben. Die Access-Programmierer von Microsoft haben die Benutzeroberfläche für das Erstellen benutzerdefinierter Formulare intuitiv und flexibel gestaltet. Nachdem Sie die Beispiele in diesem Kapitel nachvollzogen haben, werden Sie wahrscheinlich dieser Feststellung zustimmen.
Die Beispiele in diesem Kapitel stützen sich auf die Tabelle Personal Akte aus Kapitel 4 und zwei Abfragen: Personal Akte Abfrage (die Sie im nächsten Abschnitt dieses Kapitels erstellen) und Personal Akte Unterformular aus Kapitel 12.
Die Tabelle Personal Akte identifiziert die Beschäftigten nur durch deren Personal-Nummer, die sich im Feld paNr befindet. Wie bereits erläutert, müssen Sie den Namen des Beschäftigten und seine Position auf dem Formular anzeigen, um die Eingabe von Datensätzen für die falsche Person zu vermeiden. Um für das Formular den Namen des Beschäftigten und dessen Position zu erhalten, müssen Sie eine 1:n-Abfrage erstellen, die die Tabelle Personal (mit nur einem Eintrag pro Beschäftigten) mit der Tabelle Personal Akte (die mehrere Einträge für einen Beschäftigten haben kann) verknüpft.
Um die Abfrage Personal Akte Abfrage zu erstellen, die als Datenquelle für Ihr Hauptformular dient, führen Sie die folgenden Schritte aus:
Abbildung 13.5: Die obere Fensterhälfte des Abfrage-Entwurfsfensters für die Abfrage Personal Akte Abfrage.
Abbildung 13.6: Der Entwurfsbereich für die Abfrage Personal Akte Abfrage.
Abbildung 13.7: Das Dialogfeld Speichern unter für die Abfrage.
Nachdem Sie nun eine Abfrage mit einer vereinigten Datensatzquelle für das Hauptformular erstellt haben, können Sie mit dem Entwurf des benutzerdefinierten Formulars aus mehreren Tabellen beginnen.
Für den Entwurf eines Formulars ohne die Hilfe des Formular-Assistenten stellt Access ein leeres Standardformular bereit, in das Sie die aus der Toolbox ausgewählten Steuerelemente aufnehmen können. Um ein leeres Formular zu erstellen, mit dem Sie mit den Access-Steuerelementen experimentieren können, führen Sie die folgenden Schritte aus:
Abbildung 13.8: Das leere Standardformular von Access mit den hinzugefügten Formularkopf- und Formularfußbereichen.
Abbildung 13.9: Erweitern des Detailbereichs des leeren Formulars.
Mit dem leeren Formular erstellen Sie ein Formular ähnlich dem Formular Personal Akte in Kapitel 12.
Das Bezeichnungsfeld ist das am einfachsten anzuwendende Steuerelement der Toolbox. Bezeichnungsfelder sind ungebunden und statisch, und sie zeigen nur den eingegebenen Text an. Statisch bedeutet, daß das Bezeichnungsfeld den anfänglich zugewiesenen Wert beibehält. Führen Sie die folgenden Schritte aus, um ein Bezeichnungsfeld in den Formularkopfbereich hinzuzufügen:
Abbildung 13.10: Hinzufügen eines Bezeichnungsfeld-Steuerelements in den Formularkopf.
Nach der in den obigen Schritten beschriebenen grundlegenden Prozedur fügen Sie die meisten der anderen Typen von Steuerelementen in ein Formular ein. (Falls die Schaltfläche Steuerelement-Assistenten aktiviert ist, starten bestimmte Schaltflächen der Toolbox wie etwa die Bild- und Befehlsschaltflächen einen Steuerelement-Assistenten, der Sie beim Erstellen des Steuerelements unterstützt.) Nachdem Sie das Steuerelement hinzugefügt haben, verwenden Sie die in Kapitel 12 beschriebenen Ziehpunkte, um das Steuerelement auf die gewünschte Position zu verschieben und die Größe an den Inhalt anzupassen. Die Position des Ziehpunkts zum Verschieben bestimmt die Eigenschaften Links (horizontal) und Oben (vertikal) des Steuerelements. Mit den Ziehpunkten zur Größenänderung richtet man die Eigenschaften Breite und Höhe des Steuerelements ein.
Bei einem markierten Steuerelement, das Text als Wert akzeptiert, zeigt die Symbolleiste die Kombinationsfelder für Schriftart und Schriftgrad. Um den Text zu formatieren, der in einem Bezeichnungsfeld oder Textfeld erscheint, führen Sie die folgenden Schritte aus:
Wenn Sie die Eigenschaften eines Steuerelements ändern, werden die neuen Werte im Eigenschaftenfenster für das Steuerelement widergespiegelt, wie es Abbildung 13.11 zeigt. Wenn Sie das Bezeichnungsfeld verschieben oder in der Größe ändern, können Sie die Änderungen der Werte für Links, Oben, Breite und Höhe im Eigenschaftenfenster verfolgen. Normalerweise verwenden Sie das Eigenschaftenfenster nur, um die Charakteristika eines Steuerelements zu ändern, falls eine Symbolleistenschaltfläche oder Menüauswahl nicht vorhanden ist.
Für jedes Bezeichnungsfeld oder die Beschriftung eines Steuerelements lassen sich unterschiedliche Schriftarten und die Attribute Fett, Kursiv und Unterstrichen (oder eine Kombination davon) festlegen. Dem Textinhalt von Listenfeldern und Kombinationsfeldern können Sie eine von der Vorgabe abweichende Schriftart oder Größe zuweisen, obwohl diese Praxis in Windows-Anwendungen nicht üblich ist.
Abbildung 13.11: Das Bezeichnungsfeld für den Formulartitel und das zugehörige Eigenschaftenfenster.
Access verwendet die folgenden vier grundlegenden Arten von Textfeldern:
Die folgenden Abschnitte zeigen, wie man die ersten drei Typen von Textfeldern erstellt.
Das gebräuchlichste Textfeld in Access-Formularen ist das einzeilige gebundene Textfeld. Das Formular Personal Akte in Kapitel 12 wurde hauptsächlich mit diesen Steuerelementen aufgebaut. Um ein Textfeld, das an ein Feld der Datenquelle des Formulars gebunden ist, mit Hilfe des Feldlistenfensters hinzuzufügen, führen Sie die folgenden Schritte aus:
Abbildung 13.12: Hinzufügen eines Textfelds, das an das Feld paNr gebunden ist.
Die Schritte 3 und 4 im obigen Beispiel sollten demonstrieren, wie man kleinere Anpassungen am Entwurf von Steuerelementen vornimmt, um das Erscheinungsbild der Formulare zu verbessern. Schritt 5 dient der Sicherheit, da Sie bereits einige Mühe in dieses Beispielformular investiert haben (das Sie weiterhin zum Experimentieren heranziehen und schließlich in den folgenden Abschnitten dieses Kapitels fertigstellen). Darüber hinaus gehört es ohnehin zum guten Arbeitsstil, die Dokumente regelmäßig zu speichern.
Obwohl Sie für die Anzeige von Kommentaren oder anderen längeren Textinhalten ein konventionelles Textfeld einsetzen können, muß der Benutzer dann das Caret durch das Textfeld blättern, um den Inhalt zu lesen. In einem mehrzeiligen Textfeld lassen sich dagegen längere Texte über mehrere Zeilen hinweg anzeigen, wobei die Länge der Zeilen durch die Breite des mehrzeiligen Textfelds bestimmt wird. Führen Sie die folgenden Schritte aus, um ein mehrzeiliges Textfeld zu erstellen:
Abbildung 13.13: Hinzufügen des mehrzeiligen Textfeldes paKommentare.
Berechnete TextfelderIn einem berechneten TextfeldAusdruecke können Sie das Ergebnis aller gültigen Access-Ausdrücke anzeigen. Ein Ausdruck muß mit einem Gleichheitszeichen beginnen und kann Access-Funktionen für die Rückgabe von Werten verwenden. Wie in der Einführung zu diesem Abschnitt erwähnt, können Sie mit Hilfe berechneter Textfelder Berechnungen auf der Basis von Feldwerten anzeigen. Um ein berechnetes Textfeld zu erzeugen, das den Inhalt des aktuellen Datums und der Uhrzeit anzeigt, führen Sie die folgenden Schritte aus:
Abbildung 13.14: Erstellen und Formatieren eines berechneten Textfeldes für die Anzeige von Datum und Uhrzeit.
Mit der Format-Eigenschaft, die Sie in Kapitel 4 kennengelernt haben, läßt sich das Anzeigeformat von Datum, Uhrzeit und Zahlen in einem Textfeld auf einem Formular festlegen. Um einen Datumseintrag zu formatieren, führen Sie die folgenden Schritte aus:
Die einem gebundenen Textfeld auf einem Formular oder Bericht zugewiesene Format-Eigenschaft setzt das beim Tabellenentwurf für das Textfeld festgelegte Format außer Kraft.
Über die Zwischenablage von Windows können Sie leicht Kopien von Steuerelementen und deren Eigenschaften anlegen. Im folgenden Beispiel erstellen Sie eine Kopie eines der Datum/Zeit-Steuerelemente:
Abbildung 13.15: Der Titel und die Textfelder des Formulars in der Formularansicht.
Textfelder (und ihre zugeordneten Bezeichnungsfelder) sind die am häufigsten verwendeten Steuerelementobjekte in Access-Formularen.
Ein Formular, das das Entwurfsfenster von Access ausfüllt, muß nicht unbedingt das Fenster im Ausführen-Modus füllen. Im Ausführen-Modus kann bereits der Anfang einer zweiten Kopie des Formulars zu sehen sein. Das hängt damit zusammen, daß die Eigenschaft Standardansicht den Wert Endlosformular aufweist. (In Access 2.0 war Endlosformular der Vorgabewert für Standardansicht; in Access 95 und Access 97 ist die Standardansicht auf Einzelnes Formular voreingestellt Ihr Testformular wird also nicht das zweite Formular am unteren Rand des Bildschirms zeigen.) Bei Formularen stehen Ihnen die folgenden drei Werte für die Eigenschaft Standardansicht zur Verfügung:
Um die Eigenschaft Standardansicht des Formulars zu ändern, führen Sie die folgenden Schritte aus:
Die vorgenommenen Änderungen an der Eigenschaft Standardansicht können Sie überprüfen, indem Sie auf die Schaltfläche Formularansicht klicken und das Aussehen des Formulars begutachten.
Optionsfelder, Umschaltflächen und Kontrollkästchen können nur Ja/Nein-Werte (-1/0 oder Wahr/Falsch) zurückgeben, wenn man sie als eigenständige Elemente auf einem Formular einsetzt. Ordnet man diese Steuerelemente innerhalb einer Optionsgruppe an, können sie eine Zahl zurückgeben, die man in der Eigenschaft Optionswert des Steuerelements festlegt.
Die Möglichkeit der Zuweisung von Zahlen an die Eigenschaft Optionswert erlaubt Ihnen die Verwendung der eingangs genannten drei Steuerelemente innerhalb einer Optionsgruppe für die Zuweisung von Werten an das Feld paEinstufung der Tabelle Personal Akte. Optionsfelder findet man sehr häufig in Windows-Anwendungen, um einen Wert aus einer begrenzten Anzahl von Werten auszuwählen.
Per Vorgabe sind alle Steuerelemente, die Sie mit der Toolbox hinzufügen, ungebundene Steuerelemente. Sie können ein Steuerelement an ein Feld binden, indem Sie das gewünschte Steuerelement auswählen und dann in der Feldliste den Namen des Feldes anklicken, an das Sie das Steuerelement binden möchten. Eine andere Möglichkeit für das Binden eines Steuerelements: Man erstellt mit einem Tool ein ungebundenes Steuerelement und gibt dann den Namen eines Feldes in das Textfeld der Eigenschaft Steuerelementinhalt ein (das Textfeld Steuerelementinhalt erreichen Sie durch Klicken auf die Registerkarte Daten im Eigenschaftenfenster für das Steuerelement).
In Access 97 läßt sich eine Optionsgruppe folgendermaßen erstellen: 1. mit dem Optionsgruppen-Assistenten oder 2. durch manuelles Hinzufügen von Optionsfeldern oder Umschaltflächen in die Optionsgruppe. Die beiden folgenden Abschnitte erläutern diese Methoden.
Der Optionsgruppen-Assistent gehört zu den drei Steuerelement-Assistenten, die Sie schrittweise durch das Erstellen komplexer Steuerelemente führen. Um eine Optionsgruppe für das Feld paEinstufung der Tabelle Personal Akte mit dem Optionsgruppen-Assistenten zu erstellen, führen Sie die folgenden Schritte aus:
Abbildung 13.16: Das erste Dialogfeld des Optionsgruppen-Assistenten.
Abbildung 13.17: Auswahl eines Standardwertes für die Optionsgruppen.
Abbildung 13.18: Den Optionsfeldern die numerische Eigenschaft Optionswert zuweisen.
Abbildung 13.19: Binden der Optionsgruppe an eine Spalte der Datenherkunft des Formulars.
Abbildung 13.20: Auswahl eines Stils für die Optionsgruppe und Bestimmung des Typs der hinzuzufügenden Schaltfläche.
Abbildung 13.21: Die Eigenschaft Beschriftung für das Bezeichnungsfeld der Optionsgruppe festlegen.
Abbildung 13.22: Die vom Optionsgruppen-Assistenten erzeugte Optionsgruppe.
Zum Testen Ihrer neuen gebundenen Optionsgruppe fügen Sie ein Textfeld hinzu, das an die Spalte paEinstufung der dem Formular zugrundeliegenden Abfrage gebunden ist. Abbildung 13.23 zeigt die Optionsgruppe in der Formularansicht, wobei der Abstand zwischen den Schaltflächen verringert, das Attribut Fett dem Bezeichnungsfeld der Optionsgruppe zugewiesen und das Textfeld Einstufung hinzugefügt wurde. Klicken Sie auf die Optionsfelder, um den Wert für die Einstufung im Textfeld anzuzeigen.
Abbildung 13.23: Die neue Optionsgruppe in der Formularansicht. Das hinzugefügte Textfeld Einstufung dient der Demonstration bei Auswahl der verschiedenen Optionen.
Obwohl der Optionsgruppen-Assistent beim Erstellen von Optionsgruppen hervorragende Arbeit leistet, sollte man auch in der Lage sein, eine gebundene Optionsgruppe aus eigener Kraft aufzubauen. Um ein Optionsgruppenfeld an das Feld paEinstufung der Abfrage Personal Akte zu binden, ohne sich dabei auf den Steuerelement-Assistenten zu stützen, führen Sie die folgenden Schritte aus:
Optionsfelder, Umschaltflächen und Kontrollkästchen innerhalb von gebundenen Feldern erben viele der Feldeigenschaften beispielsweise Steuerelementinhalt. Das Optionsgruppenfeld realisiert die Bindung dieser Werkzeuge, wenn sie sich innerhalb eines Rahmens befinden. Demzufolge brauchen Sie die Feldliste bei diesen Steuerelementen nicht verwenden. Das Hinzufügen mehrerer Kopien eines Steuerelements ist leichter, wenn Sie auf die Schaltfläche des Werkzeugs in der Toolbox doppelklicken, um das Werkzeug zu verriegeln. (Klikken des Werkzeugs zu einem beliebigen Zeitpunkt hebt die Verriegelung auf.) Um mit fünf Optionsfeldern Werte an das Feld paEinstufung zuzuweisen, führen Sie die folgenden Schritte aus:
Abbildung 13.24: Manuelles Hinzufügen eines zweiten Optionsfeldes in einen Optionsrahmen.
Abbildung 13.25: Die Optionsgruppen und die Optionsfelder in der Formularansicht.
Kommt in Ihrer Tabelle ein Ja/Nein-Feld vor, können Sie einen einzelnes Optionsfeld (nicht innerhalb einer Optionsgruppe) verwenden, das an ein Feld gebunden ist, um die Ja/Nein-Werte für den Benutzer zu erzeugen.
In Access können Sie Steuerelemente und deren Eigenschaften in die Windows-Zwischenablage kopieren. Damit lassen sich Steuerelemente auf einem Formular erstellen und in ein anderes kopieren. Wenn Sie einen Standardstil für Überschriften verwenden, können Sie die Steuerelemente im Kopf eines bereits entworfenen Formulars in ein neues Formular kopieren und den Inhalt wie erforderlich bearbeiten. Das Formular mit den zu kopierenden Steuerelementen muß sich nicht in derselben Datenbank wie das Zielformular befinden, in das die Kopie eingefügt wird. Sie können eine Bibliothek von Standard-Steuerelementen in einem eigenen Formular anlegen, das nur für die Aufnahme von standardisierten Steuerelementen vorgesehen ist.
Das berechnete Textfeld Uhrzeit/Zeit ist ein Kandidat für die Aufnahme in das Formular Personal Akte, das Sie in Kapitel 12 erstellt haben. Vielleicht möchten Sie auch ein Datum/Zeit-Textfeld in den Formularkopf oder den Detailbereich aller Ihrer Transaktionsformulare aufnehmen. Um das Datum/Zeit-Steuerelement in das Formular Personal Akte einzubauen, führen Sie die folgenden Schritte aus:
Klicken Sie auf die Auswahlleiste des Detailbereichs, und führen Sie dann eine der folgenden Aktionen aus: Drücken von (Strg)+(V), Klicken auf die Schaltfläche Einfügen auf der Symbolleiste oder Wahl von Bearbeiten/Einfügen. In der oberen linken Ecke des Detailbereichs erscheint eine Kopie des Steuerelements.
Abbildung 13.26: Kopieren des berechneten Feldes Datum/Zeit in das Formular Personal Akte über die Zwischenablage.
Abbildung 13.27: Das Textfeld Datum/Zeit in der Formularansicht.
Prinzipiell erfüllen Listenfelder und Kombinationsfelder die gleiche grundlegende Aufgabe: sie ermöglichen die gezielte Auswahl eines Wertes aus einer Liste, d. h. man muß den Wert nicht in ein Textfeld eintippen. Diese beiden Arten von Listenfeldern sind insbesondere nützlich, wenn man einen Code eingeben muß, der den Namen einer Person, einer Firma oder eines Produkts repräsentiert. Es entfällt das Suchen in einer gedruckten Code-Liste mit den zugeordneten Namen, um die Eingabe vornehmen zu können. Die Unterschiede zwischen Listenfeldern und Kombinationsfeldern sind in der folgenden Übersicht zusammengestellt:
Dropdown-Listen und Kombinationsfelder sind zwei leistungsfähige Steuerelemente, die Microsoft-Programmierer für Access entwickelt haben. Als Datenquelle für diese Steuerelemente kommen eine Tabelle, eine Abfrage, eine Liste der von Ihnen bereitgestellten Werte oder die Namen von Access-VBA-Funktionen in Frage. Die Felder können so viele Spalten haben, wie man zur Anzeige der Daten für eine korrekte Auswahl benötigt.
In der Mehrheit der Fälle bindet man die Dropdown-Liste oder das Kombinationsfeld an ein Feld, so daß die Auswahl den Wert dieses Feldes aktualisiert. Zweispaltige Steuerelemente werden am häufigsten verwendet. Der Code in der ersten Spalte aktualisiert den Wert des Feldes, an den das Steuerelement gebunden ist, während die zweite Spalte den zum Code zugeordneten Namen enthält. Sinnvoll läßt sich eine mehrspaltige Dropdown-Liste mit Beschränkung der Auswahl auf die Liste zum Beispiel bei der Zuweisung von Personalnummern der Geschäftsführer, Abteilungsleiter und Manager an die Felder paInitiiertVon und paGenehmigtVon im Formular Personal Akte einsetzen. In den beiden folgenden Abschnitten nutzen wir den Kombinationsfeld-Assistenten, um die Dropdown-Liste paInitiiertVon hinzuzufügen. Anschließend kommen manuelle Methoden zum Einsatz, um die Dropdown-Liste paGenehmigtVon aufzunehmen.
Der Entwurf von Kombinationsfeldern ist ein komplizierterer Prozeß als das Erstellen einer Optionsgruppe, so daß Sie wahrscheinlich den Kombinationsfeld-Assistenten für die meisten Ihrer Kombinationsfelder verwenden, die Sie in Formulare aufnehmen. Führen Sie die nachstehenden Schritte aus, um die Dropdown-Liste paInitiiertVon zu erstellen, die Ihnen die Auswahl aus einer Liste der Angestellten der Nordwind GmbH erlaubt:
Abbildung 13.28: Auswahl der Quelle der Listenwerte im ersten Dialogfeld des Kombinationsfeld-Assistenten
Abbildung 13.29: Auswahl der Eigenschaft Datenherkunft des Kombinationsfeldes.
Abbildung 13.30: Auswahl der Felder der Tabelle, mit der Sie das Kombinationsfeld füllen wollen.
Abbildung 13.31: Auswahl der Spaltenbreite für das Kombinationsfeld und einer ausgeblendeten Schlüsselfeldspalte.
Abbildung 13.32: Zuweisen des Eigenschaftswertes Steuerelementinhalt.
Abbildung 13.33: Im letzten Dialogfeld des Kombinationsfeld-Assistenten bearbeiten Sie das Bezeichnungsfeld für das Steuerelement.
Abbildung 13.34: Das neue Kombinationsfeld im Entwurfsmodus.
Abbildung 13.35: Das Kombinationsfeld Initiiert von im Ausführenmodus.
Wie bereits weiter oben in diesem Kapitel erwähnt, ist es eine gute Übung, Steuerelementobjekte manuell zu erzeugen, damit Sie die mit jedem Steuerelement verbundenen Eigenschaften kennenlernen. Mit den nachstehenden Schritten erstellen Sie das zweispaltiges Kombinationsfeld paGenehmigtVon für das Formular Personal Akte Eingabe:
Abbildung 13.36: Festlegen der Werte für die Dateneigenschaften des Kombinationsfeldes
Abbildung 13.37: Das mehrspaltige Kombinationsfeld Genehmigt von in der Formularansicht
Listenfelder und Kombinationsfelder sind eine Wohltat für Entwickler, da Access die ganze Arbeit übernimmt. Benutzer, die in frühen Versionen von Clipper oder späteren Versionen von dBASE den notwendigen Code schreiben mußten, um ein Pop-up-Fenster mit einer Dropdown-Liste zu erzeugen, werden die Leichtigkeit bei der Erzeugung eines Kombinationsfeldes in Access zu schätzen wissen.
Wenn die Eigenschaft Herkunftstyp für ein Kombinationsfeld auf Tabelle/Abfrage gesetzt ist, können Sie eine SQL-Anweisung für eine benannte Tabelle oder Abfrage als Wert der Eigenschaft Datensatzherkunft substituieren. Bei Abfragen verhindert diese Substitution, daß die Liste der Abfragen im Datenbankfenster mit benannten Abfragen überladen wird, die für das Erstellen einer Vielzahl von Kombinationsfeldern zum Einsatz kommen. Sowohl bei Tabellen als auch Abfragen können Sie nur die Felder oder Spalten wählen, die Sie für das Textfeld benötigen, wodurch das Ausblenden von Spalten entfällt. Außerdem können Sie eine Sortierreihenfolge für das Listenelement Ihres Kombinationsfeldes festlegen.
Um den Abfrage-Editor von Access 97 aufzurufen und eine SQL-Anweisung für das Füllen des Kombinationsfeldes Genehmigt von zu erstellen, führen Sie die folgenden Schritte aus:
Abbildung 13.38: Bestätigen Sie, daß Sie eine Abfrage basierend auf der Tabelle Personal aufbauen möchten.
Wechseln Sie in die Formularansicht, um die Wirkung der Sortierung (durch die Klausel ORDER BY) auf die Abfrage zu testen.
Abbildung 13.39: Der Entwurf der Abfrage zum Erstellen der SQL-Anweisung für das Kombinationsfeld Genehmigt von.
Abbildung 13.40: Bestätigung Ihrer Änderung an der Eigenschaft Datensatzherkunft.
Abbildung 13.41: Die neue SQL-Anweisung für die Eigenschaft Datensatzherkunft des Kombinationsfelds Genehmigt von, angezeigt im Zoom-Feld.
Eine weitere Anwendung für Listenfelder und Kombinationsfelder ist das Heraussuchen von Werten aus einer feststehenden Liste von Optionen. Eine Dropdown-Liste zur Auswahl eines Wertes für die Einstufung spart auf einem Formular Platz verglichen mit dem äquivalenten Steuerelement, das mit Optionsfeldern innerhalb einer Optionsgruppe erzeugt wird. Wenn Sie kompliziertere Formulare erstellen, werden Sie feststellen, daß die Anzeige feststehender Werte an Bedeutung zunimmt.
Die in das Formular Personal Akte Eingabe aufgenommene Optionsgruppe bietet eine Auswahl von nur fünf der 10 möglichen Einstufungen. Führen Sie die folgenden Schritte aus, um mit dem Kombinationsfeld-Assistenten eine Dropdown-Liste hinzuzufügen, die die Auswahl aller möglichen Werte gestattet:
Abbildung 13.42: Eingabe statischer Werte in das Datenblatt des Kombinationsfeld-Assistenten.
Abbildung 13.43: Festlegung der Spaltenbreiten des Kombinationsfeldes.
Abbildung 13.44: Wahl einer Spalte, die an ein Feld einer Tabelle oder eine Spalte einer Abfrage zu binden ist.
Eine weitere Gelegenheit für den Einsatz eines Festwert-Kombinationsfeldes bietet sich beim Textfeld Typ an. Für die Leistungseinschätzung sind die Werte Quartalsbeurteilung, Jährliche Beurteilung, Lohnangleichung, Gehaltsangleichung, Gratifikationsangleichung usw. vorgesehen, die jeweils durch einen Buchstabencode repräsentiert werden.
Abbildung 13.45: Die Dateneigenschaften für das Kombinationsfeld Einstufung.
Abbildung 13.46: Das geöffnete Kombinationsfeld mit feststehenden Einstufungswerten in der Formularansicht.
Mit dem Kombinationsfeld-Assistenten in Access 97 können Sie noch einen dritten Typ von Kombinationslistenfeld, erstellen eine Kombinationsliste, die einen Datensatz auf dem Formular basierend auf dem in der Liste ausgewählten Wert lokalisiert. Diesen Typ von Kombinationsfeld können Sie zum Beispiel einsetzen, um auf dem Formular Personal Akte Eingabe ein Feld Nachname suchen zu erstellen, das eine Dropdown-Liste aller Nachnamen aus der Tabelle Personal enthält. Somit lassen sich schnell Datensätze der Personalvorgänge für diese Beschäftigten aufsuchen.
In den folgenden Schritten erstellen Sie ein Kombinationsfeld zum Suchen von Formulardatensätzen basierend auf dem im Kombinationsfeld ausgewählten Wert:
Wenn Sie diese Art von Kombinationsfeld erstellen, erzeugt der Kombinationsfeld-Assistent automatisch eine Access-VBA-Ereignisprozedur für die Eigenschaft Nach Aktualisierung des Kombinationsfeldes (siehe Eigenschaftenfeld in Abbildung 13.47). Es handelt sich dabei um eine VBA-Prozedur, die Access bei Auftreten eines bestimmten Ereignisses ausführt in diesem Fall nach dem Aktualisieren des Kombinationsfeldes.
Um den Code der vom Assistenten für das neue Kombinationsfeld erstellten Ereignisprozedur anzuzeigen, öffnen Sie das Eigenschaftenfenster für das Kombinationsfeld Gehe zu, klicken auf die Registerkarte Ereignisse, markieren das Textfeld der Eigenschaft Nach Aktualisierung und klicken dann auf die Schaltfläche mit den Auslassungspunkten (...). Access öffnet das Fenster des Code-Editors (Abbildung 13.49). Nachdem Sie sich den Code angesehen haben, klicken Sie auf die Schließen-Schaltfläche des Fensters, um den Code-Editor zu schließen und in den Entwurfsmodus zurückzukehren.
Abbildung 13.47: Das neue Kombinationsfeld, das einen Datensatz auf dem Formular basierend auf einem im Kombinationsfeld ausgewählten Wert sucht.
Abbildung 13.48: Das Kombinationsfeld für das Aufsuchen eines Datensatzes im Formular in der Formularansicht.
Bei einem derartigen Kombinationsfeld wählen Sie einen Wert aus der Liste aus. Daraufhin aktualisiert Access das Textfeld des Kombinationsfeldes und ruft damit den Access-VBA-Code für die Ereignisprozedur Nach Aktualisierung (AfterUpdate) auf. Der VBA-Code in der Prozedur AfterUpdate sucht nach dem ersten Datensatz im Recordset des Formulars mit einem übereinstimmenden Wert und zeigt ihn an. Mit diesem Typ von Kombinationsfeld können Sie nur den ersten übereinstimmenden Datensatz in einem Recordset suchen.
Abbildung 13.49: Das Modulfenster für die Ereignisprozedur Nach Aktualisierung (AfterUpdate) des Kombinationsfeldes zur Datensatzsuche.
Das Feld auf dem Formular basiert auf der Spalte Nachname der dem Feld zugrundeliegenden Abfrage. Deshalb erscheinen in der Liste gegebenenfalls mehrere gleiche Einträge für alle Datensätze mit diesem Nachnamen im Recordset, der durch die Abfrage Personal Akte Abfrage erzeugt wird. Wenn zum Beispiel mehrere Datensätze in Personal Akte für Steve Buchanan existieren, erscheinen entsprechend der Anzahl dieser Datensätze in der Kombinationsliste mehrere Buchanan-Einträge. Damit die auf dem Formular zu suchenden Nachnamen nur einmal in der Liste erscheinen, ändern Sie die Eigenschaft Datensatzherkunft und ermitteln die Werte des Feldes Nachname für das Kombinationsfeld über eine SQL-Anweisung, die auf einer Abfrage aus der Tabelle Personal basiert.
Um die Eigenschaft Datensatzherkunft zu ändern, führen Sie die im Abschnitt »Mit dem Abfrage-Editor ein Kombinationsfeld füllen« weiter vorn in diesem Kapitel beschriebene Prozedur aus: Öffnen Sie das Eigenschaftenfenster des Kombinationsfeldes Gehe zu, klikken Sie auf die Registerkarte Daten, markieren Sie das Textfeld Datensatzherkunft, und öffnen Sie dann den Abfrage-Editor. Bauen Sie die Abfrage auf der Tabelle Personal gemäß Abbildung 13.50 auf. Setzen Sie außerdem den Eigenschaftswert Nur Listeneinträge auf Ja.
Abbildung 13.50: Das Fenster des Abfrage-Editors für das neue Kombinationsfeld. Für die Eigenschaft Datensatzherkunft des Kombinationsfeldes wurde jetzt die Tabelle Personal ausgewählt.
Das Register-Steuerelement ist eine wichtige Erweiterung der Toolbox von Access 97. Mit diesem Steuerelement können Sie in einfacher Weise mehrseitige Formulare in einem karteiartigen Dialogfeld erstellen ähnlich den Registerseiten in Eigenschaftenfenstern, im Dialogfeld Öffnen und in anderen Dialogfeldern von Access.
Das Register-Steuerelement stellt eine relativ einfache und sehr effiziente Alternative zum Erstellen mehrseitiger Formulare mit dem Steuerelement Seitenwechsel dar. Mit dem Register-Steuerelement lassen sich Informationen aus einer oder mehreren Tabellen platzsparend auf dem Bildschirm darstellen. Dieser Abschnitt zeigt Ihnen, wie Sie ein Register-Steuerelement in ein Formular einbauen. Außerdem lernen Sie, wie Sie die wesentlichen Eigenschaften des Register-Steuerelements als Ganzes sowie die Eigenschaften einzelner Seiten des Register-Steuerelements festlegen.
Führen Sie die nachstehenden Schritte aus, um ein Register-Steuerelement in das Formular Personal Akte Eingabe aufzunehmen:
Abbildung 13.51: Ein neues Register-Steuerelement mit den zwei Standardseiten und der Standardbeschriftung der Seiten.
Je nach den anzuzeigenden Daten und deren Organisation sind gegebenenfalls mehr als zwei Seiten in Ihrem Register-Steuerelement erforderlich. Mit den folgenden Schritten nehmen Sie eine weitere Seite in das Register-Steuerelement auf:
Abbildung 13.52: Das Kontextmenü für das Hinzufügen, Löschen oder Ändern der Reihenfolge von Seiten in einem Register-Steuerelement.
Da Access neue Seiten in ein Register-Steuerelement vor der momentan aktiven Seite einfügt, ist es nicht möglich, eine neue Seite am Ende der vorhandenen Registerseiten hinzuzufügen. Wenn Sie die neue Seite des Register-Steuerelements als letzte Seite einfügen möchten, müssen Sie folglich die Reihenfolge der Seiten im Register-Steuerelement ändern. Ebenso kann es sich beim Test des Register-Steuerelements herausstellen, daß eine andere Reihenfolge der Seiten angebracht wäre im allgemeinen sollten Sie die am häufigsten verwendete (oder die wichtigste) Seite am Anfang des Register-Steuerelements anordnen. Die Reihenfolge der Seiten in einem Register-Steuerelement ändern Sie in folgenden Schritten:
Abbildung 13.53: Im Dialogfeld Seitenreihenfolge ändern Sie die Anordnung der Seiten im Register-Steuerelement.
Gegebenenfalls möchten Sie eine Seite löschen, die Sie nicht mehr in einem Register-SteuerelementSeite loeschen benötigen. Im Register-Steuerelement des Formulars Personal Akte Eingabe sind nur zwei Seiten erforderlich. Falls Sie entsprechend der Schritte zu Beginn dieses Abschnitts eine Seite in das Register-Steuerelement aufgenommen haben, können Sie die Seite aus dem Register-Steuerelement nach der folgenden Prozedur löschen:
Zwei Sätze von Eigenschaften bestimmen das Aussehen und Verhalten eines Register-Steuerelements. Ein Satz von Eigenschaften ist für das Register-Steuerelement als Ganzes vorhanden, während jede Seite jeweils über einen separaten Satz von Eigenschaften verfügt. Die folgende Liste faßt die wichtigen Eigenschaften des Register-Steuerelements und seiner Seiten zusammen. Die restlichen Eigenschaftseinstellungen für das Register-Steuerelement und seiner Seiten sind ähnlich denjenigen, die Sie bereits von anderen Steuerelementen her kennen (Höhe, Breite, Farbe usw.):
Das Register-Steuerelement im Formular Personal Akte Eingabe zeigt auf der ersten Seite Firmeninformationen über einen Beschäftigten an: Position, Vorgesetzter, Durchwahl Büro, Einstellungsdatum und Foto. Die zweite Seite des Register-Steuerelements enthält den Werdegang des Beschäftigten. Legen Sie zunächst in den folgenden Schritten die Eigenschaft Beschriftung für das Register-Steuerelement des Formulars Personal Akte Eingabe fest:
Abbildung 13.54 zeigt das Register-Steuerelement mit festgelegter Seitenbeschriftung und ausgewählter erster Seite. Beachten Sie, daß sich die Ziehpunkte innerhalb des Steuerelements befinden diese Position kennzeichnet, daß momentan die Seite und nicht das gesamte Steuerelement ausgewählt ist. Wenn das gesamte Register-Steuerelement markiert ist, sind die Ziehpunkte am Rand des Register-Steuerelements angeordnet.
Abbildung 13.54: Festlegen der Eigenschaft Beschriftung einer Seite im Register-Steuerelement.
Auf den Seiten eines Register-Steuerelements können Sie jedes der anderen 16 Steuerelemente von Access unterbringen Bezeichnungsfelder, Textfelder, Listenfelder und sogar Unterformulare. Um ein Steuerelement eines beliebigen Typs auf eine Seite eines Register-Steuerelements hinzuzufügen, führen Sie die folgende Prozedur aus:
Während Sie die Beispiele in diesem Kapitel nachvollziehen und das Formular Personal Akte Eingabe schrittweise fertigstellen, plazieren Sie verschiedene gebundene und ungebundene Steuerelemente auf den Seiten des Register-Steuerelements.
Typ aendernWenn Sie bei der Auswahl des Typs eines Steuerelements in frühen Versionen von Access einen Fehler gemacht hatten, mußten Sie das Steuerelement löschen und von vorn beginnen. Access 97 erlaubt das »Morphen« eines Steuerelements von einem Typ in einen anderen kompatiblen Typ. Zum Beispiel können Sie ein Optionsfeld in ein Kontrollkästchen ändern oder eine Umschaltfläche in ein Optionsfeld. Allerdings können Sie ein Textfeld nicht in ein Objektfeld oder in ein anderes Steuerelement mit einem abweichenden Felddatentyp umwandeln. Führen Sie die folgenden Schritte aus, um ein Steuerelement in einen anderen Typ zu ändern:
In den folgenden Abschnitten dieses Kapitels lernen Sie, wie man mit Hilfe der Steuerelement-Assistenten ein Unterformular in ein Formular aufnimmt. Bevor Sie das Unterformular hinzufügen, sollten Sie allerdings erst noch das Hauptformular Personal Akte Eingabe vervollständigen. Wie beim Formular, das Sie mit dem Formular-Assistenten in Kapitel 12 erstellt haben, besteht der Zweck dieses Formulars darin, Datensätze aus der Tabelle Personal Akte anzuzeigen, damit ein Benutzer die Entwicklung eines Beschäftigten verfolgen kann. Das Formular stellt auch ein geeignetes Mittel für das Hinzufügen neuer Datensätze für Personalvorgänge dar.
Beim Formular in Kapitel 12 haben Sie die Datensätze für die Entwicklung des Beschäftigten angezeigt und außerdem neue Datensätze in ein tabellarisches Unterformular aufgenommen, während die Informationen aus der Tabelle Personal nur auf dem Hauptformular angezeigt wurden. Im jetzigen Formular plazieren Sie Felder aus der Tabelle Personal Akte auf dem Hauptformular, um das Hinzufügen neuer Datensätze in die Tabelle Personal Akte zu erleichtern. Dabei kommt das Register-Steuerelement zum Einsatz, um sowohl das Unterformular als auch zusätzliche Informationen aus der Tabelle Personal aufzunehmen. Das Unterformular auf der zweiten Seite des Register-Steuerelements zeigt nur chronologische Datensätze der Personalvorgänge an. Das Formular Personal Akte Eingabe verfügt sowohl auf dem Hauptformular als auch auf dem Unterformular über Felder aus der Tabelle Personal Akte und verwendet die Abfrage Personal Akte Abfrage, die Sie zu Beginn dieses Kapitels als Datenquelle für das Formular erstellt haben. Beim Erstellen einer realen, ausgewachsenen Datenbankanwendung für die Personalabteilung wählen Sie vielleicht die Tabelle Personal als Datenquelle für das Formular und entwerfen ein Unterformular für das Bearbeiten der Tabelle Personal Akte. Dann legen Sie dieses Unterformular auf einer dritten Seite des Register-Steuerelements ab oder zeigen die Entwicklung in einem Unterformular des Unterformulars an.
Um das Hauptformular zu vervollständigen, führen Sie die folgenden Schritte aus (die Anordnung der Felder können Sie Abbildung 13.55 entnehmen):
Abbildung 13.55: Das Formular Personal Akte Eingabe in der Entwurfsansicht. Es zeigt die endgültige Anordnung und Formatierung der Felder des Hauptformulars und die erste Seite des Register-Steuerelements.
Abbildung 13.56: Festlegung der Eigenschaft Größenänderung für das Feld Foto, damit die Fotos an die Größe des Feldes auf dem Formular angepaßt werden.
Abbildung 13.57: Das Formular Personal Akte Eingabe aus Abbildung 13.55 in der Formularansicht.
Das Formular Personal Akte Eingabe benötigt ein Unterformular, um die Entwicklung der Personaldaten für den im Hauptteil des Formulars angezeigten Beschäftigten einsehen zu können. Mit dem neuen Unterformular-/Unterberichts-Assistenten von Access 97 können Sie ein neues Unterformular erstellen und gleichzeitig das Unterformular-Feld in das Hauptformular oder wie in diesem Beispiel in eine Seite des Register-Steuerelements einfügen. Führen Sie dazu folgende Schritte aus:
Abbildung 13.58: Hier legen Sie fest, ob Sie für das Unterformular ein bestehendes Formular verwenden oder ein neues Unterformular unter Verwendung einer Tabelle oder Abfrage erstellen wollen.
Abbildung 13.59: Auswahl der Datenquelle und der Felder für das neue Unterformular.
Abbildung 13.60: Definieren der Verknüpfung zwischen dem Hauptformular und dem Unterformular.
Abbildung 13.61: Eingabe eines Namens für Ihr neues Unterformular.
Im nächsten Abschnitt erstellen Sie ein nützlicheres Formular.
Abbildung 13.62: Das fertige Unterformularfeld in der Entwurfsansicht.
Abbildung 13.63: Das neue Unterformular in der Formularansicht.
Mit Endlosformularen lassen sich Daten aus mehreren Datensätzen einer Tabelle oder Abfrage in einem anderen Format als der Datenblattansicht anzeigen. Das in Kapitel 12 erstellte Unterformular Personal Akte Unterformular ist zum Beispiel nur entworfen wurden, um die neuesten Datensätze der Personalvorgänge für einen Beschäftigten anzuzeigen. Die Bearbeitung ist im Unterformular nicht zugelassen, so daß man keine Feldüberschriften, Schaltflächen zur Datensatzauswahl und Bildlaufleisten braucht, die sonst zur Datenblattansicht gehören. Diese grafischen Elemente lenken nur vom eigentlichen Inhalt des Unterformulars ab. Für die Darstellung der Personalvorgänge ist eine von allem Ballast befreite Anzeige erforderlich. Hierfür benötigt man ein Endlosformular.
Der Formular-Assistent bietet die Option tabellarisches Endlosformular. Daher läßt sich mit dem Formular-Assistenten am schnellsten ein schlichtes Unterformular erstellen. Führen Sie dazu die folgenden Schritte aus:
Abbildung 13.64: Das mit dem Formular-Assistenten aus Personal AkteUnterformular erstellte tabellarische Formular.
Der Formular-Assistent hat das tabellarische Formular unter Verwendung der Abfrage Personal Akte Unterformular als Datenquelle erstellt. Um das Formular bezüglich Größe und Aussehen mit dem Formular Personal Akte Eingabe in Übereinstimmung zu bringen, führen Sie die folgenden Schritte aus:
Abbildung 13.65: Das modifizierte tabellarische Formular in der Entwurfsansicht.
Abbildung 13.66: Das Endlosformular aus Abbildung 13.65 in der Formularansicht.
Jetzt müssen Sie das eben erzeugte tabellarische Formular als Unterformular in das Register-Steuerelement des Formulars Personal Akte Eingabe einbauen. Mit dem Unterformular-/Unterberichts-Assistenten fügen Sie das Formular in das Register-Steuerelement auf Ihrem Hauptformular ein. (Ob Sie das Unterformular direkt auf ein Formular oder auf eine Seite des Register-Steuerelements hinzufügen das Verfahren ist das gleiche.) Um diese Prozedur abzuschließen, führen Sie die folgenden Schritte aus:
Abbildung 13.67: Der Einsatz des Unterformular-/Unterberichts-Assistenten zum Einfügen eines vorhandenen Formulars als Unterformular
Abbildung 13.68: Das vom Unterformular-/Unterberichts-Assistenten eingefügte neue Unterformularfeld für das Formular Personal Akte Register.
Abbildung 13.69: Das modifizierte Formular Personal Akte in der Entwurfsansicht.
Abbildung 13.70: Das fertiggestellte Unterformular und Hauptformular in der Formularansicht.
Im Formular Personal Akte Eingabe sind die Felder und deren Formatierung im wesentlichen vollständig. In einer echten Anwendung würden Sie nun die Aktivierreihenfolge des Formulars anpassen und das Formular durch Eingabe und Bearbeitung von Datensätzen testen die Ausführung dieser Schritte haben Sie bereits in Kapitel 12 kennengelernt.
Access verwendet die den Feldern der Tabelle zugewiesenen Eigenschaftswerte als Standardwerte. Das Formular oder Unterformular erbt diese Eigenschaften von der Tabelle oder Abfrage, auf der das Formular basiert. Mit Ausnahme der Eigenschaft Gültigkeitsregel kann man die vererbten Eigenschaften außer Kraft setzen (überschreiben), indem man einen anderen Satz von Werten im Eigenschaftenfenster für das Steuerelement zuweist. Die folgende Übersicht nennt die von den Feldeigenschaften der Tabelle geerbten Eigenschaften für Steuerelemente, die an Felder von Tabellen oder Abfragen gebunden sind:
Werte von Feldeigenschaften, die Sie durch Eigenschaften in einem Formular überschreiben, sind nur wirksam, wenn die Daten mit dem Formular angezeigt und bearbeitet werden. Für Steuerelemente, die an Felder gebunden sind, können Sie Gültigkeitsregeln einrichten, die sich von den durch die Tabelle festgelegten Feldeigenschaften unterscheiden, wobei Sie die Regel aber nur einengen können. Zum Beispiel limitiert die Gültigkeitsregel auf Tabellenebene für den Inhalt des Feldes paTyp die Eingaben auf die Buchstaben E, P, Q, J, L, G und K. Die Gültigkeitsregel, die Sie in einem Formular aufstellen, kann die zulässigen Eingaben nicht erweitern. Wenn Sie T als gültige Auswahl hinzufügen, indem Sie die Gültigkeitsregel für das Feld paTyp in InStr("EPQJLGKT", [PATyp])>0 ändern, erhalten Sie eine Fehlermeldung, sobald Sie das T eintippen.
Dagegen können Sie den Bereich der zulässigen Eingaben einengen, indem Sie InStr("PQJL", [PAType])>0 substituieren. Beachten Sie, daß Sie sich in den Ausdrücken von Gültigkeitsregeln in Formularen auf Feldnamen mit Ausdrücken beziehen können. Derartige Ausdrücke sind in Ausdrücken für Tabellengültigkeitsregeln in Access 97 nicht erlaubt.
Access gestattet die Aufnahme des separaten Bereichspaares Seitenkopf und Seitenfuß, das nur beim Drucken des Formulars erscheint. Diese beiden Bereiche nehmen Sie gleichzeitig in das Formular auf, indem Sie Ansicht/Seitenkopf/-fuß wählen. Die folgende Übersicht erläutert den Zweck der Seitenköpfe und -füße:
Seitenkopf- und Seitenfußbereiche erscheinen nur im gedruckten Formular und nicht bei der Anzeige des Formulars auf dem Bildschirm in der Formularansicht. Abbildung 13.71 zeigt das Formular Personal Akte Eingabe mit hinzugefügten Seitenkopf- und Seitenfußbereichen im Entwurfsmodus. Das Register-Steuerelement wurde gelöscht, so daß sowohl der Formularfußbereich als auch der Seitenfußbereich im Fenster sichtbar sind. Normalerweise müssen Sie die vertikale Bildlaufleiste verwenden, um diese Abschnitte im Entwurfsmodus anzuzeigen.
Mit der Eigenschaft Anzeigen des Eigenschaftenfensters für die Formularkopf- und Formularfußbereiche können Sie steuern, ob diese Bereiche im gedruckten Formular erscheinen. In Abbildung 13.71 wiederholt der Formularkopf die Informationen im Seitenkopf (außer dem Bezeichnungsfeld und dem Textfeld Datum/Zeit). Daher kann man auf die Druckausgabe eines Bereichs verzichten. Um zu steuern, wann ein Bereich des Formulars gedruckt oder angezeigt wird, führen Sie die folgenden Schritte aus:
Abbildung 13.71: Das Formular Personal Akte Eingabe mit hinzugefügten Bereichen für Seitenkopf und Seitenfuß.
![]()
Das Erscheinungsbild der Spalten mit Bezeichnungsfeldern und zugeordneten Textfeldern, Listenfeldern und Kombinationsfeldern können Sie verbessern, indem Sie den Text der Bezeichnungsfelder rechtsbündig und den Text der Felder linksbündig ausrichten. Markieren Sie alle Bezeichnungsfelder in einer Spalte mit der Maus, und klicken Sie auf die Schaltfläche Rechtsbündig auf der Symbolleiste. Markieren Sie dann alle Felder in der rechten Spalte, und klicken Sie auf die Schaltfläche Linksbündig.
Ein Kombinationsfeld zum Aufsuchen bestimmter Datensätze
Klicken Sie auf die Schaltfläche Entwurfsansicht in der Symbolleiste (falls das Formular nicht bereits in der Entwurfsansicht angezeigt wird). Klicken Sie (falls erforderlich) auf die Schaltfläche Steuerelement-Assistenten in der Toolbox, um den Kombinationsfeld-Assistenten zu aktivieren (die Schaltfläche muß gedrückt dargestellt sein).
Klicken Sie auf das Werkzeug Kombinationsfeld in der Toolbox. Klicken Sie dann auf den Detailbereich des Formulars, und ziehen Sie das neue Kombinationsfeld unterhalb der Dropdown-Liste Einstufung, die Sie weiter oben erstellt haben. Sobald Sie die Maustaste loslassen, erscheint das erste Dialogfeld des Kombinationsfeld-Assistenten.
Wählen Sie nur ein Feld, wenn Sie ein Kombinationsfeld zum Suchen von Datensätzen erstellen. Das Kombinationsfeld funktioniert nicht für das Aufsuchen von Datensätzen, wenn Sie mehrere Felder für die Listen des Kombinationsfeldes auswählen.
Klicken Sie auf die Schaltfläche Formularansicht auf der Symbolleiste, um das Formular anzuzeigen. Abbildung 13.48 zeigt das geöffnete Kombinationsfeld Gehe zu.
Ein Register-Steuerelement erstellen
Klicken Sie auf die Schaltfläche Entwurfsansicht auf der Symbolleiste, falls sich das Formular Personal Akte Eingabe noch nicht in der Entwurfsansicht befindet. Für das Register-Steuerelement gibt es keinen Assistenten, so daß der Zustand der Schaltfläche Steuerelement-Assistenten keine Rolle spielt.
Klicken Sie auf das Werkzeug Register-Steuerelement in der Toolbox. Über der aktiven Formularfläche verwandelt sich der Mauszeiger in das Symbol eines Register-Steuerelements.
Seiten in das Register-Steuerelement hinzufügen
Reihenfolge der Seiten ändern
Eine Seite des Register-Steuerelements löschen
Eigenschaften des Register-Steuerelements festlegen
Um das Eigenschaftenfenster für das gesamte Register-Steuerelement anzuzeigen, klicken Sie mit der rechten Maustaste auf den Rand des Register-Steuerelements und wählen Eigenschaften aus dem sich öffnenden Kontextmenü (Abbildung 13.52). Alternativ klicken Sie auf den Rand des Register-Steuerelements, um es zu markieren (am einfachsten ist das Klikken auf den leeren Bereich rechts neben den Seitenregistern), und klicken dann auf die Schaltfläche Eigenschaften auf der Symbolleiste, um das Eigenschaftenfenster anzuzeigen.
Das Eigenschaftenfenster für eine einzelne Seite des Register-Steuerelements zeigen Sie wie folgt an: Klicken Sie auf das Register der Seite, um die Seite zu markieren, und klicken Sie dann auf die Schaltfläche Eigenschaften in der Symbolleiste.
Klicken Sie auf die Schaltfläche Entwurfsansicht auf der Symbolleiste, falls sich das Formular Personal Akte Eingabe noch nicht im Entwurfsmodus befindet.
Klicken Sie auf die erste Seite des Register-Steuerelements, um es zu markieren, und klicken Sie dann auf die Schaltfläche Eigenschaften in der Symbolleiste, um das Eigenschaftenfenster dieser Seite anzuzeigen (Abbildung 13.54).
Andere Steuerelemente auf Registerseiten unterbringen
Alternativ können Sie Steuerelemente vom selben oder einem anderen Formular kopieren und sie in die Seiten des Register-Steuerelements einfügen. Dabei verwenden Sie die gleichen Verfahren, die Sie für das Kopieren und Einfügen von Steuerelementen in den Detailbereich oder die Kopf-/Fußbereiche kennengelernt haben. Es ist nicht möglich, die Steuerelemente aus dem Detail- oder Kopf-/Fußbereich auf die Seite eines Register-Steuerelements zu ziehen.
Steuerelementtypen ändern
Das Formular Personal Akte Eingabe fertigstellen
Das Erstellen eines Formulars und eines Unterformulars, die beide auf derselben zugrundeliegenden Tabelle beruhen in diesem Beispiel der Tabelle Personal Akte ist etwas unkonventionell, aber eine durchaus praktikable Entwurfsmethode für Datenbankanwendungen. Die meisten Formulare, die auf Unterformularen aufbauen, verwenden als Datenquelle eine Basistabelle (wie etwa Personal) oder eine Abfrage, deren Datenquelle eine Basistabelle ist. Eine in Beziehung stehende Tabelle oder Abfrage, die auf einer in Beziehung stehenden Tabelle basiert, dient als Datenquelle des Unterformulars. Die meisten Formulare der Nordwind-Datenbank demonstrieren den konventionellen Formular-Unterformular-Entwurf. Unser Formular-Beispiel Personal Akte Eingabe verwendet sowohl für das Formular als auch das Unterformular eine gemeinsame zugrundeliegende Tabelle, um bestimmte Eigenheiten dieses Verfahrens für den Entwurf eines 1:n-Formulars zu verdeutlichen.
Klicken Sie auf die Schaltfläche Entwurfsansicht auf der Symbolleiste (falls sich das Formular Personal Akte Eingabe nicht bereits in der Entwurfsansicht befindet).
Klicken Sie (falls erforderlich) auf die Schaltfläche Steuerelement-Assistenten der Toolbox, um die Steuerelement-Assistenten zu aktivieren (vergewissern Sie sich, daß die Schaltfläche im gedrückten Zustand dargestellt ist), und klicken Sie dann auf die Schaltfläche Feldliste auf der Symbolleiste, um das Dialogfeld Feldliste zu öffnen, falls es nicht ohnehin noch geöffnet ist.
Formatieren Sie die Textbezeichnungen der Felder mit dem Werkzeug Format übertragen. Die Verwendung dieses Werkzeugs beschreibt Kapitel 12.
Sollte das Formular bei Ihnen in der Entwurfsansicht aufgrund der Bildschirmauflösung nicht vollständig sichtbar sein, können Sie die Symbolleisten und/oder die Lineale ausblenden. Für Abbildung 13.55 wurden zum Beispiel die Symbolleisten Formatierung und Toolbox abgeschaltet.
Mit dem Unterformular-/Unterberichts-Assistenten ein Unterformular erstellen
Klicken Sie auf die Schaltfläche Entwurfsansicht auf der Symbolleiste, falls sich das Formular Personal Akte Eingabe nicht bereits in der Entwurfsansicht befindet.
Klicken Sie (falls erforderlich) auf die Schaltfläche Steuerelement-Assistenten, um die Steuerelement-Assistenten zu aktivieren.
Klicken Sie auf das zweite Register des Register-Steuerelements, um dessen zweite Seite nach vorn zu bringen. Klicken Sie auf die Schaltfläche Unterformular/-bericht in der Toolbox, und klicken Sie dann in die obere linke Ecke der zweiten Seite des Register-Steuerelements. Access zeigt das erste Dialogfeld des Unterformular-/Unterberichts-Assistenten an.
Markieren Sie Abfrage: Personal Akte Unterformular in der Dropdown-Liste Tabellen und Abfragen. Die Feldauswahl läßt sich beschleunigen, wenn Sie auf die Schaltfläche >> klicken, um alle Felder in die Liste Ausgewählte Felder zu kopieren. Markieren Sie das Feld paKommentare in der Liste Ausgewählte Felder, und klicken Sie auf die Schaltfläche <, um dieses Feld wieder aus der Liste zu entfernen. Klicken Sie auf Weiter, um zum dritten Dialogfeld zu gelangen.
Klicken Sie auf die Schaltfläche Formularansicht auf der Symbolleiste, um das Aussehen des neuen Unterformulars zu begutachten. Ihr Formular sollte nun Abbildung 13.63 entsprechen.
Endlosformulare erstellen und verwenden
Klicken Sie im Datenbankfenster auf die Registerkarte Formulare und dann auf Neu, um ein neues Formular zu erstellen. Access zeigt das Dialogfeld Neues Formular an.
Klicken Sie auf die Schaltfläche Speichern in der Symbolleiste. Access zeigt das Dialogfeld Speichern unter an.
Klicken Sie auf die Schaltfläche Entwurfsansicht, um das Formular Test1 Unterformular in der Entwurfsansicht anzuzeigen, und maximieren Sie dann das Formularfenster.
Klicken Sie auf die Formularkopfleiste, und ändern Sie über die Schaltfläche Füll-/Hintergrundfarbe auf der Symbolleiste Formatierung die Hintergrundfarbe in Weiß. Ändern Sie die Hintergrundfarbe des Detailbereichs ebenfalls in Weiß.
Ziehen Sie ein Markierungsrechteck um alle Felder im Detailbereich des Formulars, und klicken Sie dann auf die Schaltfläche Zentriert auf der Symbolleiste Formatierung, um die Daten in den Feldern zu zentrieren. Klicken Sie auf die Schaltfläche Linien-/Rahmenfarbe und dann auf Transparent, um alle Rahmen der Felder transparent zu machen.
Wählen Sie Bearbeiten/Formular auswählen, und klicken Sie dann auf die Schaltfläche Eigenschaften in der Symbolleiste.
Klicken Sie auf die Schaltfläche Formularansicht in der Symbolleiste. Das Endlosformular zeigt alle Datensätze in der Unterabfrage Personal Akte Unterformular an (Abbildung 13.66).
Öffnen Sie das Formular Personal Akte Eingabe, und klicken Sie auf die Schaltfläche Entwurfsansicht in der Symbolleiste.
Klicken Sie bei Bedarf auf die Schaltfläche Steuerelement-Assistenten, um die Steuerelement-Assistenten zu aktivieren (die Schaltfläche sollte gedrückt sein).
Klicken Sie auf die Schaltfläche Unterformular/-bericht in der Toolbox, und klikken Sie dann in die obere linke Ecke auf der zweiten Seite des Register-Steuerelements. Access zeigt das erste Dialogfeld des Unterformular-/Unterberichts-Assistenten an.
Klicken Sie auf die Schaltfläche Formularansicht auf der Symbolleiste, um das Aussehen des neuen Unterformulars zu begutachten. Ihr Formular sollte Abbildung 13.70 entsprechen, nachdem Sie auf die Registerkarte Entwicklung geklickt haben, um die zweite Seite des Register-Steuerelements anzuzeigen. (Eine Ansicht des fertigen Formulars mit der Seite Stammdaten des Register-Steuerelements zeigt Abbildung 13.57 weiter vorn in diesem Kapitel.) Wenn das Unterformular Bildlaufleisten oder einen Datensatzmarkierer enthält, schließen Sie das Formular Personal Akte Eingabe und öffnen es erneut vom Datenbankfenster aus, um diese Elemente zu entfernen.
Löschen Sie die vertikale Bildlaufleiste, wenn alle Steuerelementobjekte des Nicht-Endlosformulars in ein maximiertes Formularfenster passen. Die horizontale Bildlaufleiste muß vorhanden sein, wenn Datensatzmarkierer verwendet werden. Überflüssige Grafikelemente verwirren nur und haben einen negativen Einfluß auf die Gesamterscheinung eines Formulars.
Feldeigenschaften von Tabellen außer Kraft setzen
Seitenköpfe und -füße zum Drucken von FormularenSeitenkopf/-fuss hinzufügen
Ein Imprint des Markt&Technik Buch- und Software- Verlag GmbH
Elektronische Fassung des Titels: Special Edition: Access 97, ISBN: 3-8272-1013-5