Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Die Einweisung in Geräte für verschiedene Mitarbeiter ist ein tolles Beispiel für eine m:n-Beziehung. Wir werden uns in dieser Artikelreihe ansehen, wie das Datenmodell für die m:n-Beziehung aufgebaut wird, wie Sie die Formulare zur Verwaltung der Einweisungen gestalten und wie Sie mit Berichten verschiedene Listen ausgeben können – zum Beispiel, welcher Mitarbeiter welche Einweisungen erhalten hat oder für welches Gerät welcher Mitarbeiter geschult wurde. Im vorliegenden zweiten Teil schauen wir uns an, wie Sie die Daten der Tabellen der Anwendung in Formularen verwalten können.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 2103_GeraeteeinweisungenVerwalten2.accdb.
Benötigte Formulare
Wenn wir eine Anwendung mit zwei Tabellen zum Speichern von Objekten wie Mitarbeitern und Geräten und einer Tabelle zum Herstellen von Beziehungen zwischen diesen beiden Objekttypen mit einer Benutzeroberfläche versehen wollen, benötigen wir zumindest die folgenden Elemente:
- ein Detailformular zum Anlegen und Bearbeiten von Mitarbeitern
- ein Detailformular zum Anlegen und Bearbeiten von Geräten
- ein Übersichtsformular zur Verwaltung der Mitarbeiter
- ein Übersichtsformular zur Verwaltung der Geräte
Das waren die grundlegenden Formulare. Darüber hinaus wollen wir noch die Möglichkeit einbauen, die Mitarbeiter aufzulisten, die an einem bestimmten Gerät geschult wurden sowie die Geräte anzugeben, an denen ein bestimmter Mitarbeiter geschult wurde.
Dazu können wir natürlich die Detailformulare zum Anlegen und Bearbeiten der Mitarbeiter und Geräte nutzen. Wir würden dann in einem Unterformular des Formulars zur Anzeige der Mitarbeiter die Geräte ausgeben, für deren Bedienung er geschult wurde und umgekehrt. Wir können die Verknüpfungsinformationen also grundsätzlich in den grundlegenden Formularen unterbringen, indem wir entsprechende Unterformulare hinzufügen.
Übersichtsformular für die Mitarbeiter
Das erste Übersichtsformular soll die Mitarbeiter anzeigen sowie Schaltflächen zum Hinzufügen eines neuen Mitarbeiters, zum Bearbeiten und zum Löschen des aktuell markierten Mitarbeiters bereitstellen. Offen ist noch, wie wir die Liste der Mitarbeiter in das Formular integrieren. Hier verwendet man üblicherweise ein Unterformular in der Datenblattansicht oder ein Listenfeld. Da wir die Mitarbeiter in der Übersicht nicht bearbeiten wollen, wählen wir das Listenfeld.
Also erstellen wir ein neues Formular namens frmMitarbeiterUebersicht in der Entwurfsansicht. Diesem fügen wir ein Listenfeld namens lstMitarbeiter hinzu. Für das Listenfeld stellen wir als Datensatzherkunft eine Abfrage ein, welche die Daten der Tabelle tblMitarbeiter enthält und deren Entwurf wie in Bild 1 aussieht.
Bild 1: Datensatzherkunft des Listenfeldes für die Mitarbeiter
Die Eigenschaft Spaltenanzahl stellen wir auf 2 ein und Spaltenbreiten auf 0cm. Dies blendet die erste Spalte mit dem Primärschlüsselwert aus und zeigt nur die Mitarbeiter im Format Nachname, Vorname an.
Steuerelemente anordnen
Das Listenfeld lstMitarbeiter ordnen wir wie in Bild 2 an. Darunter platzieren wir die drei Schaltflächen Neu, Bearbeiten und Löschen.
Bild 2: Entwurf des Formulars frmMitarbeiterUebersicht
Außerdem legen wir für die Steuerelemente verschiedene Werte für die Eigenschaften Horizontaler Anker und Vertikaler Anker fest. Für das Listenfeld erhalten beide Eigenschaften den Wert Beide.
Für die Schaltflächen stellen wir für Vertikaler Anker den Wert Unten ein, damit diese beim Vergrößern der Höhe des Formulars am unteren Rand verbleiben und nicht vom vergrößerten Listenfeld überdeckt werden.
Für das Bezeichnungsfeld des Listenfeldes müssen wir den Wert von Vertikaler Anker, der automatisch auf Unten eingestellt wurde, wieder den Wert Oben festlegen und Horizontaler Anker auf Links.
Außerdem stellen wir für das Formular die Eigenschaften Navigationsschaltflächen, Datensatzmarkierer, Trennlinien und Bildlaufleisten auf den Wert Nein ein sowie die Eigenschaft Automatisch zentrieren auf Ja.
Das Formular sieht nun in der Formularansicht wie in Bild 3 aus. Allerdings ist das Listenfeld natürlich noch leer.
Bild 3: Das Formular frmMitarbeiterUebersicht, hier noch ohne Daten
Detailformular für die Mitarbeiter anlegen
Damit wir neue Mitarbeiter anlegen können, fügen wir der Datenbank ein weiteres Formular namens frmMitarbeiterDetail hinzu. Dieses verwendet als Datensatzquelle die Tabelle tblMitarbeiter. Aus dieser ziehen wir aus der Feldliste alle Felder in den Detailbereich des Formularentwurfs. Auch für dieses Formular stellen wir die Eigenschaft Automatisch zentrieren auf den Wert Ja ein.
Schließlich fügen wir noch eine Schaltfläche namens cmdOK hinzu, welche die folgende Ereignisprozedur auslöst und so das aktuelle Formular schließt:
Private Sub cmdOK_Click() DoCmd.Close acForm, Me.Name End Sub
Das Zwischenergebnis sieht wie in Bild 4 aus.
Bild 4: Das Formular frmMitarbeiterDetail in der Entwurfsansicht
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo