Access 2003 Professional 5 Zugriffsrechte verwalten 5.1 Das ...
Access 2003 Professional 5 Zugriffsrechte verwalten 5.1 Das ...
Access 2003 Professional 5 Zugriffsrechte verwalten 5.1 Das ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Access</strong> <strong>2003</strong> <strong>Professional</strong><br />
5 <strong>Zugriffsrechte</strong> <strong>verwalten</strong><br />
<strong>Access</strong> lässt sich sowohl als persönlicher Datenmanager, als auch für die gemeinsame Nutzung in<br />
Arbeitsgruppen einsetzen. Sind die Nutzerzahl und der Umfang der Datenbank nicht zu groß, so<br />
kann <strong>Access</strong> auch problemlos im Netz betrieben und von vielen Benutzern gleichzeitig verwendet<br />
werden.<br />
Reicht es bei einer Desktop-Datenbank in der Regel aus, die Datenbank mit einem<br />
Besitzerkennwort zu versehen, so können die Anforderungen in einer Mehrbenutzerumgebung<br />
deutlich komplexer sein. Die Anforderung lautet hier oft, den Anwendern unterschiedliche<br />
Berechtigungen zu geben.<br />
Häufig sind z. B. bestimmte Benutzer bzw. Benutzergruppen für die Pflege der Daten<br />
verantwortlich, während andere sich ausschließlich um die Auswertungen bzw. die<br />
Berichtserstellung kümmern. In <strong>Access</strong> ist es möglich, der ersten Gruppe die vollständigen Rechte<br />
für das Anlegen, Ändern und Löschen von Datensätzen zu geben, während die zweite Gruppe auf<br />
das Lesen der Daten eingeschränkt wäre.<br />
In den nächsten Abschnitten lernen Sie die Konzepte und Einsatzmöglichkeiten des <strong>Access</strong>-<br />
Berechtigungssystems genau kennen. Sie bauen anhand von Beispielen für die Stadtlupe-Datenbank<br />
ein passendes Berechtigungsschema auf.<br />
<strong>5.1</strong> <strong>Das</strong> Berechtigungssystem einsetzen<br />
Einen einfachen Schutz einer persönlichen <strong>Access</strong> Datenbank erzielen Sie durch die Vergabe eines<br />
Datenbankkennwortes. Sie finden diese Möglichkeit unter Extras/Sicherheit/Datenbankkennwort<br />
festlegen.<br />
Natürlich ist dieses Verfahren nicht für größere Benutzergruppen und die Einrichtung eines<br />
abgestuften Berechtigungssystems geeignet. Im folgenden Beispiel aktivieren Sie daher das <strong>Access</strong><br />
Schutzsystem. Die Besonderheit hierbei ist: Ist das Berechtigungssystem einmal aktiviert, so<br />
werden Sie unabhängig von der verwendeten Datenbank bei jedem Start von <strong>Access</strong> nach einem<br />
Anmeldenamen und einem Kennwort gefragt. <strong>Das</strong> System funktioniert also datenbankübergreifend!<br />
<strong>5.1</strong>.1 Beispiel 70: <strong>Das</strong> Berechtigungssystem aktivieren<br />
1. Öffnen Sie die Datenbank 070_083Stadtlupe.mdb.<br />
2. Wählen Sie unter Extras/Sicherheit den Befehl Benutzer- und Gruppenkonten aus.<br />
3. Wechseln Sie in das Register Anmeldungskennwort ändern.<br />
4. Als Benutzername ist Administrator vorgegeben. Dies ist der Standardnutzer in einem<br />
ungeschützten <strong>Access</strong>-System. Der <strong>Access</strong>-Administrator kann das <strong>Access</strong>-System<br />
vollständig <strong>verwalten</strong>. Er ist der Superuser des Systems mit uneingeschränkten Befugnissen.<br />
Im oberen Feld könnten Sie jetzt das alte Kennwort eintragen, wenn es eines gäbe.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 1 / 77
Abb 302 Hier ändern Sie das Anmeldungskennwort.<br />
5. Geben Sie als Neues Kennwort sesam ein.<br />
6. Wiederholen Sie diesen Eintrag unter Bestätigen. Achten Sie dabei auf die exakte<br />
Schreibweise sowie darauf, dass Caps Lock (Grosschreibfunktion auf der Tastatur)<br />
ausgeschaltet ist.<br />
7. Beenden Sie nach OK MS <strong>Access</strong>.<br />
<strong>5.1</strong>.2 Beispiel 71: Eine mit einem Kennwortschutz versehene<br />
Datenbank öffnen<br />
1. Starten Sie MS <strong>Access</strong>.<br />
2. Öffnen Sie die Datenbank 070_083Stadtlupe.mdb.<br />
3. Geben Sie als Name Administrator und als Kennwort sesam ein.<br />
4. Mit OK gelangen Sie in die Datenbank.<br />
Abb 303<br />
Obwohl Sie das Kennwort für den Administrator in der Datenbank Stadtlupe vergeben<br />
haben, gilt die Anmeldung ab jetzt für alle <strong>Access</strong>-Datenbanken auf Ihrem Rechner. Diese<br />
gehören zu einem gemeinsamen <strong>Access</strong>-Schutzsystem.<br />
Sie können sich auch mit dem Benutzernamen Admin an Ihrem <strong>Access</strong> System anmelden.<br />
Dieser ist ein Synonym für Administrator.<br />
<strong>5.1</strong>.3 Beispiel 72: Benutzerkonten einrichten<br />
1. Öffnen Sie in der Datenbank 070_083Stadtlupe.mdb über Extras/Sicherheit die Benutzerund<br />
Gruppenkonten.<br />
2. Die Schaltfläche Neu ermöglicht Ihnen die Eingabe eines neuen Benutzers. Geben Sie als<br />
Namen des Benutzers NinaJ an. Der Benutzername muss innerhalb einer <strong>Access</strong><br />
Arbeitsgruppe eindeutig sein.<br />
3. Zusätzlich müssen Sie eine Persönliche ID (PID) vergeben. <strong>Access</strong> verwendet die<br />
Kombination aus Namen und ID, um den Benutzern Berechtigungen zuzuweisen. Vergeben<br />
Sie als PID 0001.<br />
4. Legen Sie nun in der gleichen Art und Weise die folgenden Konten mit den entsprechenden<br />
Namen und Persönlichen IDs an: HorstL (0002), BorisZ (0003) und KlausT (0004).<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 2 / 77
Abb 304 Ein neuer Benutzer wird angelegt<br />
5. Drucken Sie über die Schaltfläche Benutzer und Gruppen drucken die Benutzerkonten aus.<br />
Sie sollten die beim Anlegen eines Benutzers vergebene PID unbedingt notieren bzw.<br />
ausdrucken, da diese z. B. bei der Reaktivierung eines versehentlich gelöschten<br />
Benutzerkontos unbedingt vorhanden sein muss.<br />
Abb 305<br />
Die persönliche ID oder PID ist ein bis zu 20 Zeichen langer Text, der von <strong>Access</strong> intern verwendet<br />
wird, um den eigentlichen (für uns unsichtbaren) Zugriffsschlüssel zu generieren. Da es keine<br />
Möglichkeit gibt, nach dem Anlegen eines neuen Kontos diese PID noch einmal sichtbar zu<br />
machen, sollten sie den Hinweis aus dem Beispiel ernst nehmen und die IDs Ihrer Nutzer notieren.<br />
Zur einfacheren Verwaltung der eigentlichen Benutzerberechtigungen können Sie in <strong>Access</strong> Konten<br />
zu Benutzergruppen zusammenfassen. Die in einem Konto zusammengefassten Benutzer erhalten<br />
dann bei der Vergabe der Rechte durch eine einzige Zuweisung identische <strong>Zugriffsrechte</strong> in Bezug<br />
auf Datenbankobjekte.<br />
Im folgenden Beispiel richten Sie zwei Gruppen ein. In diesen sollen Benutzer aus der Anzeigenund<br />
Vertriebsabteilung der Stadtlupe verwaltet werden. Für diese beiden Gruppen werden in den<br />
weiteren Beispielen dieses Kapitels unterschiedliche Berechtigungen eingerichtet.<br />
<strong>5.1</strong>.4 Beispiel 73: Benutzergruppen anlegen<br />
1. Die Datenbank 070_083Stadtlupe.mdb ist geöffnet.<br />
2. Starten Sie die Gruppenverwaltung über den Befehl Extras/Sicherheit/Benutzer und<br />
Gruppenkonten . Wechseln Sie in das Register Gruppen.<br />
3. Legen Sie durch Anklicken der Schaltfläche Neu die neue Gruppe Anzeigen an. Vergeben<br />
Sie die Persönliche ID 0001.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 3 / 77
Abb 306 Eine neue Benutzergruppe wird angelegt.<br />
4. Legen Sie entsprechend die Gruppe Vertrieb mit der Persönlichen ID 0002 an.<br />
5. Sie möchten den neuen Gruppen jetzt vorhandene Benutzer zuzuordnen. Wechseln Sie dazu<br />
in das Register Benutzer.<br />
6. In der Liste der Verfügbaren Gruppen finden Sie neben den soeben neu angelegten Gruppen<br />
die Standardgruppen Administratoren und Benutzer.<br />
7. Klicken Sie auf den kleinen Pfeil neben dem Feld Name und wählen Sie aus der Liste der<br />
Benutzer den Namen NinaJ aus.<br />
8. Markieren Sie Anzeigen in der Liste der Verfügbaren Gruppen und klicken Sie auf die<br />
Schaltfläche Hinzufügen.<br />
9. Damit ist NinaJ Mitglied dieser Gruppe.<br />
hinzugefügt.<br />
Abb 307 Der neuen Benutzergruppe werden Benutzer<br />
10. Fahren Sie auf diese Art und Weise fort, die Konten in Gruppen einzutragen. HorstL soll<br />
ebenfalls den Anzeigen zugewiesen werden. BorisZ und KlausT gehören in die Gruppe<br />
Vertrieb. KlausT soll darüber hinaus zusätzlich in die Gruppe Anzeigen eingetragen werden.<br />
11. Schließen Sie nach OK die Datenbank Stadtlupe und beenden Sie <strong>Access</strong>.<br />
<strong>Das</strong> folgende Beispiel demonstriert, wie Sie sich an einem geschützten <strong>Access</strong>-System als Benutzer<br />
anmelden und Ihr eigenes Kennwort ändern.<br />
<strong>5.1</strong>.5 Beispiel 74: An geschütztem System anmelden und<br />
Kennwort ändern<br />
1. Starten Sie MS <strong>Access</strong> erneut. Öffnen Sie die Datenbank 070_083Stadtlupe.mdb.<br />
2. <strong>Das</strong> Anmeldefenster erscheint. Geben Sie den Namen des von Ihnen im Beispiel 73<br />
angelegten Benutzers KlausT an und lassen Sie das Feld Kennwort leer.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 4 / 77
Abb 308<br />
3. Nach OK sind Sie als Benutzer KlausT in der Datenbank Stadtlupe angemeldet. Sie<br />
verfügen jetzt über die Berechtigungen genau dieses Benutzerkontos.<br />
4. Um das Kennwort des Kontos zu ändern, wählen Sie jetzt aus dem Menü Extras/Sicherheit<br />
die Benutzer- und Gruppenkonten. Wechseln Sie in das Register Anmeldungskennwort<br />
ändern und geben Sie als Neues Kennwort für KlausT Klaus1 ein.<br />
5. Geben Sie dieses zur Bestätigung nochmals ein. OK.<br />
Abb 309<br />
6. Schließen Sie die Datenbank Stadtlupe und beenden Sie MS <strong>Access</strong> vollständig.<br />
Sie haben im letzten Beispiel gesehen, dass der „normale“ Benutzer KlausT im Gegensatz zum<br />
Administrator kein Kennwort eingeben musste. Als Administrator haben Sie leider keine<br />
Möglichkeit, die Anmeldekennwörter Ihrer Benutzer beim Anlegen der Konten zu vergeben.<br />
Behalten Sie das im Hinterkopf und melden Sie sich notfalls unter einem Konto an, um ein<br />
Startkennwort einzurichten. Darüber hinaus sind in der Stadtlupe-Datenbank bis jetzt noch keine<br />
expliziten Rechte vergeben worden. So lange erhält jeder Nutzer des Systems den vollen Umfang<br />
der Berechtigungen.<br />
In einem weiteren Arbeitsschritt müssen jetzt Berechtigungen an die neu angelegten Gruppen<br />
vergeben werden.<br />
Im nächsten Beispiel wird dieses anhand der Tabelle Hefte näher erläutert.<br />
<strong>5.1</strong>.6 Beispiel 75: Berechtigungen vergeben<br />
1. Starten Sie <strong>Access</strong> erneut und öffnen Sie die Datenbank 070_083Stadtlupe.mdb.<br />
2. Melden Sie sich als Administrator unter dem Kennwort sesam an.<br />
3. Wählen Sie den Menüpunkt Extras/Sicherheit/Benutzer- und Gruppenberechtigungen.<br />
4. Wechseln Sie in das Register Berechtigungen .<br />
5. Lassen Sie sich die Liste aller Gruppen anzeigen, indem Sie das Kontrollkästchen vor<br />
Gruppen aktivieren.<br />
6. Markieren Sie die Gruppe Benutzer.<br />
7. Wählen Sie als Objekttyp Tabelle aus. Unter Objektname werden jetzt alle Tabellen der<br />
Datenbank Stadtlupe aufgeführt.<br />
8. Markieren Sie in dieser Liste die Tabelle Hefte.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 5 / 77
Abb 310<br />
9. Entfernen Sie unter Berechtigungen sämtliche Häkchen in den Kontrollkästchen.<br />
Übernehmen Sie die Änderungen. Die Gruppe der Benutzer hat jetzt kein Recht mehr, die<br />
Tabelle Hefte zu bearbeiten.<br />
10. Die Mitglieder der Gruppe Anzeigen sollen Heftinformationen lesen dürfen. Markieren Sie<br />
die Gruppe Anzeigen und aktivieren Sie das Kontrollkästchen vor Daten lesen. Die<br />
Berechtigung, den Entwurf lesen zu dürfen, wird automatisch aktiviert. Bestätigen Sie die<br />
Einstellungen erneut durch Übernehmen.<br />
11. Markieren Sie jetzt die Gruppe Vertrieb. Diese soll die Hefte in vollem Umfang bearbeiten<br />
können. Aktivieren Sie dazu die Kontrollkästchen vor Daten aktualisieren, Daten einfügen<br />
und Daten löschen. Daten lesen und Entwurf lesen wird automatisch aktiviert.<br />
12. Übernehmen Sie die Einstellungen und verlassen Sie mit OK das Dialogfeld.<br />
13. Schließen Sie die Datenbank Stadtlupe und beenden Sie MS <strong>Access</strong>.<br />
Sie haben gerade so nebenbei eine besondere Eigenart des <strong>Access</strong>-Sicherheitssystems kennen<br />
gelernt. So lange Sie als Administrator noch nicht tätig wurden, haben alle von Ihnen angelegten<br />
Benutzer des Systems volle Berechtigungen auf sämtliche Datenbankobjekte. Alle Benutzerkonten<br />
sind ja in der Gruppe Benutzer enthalten und diese Gruppe hat anfangs jede nur denkbare<br />
Berechtigung.<br />
<strong>5.1</strong>.7 Beispiel 76: Berechtigungen testen<br />
1. Starten Sie <strong>Access</strong> neu und öffnen Sie die Datenbank 070_083Stadtlupe.mdb. Melden Sie<br />
sich als Benutzerin NinaJ an.<br />
2. Lassen Sie das Feld Kennwort frei.<br />
Sie hatten noch kein Kennwort vergeben.<br />
3. Öffnen Sie die Tabelle Hefte.<br />
4. Versuchen Sie, die Bezeichnung eines Heftes zu ändern. Es sollte Ihnen nicht gelingen, da<br />
Sie NinaJ als Mitglied der Gruppe Anzeigen nur das Recht gegeben haben, die Daten der<br />
Tabelle zu lesen.<br />
5. Schließen Sie MS <strong>Access</strong> vollständig und öffnen Sie anschließend die Datenbank<br />
070_083Stadtlupe.mdb erneut.<br />
6. Melden Sie sich am System als Benutzer BorisZ an.<br />
7. Öffnen Sie die Tabelle Hefte erneut und probieren Sie die Änderung einer Bezeichnung aus.<br />
Es sollte Ihnen problemlos gelingen, da Sie BorisZ als Mitglied der Gruppe Vertrieb die<br />
Berechtigung gegeben haben, die Tabelle Hefte in vollem Umfang zu bearbeiten. Machen<br />
Sie die Änderung vor dem Verlassen des Datensatzes wieder rückgängig.<br />
8. Schließen Sie die Datenbank 070_083Stadtlupe.mdb und beenden Sie MS <strong>Access</strong>.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 6 / 77
Die in <strong>Access</strong> verfügbaren Berechtigungsarten finden Sie in der Tabelle Rechte. In den Beispielen<br />
haben Sie bereits gesehen, dass Rechte aufeinander aufbauen. So beinhaltet das Recht Daten<br />
aktualisieren automatisch die Rechte Entwurf lesen und Daten lesen . <strong>Access</strong> weist diese Rechte<br />
dem Konto ohne Ihr Zutun zu. Gibt es außerdem Konten, die in mehreren Gruppen enthalten sind,<br />
so wie in unserem Beispiel das Konto KlausT, so addieren sich die Berechtigungen aus den<br />
unterschiedlichen Gruppen automatisch.<br />
Rechte können Sie unterschiedlichen <strong>Access</strong>-Objekten zuweisen. Auf der untersten Ebene ist dabei<br />
natürlich die Tabelle zu sehen. Damit Informationen in einem Bericht oder Formular angezeigt<br />
werden können, muss bereits auf Tabellenebene mindestens eine Leseberechtigung vorliegen. Die<br />
Berechtigungen der unterschiedlichen Objekte (Tabellen, Abfragen, Formulare, usw.) bauen also<br />
aufeinander auf. Hier addieren sich die Berechtigungen nicht! Sie können also keine Daten in einem<br />
Formular löschen, für welches Sie das Recht Daten löschen besitzen, wenn Sie nicht gleichzeitig in<br />
der Tabelle über dieses Recht verfügen. Die Tabelle Berechtigungshierarchie stellt diese<br />
Zusammenhänge dar.<br />
Berechtigung<br />
Funktion<br />
Öffnen einer Datenbank, eines Formulars oder Berichts oder Ausführen eines<br />
Öffnen/Ausführen<br />
Makros in einer Datenbank.<br />
Exklusiv Öffnen einer Datenbank mit exklusivem Zugriff.<br />
Entwurf lesen<br />
Anzeigen von Tabellen, Abfragen, Formularen, Berichten oder Makros in der<br />
Entwurfsansicht.<br />
Entwurf ändern<br />
Anzeigen und Ändern des Entwurfs von Tabellen, Abfragen, Formularen,<br />
Berichten oder Makros.<br />
Tabelle 13 Rechte<br />
Berechtigung<br />
Beinhaltet<br />
Bei Datenbanken: Festlegen eines Datenbankkennwortes, Replizieren einer<br />
Datenbank und Ändern der Starteigenschaften.<br />
Verwalten<br />
Daten lesen<br />
Daten<br />
einfügen<br />
Daten löschen<br />
Bei Tabellen, Abfragen, Formularen, Berichten und Makros: vollständiger Zugriff<br />
auf diese Objekte und Daten, einschließlich der Fähigkeit, Berechtigungen<br />
zuzuweisen.<br />
Anzeigen von Daten in Tabellen und Abfragen.<br />
Anzeigen und Einfügen, jedoch nicht Ändern oder Löschen von Daten in Tabellen<br />
und Abfragen.<br />
Anzeigen und Löschen, jedoch nicht Ändern oder Einfügen von Daten in Tabellen<br />
und Abfragen.<br />
Tabelle 14 Rechte 2<br />
Berechtigung<br />
Funktion<br />
Verwalten Beinhaltet vollständig alle anderen Berechtigungen.<br />
Entwurf ändern Entwurf lesen; Daten lesen; Daten aktualisieren; Daten löschen.<br />
Daten aktualisieren Entwurf lesen; Daten lesen.<br />
Daten löschen Entwurf lesen; Daten lesen.<br />
Daten einfügen Entwurf lesen; Daten lesen.<br />
Daten lesen Entwurf lesen.<br />
Entwurf lesen Nichts – ist also die elementare Berechtigung.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 7 / 77
5.2 Sicherheit auf Benutzerebene, Verschlüsseln einer<br />
Datenbank<br />
Sie haben im letzten Abschnitt gelernt, wie man im <strong>Access</strong>-Berechtigungssystem Benutzerkonten<br />
sowie Gruppen angelegt und diesen Berechtigungen zuweist.<br />
Sie werden nun das Anlegen einer neuen Arbeitsgruppe üben. Dazu erstellen Sie eine neue<br />
Arbeitsgruppen-Informationsdatei. Eine Arbeitsgruppen-Informationsdatei enthält u. a. eine Liste<br />
von Benutzern und die Kennwörter der Benutzer.<br />
5.2.1 Beispiel 77: Eine neue Arbeitsgruppe anlegen<br />
1. Starten Sie MS <strong>Access</strong> und öffnen Sie die Datenbank 070_083Stadtlupe.mdb.<br />
2. Melden Sie sich als Administrator (Kennwort: sesam) an.<br />
3. Öffnen Sie über das Menü Extras/Sicherheit den Arbeitsgruppenadministrator .<br />
4. Merken Sie sich den Pfad zu Ihrer Standard-Arbeitsgruppeninformationsdatei.<br />
Abb 311 Der Arbeitsgruppen-Administrator<br />
5. Klicken Sie im Dialogfeld Arbeitsgruppen-Administrator auf Erstellen.<br />
6. Füllen Sie im Dialogfeld Informationen zum Arbeitsgruppenbesitzer die Felder wie folgt<br />
aus: Name = Admin, Firma = Stadtlupe, Arbeitsgruppen-ID = 0001. OK.<br />
Abb 312<br />
7. Sie möchten nun den Speicherort Ihrer Arbeitsgruppen-Informationsdatei bestimmen.<br />
Klicken Sie auf Durchsuchen und wählen Sie den Pfad Ihres Stadtlupen-Verzeichnisses (z.<br />
B. C:\Übungsdateien\Stadtlupe). Ändern Sie den Namen in Leer.mdw.<br />
Sie sollten sich den angegebenen Pfad unbedingt merken!<br />
8. Klicken Sie auf Öffnen, dann auf OK.<br />
9. Bestätigen Sie jetzt noch Ihre Arbeitsgruppeninformationen mit OK. Sie haben jetzt eine<br />
neue, leere Arbeitsgruppendatei angelegt. Diese enthält noch keine Konteninformationen.<br />
Abb 313<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 8 / 77
Abb 314<br />
10. Klicken Sie auf die Schaltfläche Beitreten, um diese Arbeitsgruppendatei zur aktiven zu<br />
machen, und bestätigen Sie das Wechseln der Arbeitsgruppe. OK.<br />
11. Beenden Sie MS <strong>Access</strong>.<br />
Abb 315<br />
5.2.2 Beispiel 78: Die Arbeitsgruppe testen<br />
1. Starten Sie MS <strong>Access</strong> erneut und öffnen Sie die Datenbank 070_083Stadtlupe.mdb.<br />
Sie sollten keine Benutzerinformationen eingeben müssen.<br />
2. Öffnen Sie über das Menü Extras/Sicherheit die Benutzer und Gruppenkonten und<br />
überprüfen Sie die vorhandenen Benutzer.<br />
3. Außer dem Administrator sollten Sie keine weiteren Einträge finden. Die aktuelle<br />
Arbeitsgruppe enthält also keine Konten oder Berechtigungen.<br />
4. Beenden Sie MS <strong>Access</strong>.<br />
Abb 316<br />
Die <strong>Access</strong> Arbeitsgruppendatei, die beim Öffnen einer Datenbank auf Ihrem Rechner verwendet<br />
wird, kann jederzeit geändert werden. Dies zeigt das folgende kleine Beispiel.<br />
5.2.3 Beispiel 79: Die Arbeitgruppe wechseln<br />
1. Die Datenbank 070_083Stadtlupe.mdb ist geöffnet.<br />
2. Öffnen Sie über Extras/Sicherheit den Arbeitsgruppen-Administrator und klicken Sie auf die<br />
Schaltfläche Beitreten.<br />
3. Wechseln Sie über die Schaltfläche Durchsuchen in Ihr Standard-Verzeichnis für<br />
Arbeitsgruppen-Dateien und öffnen Sie die Datei System.mdw.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 9 / 77
Wenn Sie den Ordner, in dem sich Ihre Arbeitsgruppen-Dateien befinden, nicht finden<br />
können, kontrollieren Sie, ob im Windows Explorer unter Extras/Ordneroptionen im<br />
Register Ansicht unter Versteckte Dateien und Ordner die Option Alle Dateien und Ordner<br />
aktiviert ist.<br />
4. Bestätigen Sie den Wechsel der Arbeitsgruppe mit OK und öffnen Sie die Datenbank<br />
Stadtlupe.<br />
Abb 317<br />
5. Sie müssen sich jetzt wieder am System anmelden. Da die Arbeitsgruppendatei System.mdw<br />
wieder aktiv ist, gelten auch die darin enthaltenen Kontoinformationen wieder.<br />
6. Beenden Sie MS <strong>Access</strong>.<br />
Abb 318<br />
Wenn in Ihrem Unternehmen viele Anwender in einem Netzwerk mit unterschiedlichen <strong>Access</strong>-<br />
Datenbanken arbeiten, kann die Verwendung eines geschützten Systems für das Absichern einer<br />
Datenbank sehr lästig sein, da dann ja alle Benutzer sich auch mit ihren persönlichen <strong>Access</strong>-<br />
Dateien an dieses System anschließen müssen. Eine gute Alternative ist hier der Schutz einzelner<br />
Datenbanken durch spezielle Arbeitsgruppendateien.<br />
Im nächsten Beispiel wird der Datenbank Stadtlupe beim Start eine Arbeitsgruppendatei<br />
zugewiesen. Dazu wird unter Start eine neue Verknüpfung eingerichtet.<br />
5.2.4 Beispiel 80: Datenbank mit einer speziellen<br />
Arbeitsgruppendatei starten<br />
1. Die Datenbank 070_083Stadtlupe.mdb ist geöffnet.<br />
2. Klicken Sie mit der rechten Maustaste auf die Schaltfläche Start in der Taskleiste und<br />
wählen Sie aus dem Kontextmenü Eigenschaften.<br />
3. Wechseln Sie in das Register Startmenü, wählen Sie das klassische Startmenü und klicken<br />
Sie auf die Schaltfläche Anpassen, dann auf hinzufügen.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 10 / 77
Abb 319<br />
4. Geben Sie den Pfad zur <strong>Access</strong> Programmdatei an. Dieser lautet unter Windows XP:<br />
C:\Programme\Microsoft Office\Office11\MSACCESS.exe Mit dieser Befehlszeile startet<br />
man MS <strong>Access</strong>.<br />
5. Zusätzlich müssen Sie den Pfad zur Stadtlupe-Datenbank angeben:<br />
C:\Übungsdateien\Stadtlupe\stadtlupe.mdb. Schreiben Sie dies durch ein Leerzeichen<br />
getrennt hinter den ersten Teil der Befehlszeile. Mit dieser Zeile starten Sie <strong>Access</strong> und die<br />
Datenbank Stadtlupe.<br />
6. Durch den zusätzlichen Parameter /wrkgrp teilen Sie MS <strong>Access</strong> jetzt mit, dass eine<br />
spezielle Arbeitsgruppendatei verwendet werden soll. Geben Sie den Pfad<br />
C:\Übungsdateien\Stadtlupe\Leer.mdw ein.<br />
Abb 320<br />
7. Über diesen Pfad aktivieren Sie für die Verknüpfung Stadtlupe im Startmenü die<br />
Arbeitsgruppen-Informationsdatei Leer.mdw, die Sie in Beispiel 78 angelegt haben.<br />
8. Nach Weiter wählen Sie als Programmgruppe Startmenü aus.<br />
Abb 321<br />
9. Geben Sie der neuen Verknüpfung den Namen Stadtlupe. Nach Fertig stellen klicken Sie<br />
zweimal auf OK.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 11 / 77
Abb 322<br />
10. Testen Sie die neue Verknüpfung durch Anklicken im Startmenü.<br />
Abb 323 Der neue Eintrag im Startmenü<br />
Hinweis: Sie finden die Verknüpfung, die Sie erstellt haben, unter C:\Dokumente und<br />
Einstellungen\Benutzername\Startmenü. Klicken Sie mit der rechten Maustaste auf die<br />
Verknüpfung Stadtlupe.lnk und wählen Sie aus dem Kontextmenü Eigenschaften. Im<br />
Register Verknüpfung können Sie Ihre Eingaben, wie z. B. den Pfad zur Arbeitsgruppen-<br />
Informationsdatei, ändern.<br />
Abb 324<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 12 / 77
<strong>Das</strong> letzte Beispiel hat eine Schwachstelle des <strong>Access</strong> Sicherheitssystems aufgezeigt. Sie konnten<br />
ja, obwohl es eine „sichere“ Arbeitsgruppe gab, die Stadtlupe MDB jederzeit über die „leere“<br />
Gruppe öffnen. Tatsächlich ist es sogar noch viel einfacher, ein geschütztes System zu öffnen. Sie<br />
sollten das nächste Beispiel unbedingt nachvollziehen, um sich zu vergegenwärtigen, was bei einer<br />
unachtsamen Administration des <strong>Access</strong>-Systems passieren kann.<br />
5.2.5 Beispiel 81: Ein geschütztes System „knacken“<br />
1. Beenden Sie ggf. MS <strong>Access</strong>.<br />
2. Öffnen Sie den Windows-Explorer.<br />
3. Wechseln Sie in das Verzeichnis auf Ihrem PC, in welchem die Arbeitsgruppen-Dateien<br />
gespeichert sind. Unter Windows XP ist dies: C:\Dokumente und<br />
Einstellungen\Benutzername\Anwendungsdaten\Microsoft\<strong>Access</strong> .<br />
4. Benennen Sie die Datei System.mdw in System.sav um. Beantworten Sie die<br />
Sicherheitsabfrage mit JA.<br />
5. Starten Sie MS <strong>Access</strong> und öffnen Sie die Datenbank 070_083Stadtlupe.mdb. Sie können<br />
die Datenbank ohne Benutzeranmeldung öffnen.<br />
6. Betrachten Sie im Menü Extras/Sicherheit/Benutzer- und Gruppenkonten die Benutzer. Sie<br />
entsprechen den Anfangseinstellungen des Systems.<br />
7. Beenden Sie MS <strong>Access</strong>.<br />
8. Wechseln Sie wieder in den Windows-Explorer. Sie werden feststellen, dass es eine neue<br />
System.mdw gibt. Diese wurde von <strong>Access</strong> beim Starten angelegt.<br />
Es ist also jederzeit möglich, die Systemdatenbank zu löschen, um <strong>Access</strong> zum Anlegen einer neuen<br />
Datenbank zu bewegen. So kann man sich dann als Administrator mit leerem Passwort an dem<br />
<strong>Access</strong>-System und der eigentlich zu schützenden Datenbank anmelden und erhält sogar die volle<br />
Berechtigungsmenge. Zu einem echten Schutz eines <strong>Access</strong>-Systems gehört also auch der Schutz<br />
der Systemdatenbank. Diese darf nicht gelöscht werden.<br />
Außerdem müssen Sie vermeiden, dass jemand Ihrer Datenbank eine leere Arbeitsgruppen-<br />
Datenbank „unterschiebt“. Auch dann ist das System wieder vollkommen ungeschützt. Der Grund<br />
dafür ist schlicht und ergreifend die Tatsache, dass das Admin-Konto, welches ja fest in der<br />
Arbeitsgruppendatei „verdrahtet“ ist, immer über die gleiche PID verfügt.<br />
Wenn Sie eine Datenbank besonders gut absichern wollen, dann sollten Sie den Besitzer der<br />
Datenbank ändern und darüber versuchen, dem Standardbenutzer Administrator die umfangreichen<br />
Berechtigungen zur Benutzung der Datenbank entziehen. Dies ist in <strong>Access</strong> <strong>2003</strong> leider nicht ganz<br />
einfach, doch unterstützt Sie der Sicherheits-Assistent bei dieser Aufgabenstellung.<br />
Eine weitere Möglichkeit, an Ihre Daten zu kommen, wäre die direkte Untersuchung der MDB-<br />
Datei mit einem entsprechenden Tool und das Auslesen der Daten. Bei kleinen Datenbanken reicht<br />
da durchaus der normale Editor, um die Informationen einer Datenbankdatei sichtbar zu machen.<br />
5.2.6 Beispiel 82: Datenbankinhalte sichtbar machen<br />
1. Starten Sie über Start/Alle Programme/Zubehör den Editor.<br />
2. Öffnen Sie mit Datei/Öffnen aus dem Verzeichnis C:\Übungsdateien\Stadtlupe die Datei<br />
070_083Stadtlupe.mdb.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 13 / 77
Abb 325<br />
3. Der Inhalt der MDB-Datei wird im Editor dargestellt. Indem Sie sich mit der Bildlaufleiste<br />
durch die Datei bewegen, sollten Sie den einen oder anderen Datenbankinhalt erkennen<br />
können.<br />
4. Schließen Sie den Editor.<br />
Bei größeren MDB-Dateien versagt dieses Verfahren zwar, weil der Windows-Editor diese nicht<br />
mehr darstellen kann, es gibt jedoch im Internet jede Menge Dateibetrachter, die auch dies können.<br />
Um so etwas zu vermeiden, können Sie eine Datenbank verschlüsseln.<br />
Um eine Microsoft <strong>Access</strong>-Datenbank ver- und entschlüsseln zu können, müssen Sie entweder der<br />
Besitzer der Datenbank sein oder, falls die Datenbank gesichert ist, ein Mitglied der Gruppe<br />
Administratoren der Arbeitsgruppen-Informationsdatei. Darüber hinaus müssen Sie in der Lage<br />
sein, die Datenbank im Exklusiv-Modus zu öffnen. Sie müssen demnach über die Berechtigungen<br />
Öffnen/Ausführen und Exklusiv verfügen.<br />
5.2.7 Beispiel 83: Verschlüsseln einer Datenbank<br />
1. Starten Sie MS <strong>Access</strong> und öffnen Sie die Datenbank 070_083Stadtlupe.mdb.<br />
2. Klicken Sie auf Extras/Sicherheit/Datenbank ver-/entschlüsseln .<br />
3. Speichern Sie die Datenbank unter StadtlupeSicher.mdb. Die Datenbank ist jetzt<br />
verschlüsselt.<br />
4. Beenden Sie MS <strong>Access</strong>.<br />
5. Betrachten Sie die Datei StadtlupeSicher.mdb mit dem Editor.<br />
6. Die Dateiinhalte sind durch die Codierung nun nicht mehr ohne weiteres erkennbar.<br />
Abb 326<br />
In diesem Abschnitt des Kurses haben Sie das Sicherheitssystem ausführlich kennen gelernt. Damit<br />
sind Sie gewappnet, den <strong>Access</strong>-Sicherheits-Assistenten zu benutzen. Dieser vereinfacht die<br />
teilweise etwas unübersichtlichen Schritte bis zur Erstellung eines „wasserdichten“ Systems für Sie.<br />
Der Assistent legt eine Kopie Ihrer vorhandenen Datenbank an, erzeugt eine neue Arbeitsgruppen-<br />
Datei, entfernt die Berechtigungen für die Gruppe Benutzer, verschlüsselt die Datenbank und was<br />
am allerwichtigsten ist: er ändert den Besitzer der Datenbank, so dass es nicht mehr so simpel ist,<br />
das System durch das Löschen der Arbeitsgruppen-Datenbank oder ähnlich Tricks zu öffnen.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 14 / 77
Sie müssen bei dieser Art der Sicherung allerdings sehr sorgfältig vorgehen. Die gesicherte Version<br />
Ihrer Datenbank lässt sich nur noch unter Einsatz der neuen Arbeitsgruppen -Datenbank öffnen.<br />
Sollten Sie diese verlieren, so können Sie im Prinzip eine neue Datei generieren lassen. Allerdings<br />
nur, wenn Sie die Informationen, die Sie beim ersten Anlegen verwendet haben, auch ganz genau<br />
beim zweiten Anlegen wiederholen. Fehlt Ihnen ein Teil dieser Daten, so gibt es kaum noch eine<br />
Chance, die Datenbank zu öffnen.<br />
5.2.8 Beispiel 84: Den Sicherheitsassistenten verwenden<br />
1. Starten Sie MS <strong>Access</strong>. Öffnen Sie die Datenbank 084Stadtlupe.mdb.<br />
2. Starten Sie über Extras/Sicherheit den Benutzerdatensicherheits-Assistenten .<br />
3. Sie möchten eine neue Arbeitsgruppen-Informationsdatei erstellen.<br />
Abb 327<br />
4. Nach Weiter wählen Sie über Durchsuchen den Pfad zu Ihrem Verzeichnis Stadtlupe aus<br />
und speichern die neue Arbeitsgruppendatei unter dem Namen Sicher.mdw.<br />
5. Füllen Sie die folgenden Felder wie folgt aus: AID = 0001, Ihr Name = Admin, Firma =<br />
Stadtlupe.<br />
Abb 328<br />
6. Aktivieren Sie das Kontrollkästchen vor Verknüpfung zum Öffnen der gesicherten<br />
Datenbank erstellen und klicken Sie auf Weiter.<br />
7. Der Assistent sichert standardmäßig alle Objekte der vorhandenen Datenbank. Klicken Sie<br />
auf Weiter.<br />
Abb 329<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 15 / 77
8. Sie könnten nun Ihrer Datenbank Standard-Benutzergruppen hinzufügen. Lesen Sie die<br />
Beschreibungen der einzelnen Gruppen und klicken Sie auf Weiter, ohne eine Gruppe<br />
auszuwählen.<br />
Abb 330<br />
9. Im nächsten Dialog möchten Sie der Gruppe Benutzer das Recht zuweisen, die Daten in<br />
Tabellen zu lesen.<br />
10. Aktivieren Sie das Kontrollkästchen vor Ja, die Gruppe 'Benutzer'…<br />
11. Wechseln Sie in das Register Tabellen und wählen Sie Daten lesen. Gehen Sie Weiter.<br />
Abb 331<br />
12. Geben Sie als Benutzernamen KlausT ein. <strong>Das</strong> Kennwort soll Klaus1 sein, die PID 0004.<br />
13. Bestätigen Sie Ihre Eingaben mit Benutzer zur Liste hinzufügen und wechseln Sie mit<br />
Weiter zum nächsten Dialog.<br />
Abb 332<br />
14. Weisen Sie das Konto KlausT der Gruppe der Administratoren hinzu, indem Sie das<br />
Kontrollkästchen vor Wählen Sie eine Gruppe aus… aktivieren und dann die Gruppe<br />
Administratoren auswählen. <strong>Das</strong> Häkchen vor KlausT fügt ihn der Gruppe hinzu.<br />
Abb 333<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 16 / 77
15. Behalten Sie den vorgegebenen Namen und das voreingestellte Verzeichnis, in dem die<br />
ungesicherte Variante der Datenbank abgespeichert werden soll, bei und klicken Sie auf<br />
Fertig stellen.<br />
Abb 334<br />
16. Drucken Sie den Bericht des Datensicherheitsassistenten aus.<br />
17. Beenden Sie MS <strong>Access</strong>. Die so gesicherte Datenbank finden Sie im Ordner<br />
Lösungsdateien\Kapitel 5.<br />
Abb 335<br />
Noch sind Sie nicht ganz fertig. Sie müssen zunächst die gerade erstellte Arbeitsgruppe aktivieren,<br />
um mit den Daten arbeiten zu können.<br />
5.2.9 Beispiel 85: Die neuen Sicherheitseinstellungen<br />
aktivieren<br />
1. Um die Datenbank 085_086Stadtlupe.mdb zu öffnen, müssen Sie zuerst der Arbeitsgruppe<br />
beitreten, die die soeben erstellte Arbeitsgruppen-Informationsdatei benutzt.<br />
2. Starten Sie MS <strong>Access</strong> neu.<br />
3. Öffnen Sie über Extras/Sicherheit den Arbeitsgruppenadministrator und klicken Sie auf die<br />
Schaltfläche Beitreten.<br />
4. Über die Schaltfläche Durchsuchen wählen Sie die Arbeitsgruppen-Informationsdatei<br />
Sicher.mdw aus. OK.<br />
Abb 336<br />
5. Beenden Sie MS <strong>Access</strong>.<br />
6. Starten Sie MS <strong>Access</strong> neu, öffnen Sie die gesicherte Datenbank 085_086Stadtlupe.mdb<br />
und melden Sie sich als KlausT, Passwort Klaus1, an.<br />
Abb 337<br />
Sie benutzen jetzt die neue Arbeitsgruppen-Informationsdatei Sicher.mdw.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 17 / 77
7. Beenden Sie MS <strong>Access</strong>.<br />
5.2.10 Beispiel 86: <strong>Das</strong> Sicherungsverfahren testen<br />
1. Wechseln Sie im Windows Explorer in das Stadtlupe-Verzeichnis und benennen Sie die<br />
Arbeitsgruppen-Datei Sicher.mdw in Sicher.sav um.<br />
2. Starten Sie <strong>Access</strong> und versuchen Sie, die Datenbank 085_086Stadtlupe.mdb zu öffnen.<br />
Sie erhalten eine Warnung, dass Ihnen die Benutzung der Datenbank nicht gestattet ist. Die<br />
neue Version der Datenbank 085_086Stadtlupe.mdb kann tatsächlich nur noch über die<br />
Arbeitsgruppen-Datei Sicher.mdw geöffnet werden.<br />
Abb 338<br />
3. Wechseln Sie in den Windows-Explorer. Benennen Sie die Datei Sicher.sav wieder in<br />
Sicher.mdw um.<br />
4. Sie müssen nun wieder der Arbeitsgruppe beitreten, die beim Start die Arbeitsgruppen-<br />
Informationsdatei Sicher.mdw verwendet, da MS <strong>Access</strong> bei dem Versuch, die Datenbank<br />
085_086Stadtlupe.mdb zu öffnen, eine neue Arbeitsgruppen-Informationsdatei erstellt hat.<br />
5. Öffnen Sie über Extras/Sicherheit den Arbeitsgruppenadministrator und klicken Sie auf die<br />
Schaltfläche Beitreten. Über die Schaltfläche Durchsuchen wählen Sie die Arbeitsgruppen-<br />
Informationsdatei Sicher.mdw aus. OK. Um die Datenbank 085_086Stadtlupe.mdb zu<br />
öffnen, müssen Sie sich nun wieder als KlausT anmelden.<br />
6. Beenden Sie MS <strong>Access</strong>.<br />
7. Verschieben Sie die Arbeitsgruppen-Informationsdatei Sicher.mdw in den Ordner<br />
Lösungsdateien. MS <strong>Access</strong> legt beim Neustart eine neue, leere Arbeitsgruppen-<br />
Informationsdatei im Standard-Ordner C:\Dokumente und<br />
Einstellungen\Benutzername\Anwendungsdaten\Microsoft\<strong>Access</strong> an.<br />
Wollen Sie die <strong>Access</strong>-Daten noch besser schützen, so können Sie natürlich im Betriebssystem die<br />
MDB-Dateien mit entsprechenden Attributen versehen.<br />
5.3 Übungsaufgaben<br />
5.3.1 <strong>Das</strong> Berechtigungssystem einsetzen<br />
Die Datenbank Handel soll nun mit einer Benutzerverwaltung versehen werden. Dazu wird das<br />
Berechtigungssystem aktiviert, Benutzer und Gruppen angelegt und mit Rechten versehen. Damit<br />
Ihre übrigen Datenbanken von den Änderungen unberührt bleiben, soll eine neue<br />
Sicherheitsdatenbank angelegt werden.<br />
5.3.2 Aufgabe 33: Eine Arbeitsgruppen-Informationsdatei für<br />
die Datenbank Handel anlegen und aktivieren<br />
1. In dieser Aufgabe richten Sie eine neue Arbeitsgruppen-Informationsdatei mit dem<br />
Arbeitsgruppen-Administrator ein. (5.2.1 Beispiel 77: Eine neue Arbeitsgruppe anlegen)<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 18 / 77
2. Öffnen Sie den Arbeitsgruppen-Administrator. Notieren Sie sich den Pfad zur aktuell<br />
eingestellten Arbeitsgruppen-Informationsdatei, bevor Sie mit den Änderungen beginnen.<br />
3. Legen Sie eine Arbeitsgruppen-Informationsdatei mit der Arbeitsgruppen-ID Handel0001 in<br />
der Datei Handel.mdw an. (5.2.1 Beispiel 77: Eine neue Arbeitsgruppe anlegen)<br />
4. Überprüfen Sie, ob Sie der Sicherheits-Datenbank bereits beigetreten sind. Dies sollte der<br />
Fall sein.<br />
Abb 339<br />
5.3.3 Aufgabe 34: Benutzer und Gruppen anlegen<br />
1. Legen Sie nun in der Datenbank 033_039Handel.mdb die folgenden Benutzernamen an. In<br />
den Klammern hinter dem Namen finden Sie jeweils die Sicherheits-ID: Peter(0001),<br />
Paul(0002) und Mary(0003). (<strong>5.1</strong>.3 Beispiel 72: Benutzerkonten einrichten)<br />
2. Jetzt fehlen noch die Gruppen Einkauf(0001) und Verkauf(0002). Peter und Paul gehören<br />
zur Gruppe Einkauf. Peter und Mary gehören zur Gruppe Verkauf. (<strong>5.1</strong>.4 Beispiel 73:<br />
Benutzergruppen anlegen)<br />
3. Drucken Sie die Übersicht der Benutzer und Gruppen aus.<br />
5.3.4 Aufgabe 35: Berechtigungen vergeben<br />
1. Stellen Sie die Berechtigungen so ein, dass nur Mitglieder der Gruppe Einkauf Daten der<br />
Tabelle Lieferanten lesen und bearbeiten dürfen. (<strong>5.1</strong>.6 Beispiel 75: Berechtigungen<br />
vergeben)<br />
2. Die Einkäufer sollen auch Artikeldaten bearbeiten können. (<strong>5.1</strong>.6 Beispiel 75:<br />
Berechtigungen vergeben)<br />
3. Kundendaten sollen für die Gruppen Benutzer und Einkauf verborgen bleiben. (<strong>5.1</strong>.6<br />
Beispiel 75: Berechtigungen vergeben)<br />
4. Mitglieder der Gruppe Verkauf haben keinen Zugriff auf die Lieferanten, aber lesenden<br />
Zugriff auf die Artikeldaten. (<strong>5.1</strong>.6 Beispiel 75: Berechtigungen vergeben)<br />
5. Verkäufer haben den vollen Zugriff auf die Kundendaten. (<strong>5.1</strong>.6 Beispiel 75:<br />
Berechtigungen vergeben)<br />
6. Lassen Sie alle weiteren Objekte unberührt.<br />
5.3.5 Aufgabe 36: Die Berechtigungen aktivieren und testen<br />
1. Aktivieren Sie das Berechtigungssystem durch die Vergabe des Administrator-Kennwortes<br />
test. (<strong>5.1</strong>.1 Beispiel 70: <strong>Das</strong> Berechtigungssystem aktivieren)<br />
2. Starten Sie <strong>Access</strong> neu und öffnen Sie die Datenbank 033_039Handel.mdb .<br />
3. Melden Sie sich als Paul an. Sie sollten die Tabelle Lieferanten öffnen und bearbeiten<br />
können, ebenso die Tabelle Artikel. Die Tabelle Kunden sollten Sie nicht öffnen dürfen.<br />
(<strong>5.1</strong>.7 Beispiel 76: Berechtigungen testen)<br />
4. Melden Sie sich als Mary an. Die Tabelle Lieferanten sollte Ihnen verwehrt sein,<br />
Artikeldaten sollten Sie nur lesen dürfen. Kundendaten können bearbeitet werden. (<strong>5.1</strong>.7<br />
Beispiel 76: Berechtigungen testen)<br />
5. Melden Sie sich als Peter an. Peter ist Mitglied in beiden Gruppen. Er kann also sowohl die<br />
Tabellen Lieferanten, Artikel als auch Kunden bearbeiten. (<strong>5.1</strong>.7 Beispiel 76:<br />
Berechtigungen testen)<br />
6. Da keine weiteren Einschränkungen vergeben wurden, kann jeder Benutzer der Datenbank<br />
die Tabellen Bestellungen und Bestellpositionen bearbeiten.<br />
7. Die Lösung zu den vorherigen Aufgaben befindet sich in der Systemdatenbank<br />
Handel.mdw.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 19 / 77
5.3.6 Aufgabe 37: <strong>Das</strong> alte Berechtigungssystem reaktivieren<br />
1. Starten Sie <strong>Access</strong> neu, öffnen Sie die Datenbank 033_039Handel.mdb. Melden Sie sich als<br />
Administrator an.<br />
2. Verwenden Sie den Arbeitsgruppen-Administrator, um wieder die ursrpüngliche<br />
System.mdw für Ihre <strong>Access</strong>-Datenbanken zu aktivieren. (5.2.3 Beispiel 79: Die<br />
Arbeitgruppe wechseln)<br />
3. Starten Sie <strong>Access</strong> neu und öffnen Sie Datenbank wieder.<br />
4. Sie sollten die Datenbank ohne Anmeldung benutzen dürfen. Es sollten keinerlei Benutzeroder<br />
Gruppen vorhanden sein.<br />
6 Datenbankinhalte mit Replikation verteilen<br />
Immer dann, wenn Benutzer an ähnlichen oder gleichen Datenbeständen getrennt voneinander<br />
arbeiten müssen, also z. B. beim Notebookeinsatz, kann Datenbankreplikation sinnvoll eingesetzt<br />
werden. Die Aktenkoffer-Replikation und die <strong>Access</strong>-Replikation sind die Themen dieses Kapitels.<br />
6.1 Die Windows Aktenkoffer-Replikation<br />
Möchten Sie eine Datenbank sowohl in Ihrem Büro, als auch unterwegs auf Ihrem Notebook nutzen<br />
und dabei diese Datenbank nicht jedes Mal komplett von Ihrem PC auf Ihr Notebook und<br />
umgekehrt verschieben, dann könnte die Aktenkofferreplikation etwas für Sie sein. Es handelt sich<br />
dabei um ein Standardverfahren, welches in Windows vorhanden ist und das von <strong>Access</strong> wunderbar<br />
unterstützt wird. <strong>Das</strong> Symbol der Aktenkofferreplikation kennen Sie möglicherweise bereits von<br />
Ihrem Desktop. Sie eignet sich auch, um Dateien abzugleichen, die sich auf Wechselaufwerken, wie<br />
zum Beispiel ZIP-Laufwerken, befinden.<br />
Die Aktenkofferreplikation ist erstaunlich leistungsfähig. Sie ermöglicht Ihnen, eine gesamte<br />
Datenbank oder eine Teilmenge einer Datenbank „mobil“ zu machen. Änderungen dürfen dabei an<br />
sämtlichen Kopien gleichzeitig durchgeführt werden. Dadurch ist die Offline-Bearbeitung durch<br />
verschiedene Benutzer parallel machbar. Mittels der eingebauten Abgleichmechanismen können die<br />
Änderungen dann nacheinander zusammengeführt und entstandene Konflikte an den Datensätzen<br />
aufgelöst werden.<br />
6.1.1 Beispiel 87: Eine Datenbank über den Aktenkoffer<br />
replizieren<br />
1. Wenn auf Ihrem Computer bereits ein Aktenkoffer installiert ist, sehen Sie auf dem<br />
Windows-Desktop das Symbol Aktenkoffer. Benennen Sie den Aktenkoffer in <strong>Access</strong> Daten<br />
um.<br />
Abb 340<br />
Wenn kein Aktenkoffer installiert ist, klicken Sie mit der rechten Maustaste auf eine<br />
beliebige Stelle auf dem Desktop, zeigen auf Neu und klicken auf Aktenkoffer.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 20 / 77
2. Öffnen Sie im Windows-Explorer den Ordner Stadtlupe.<br />
3. Verkleinern Sie das Fenster des Windows-Explorers. Ziehen Sie die zu diesem Beispiel<br />
gehörende Datenbankdatei 087Stadtlupe.mdb mit gedrückter Maustaste in den<br />
Aktenkoffer auf dem Windows-Desktop.<br />
Abb 341<br />
4. Sie erhalten in einem Fenster Informationen zur Aktenkoffer-Replikation. Klicken Sie auf<br />
Ja.<br />
Abb 342<br />
5. Der nächste Dialog bietet Ihnen an, eine nicht-replizierte Sicherungskopie der<br />
ursprünglichen Datenbank zu erstellen. Diese sollten Sie unbedingt erstellen, wenn Sie Ihre<br />
Datenbank noch nicht kopiert haben, da es nicht einfach ist, eine replizierte Datenbank<br />
wieder in den ursprünglichen Zustand zu versetzen.<br />
kopiert<br />
Abb 343 Die Datenbank Stadtlupe wird in den Aktenkoffer<br />
6. Wählen Sie auf die Frage, welches Replikat Änderungen am Design der Datenbank zulassen<br />
soll, das Original aus.<br />
Abb 344<br />
7. Öffnen Sie die geänderte Datenbank 088Stadtlupe.mdb im Ordner Stadtlupe. Betrachten<br />
Sie die Objekte im Datenbankfenster. Diese sind jeweils mit einem Replikationssymbol<br />
versehen. Außerdem wird diese Datenbank als Designmaster bezeichnet.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 21 / 77
Abb 345 Die Datenbank Stadtlupe als Designmaster<br />
Sie haben mit dem vorstehenden Beispiel eine Replikation zwischen der Datenbank im Verzeichnis<br />
Stadtlupe und der Datenbank im Aktenkoffer eingerichtet. Die ursprüngliche Datenbank wurde<br />
dabei zum Design-Master. Nur Sie erlaubt Änderungen am Entwurf der Tabellen, Abfragen usw.<br />
Man kann nun sehr leicht die Funktionsweise der Aktenkoffer-Replikation demonstrieren.<br />
6.1.2 Beispiel 88: Änderungen an Replikaten zusammenführen<br />
1. Ziehen Sie aus dem Ordner Stadtlupe die Datenbank 088Stadtlupe.mdb auf das<br />
Aktenkoffersymbol, wie im vorangegangenen Beispiel beschrieben.<br />
Abb 346<br />
2. Öffnen Sie in der Datenbank 088Stadtlupe.mdb die Tabelle Hefte, nehmen Sie eine<br />
Änderung vor und speichern Sie die Tabelle.<br />
Abb 347<br />
3. Schließen Sie die Datenbank 088Stadtlupe.mdb.<br />
4. Klicken Sie mit der rechten Maustaste auf den Aktenkoffer auf Ihrem Desktop und wählen<br />
Sie aus dem Kontextmenü Alles aktualisieren.<br />
5. Klicken Sie im nächsten Fenster auf die Schaltfläche Aktualisieren.<br />
6. Öffnen Sie die Datenbank Stadtlupe im Aktenkoffer , indem Sie zuerst auf das Symbol<br />
Aktenkoffer doppelklicken, dann auf die Datei 088Stadtlupe.mdb.<br />
7. Betrachten Sie die Änderungen in der Tabelle Hefte.<br />
8. Schließen Sie die Datenbank und beenden Sie MS <strong>Access</strong>.<br />
Abb 348<br />
9. Um die Datenbank Stadtlupe mobil zu machen, verschieben Sie einfach den Aktenkoffer auf<br />
das an Ihrem PC angeschlossene Wechsellaufwerk bzw. Ihr Notebook.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 22 / 77
6.2 Die <strong>Access</strong> Replikation<br />
Für sehr viele Anwendungen, gerade bei mobilen <strong>Access</strong>-Anwendern, reicht die im letzten<br />
Abschnitt beschriebene Aktenkoffer-Replikation vollkommen aus. Die Synchronisation der Daten<br />
wird, wie gezeigt, vom Aktenkoffer-Ordner aus angestoßen. Nur der Vollständigkeit halber soll<br />
jetzt kurz die <strong>Access</strong> Replikation vorgestellt werden. Prinzipiell unterschiedet sich diese kaum von<br />
der Aktenkoffer-Replikation, bietet aber zusätzliche Möglichkeiten, gerade, wenn man an die<br />
Erstellung eigener <strong>Access</strong> Applikationen denkt.<br />
6.2.1 Beispiel 89: Mit <strong>Access</strong> Replikation einen Designmaster<br />
erstellen<br />
1. Öffnen Sie die Datenbank 089Stadtlupe.mdb.<br />
Wenn Sie in einer Mehrbenutzerumgebung arbeiten, müssen Sie sicherstellen, dass alle<br />
anderen Benutzer die Datenbank geschlossen haben.<br />
2. Wählen Sie in der Menüleiste den Befehl Extras/Replikation/Datenbank in Replikat<br />
konvertieren.<br />
3. Klicken Sie auf Ja, wenn Sie aufgefordert werden, die Datenbank zu schließen.<br />
Abb 349<br />
4. Lesen Sie den Hinweistext im nächsten Fenster. Erstellen Sie eine Sicherungskopie.<br />
5. Wählen Sie als Speicherort des neuen Replikats den Ordner Stadtlupe aus und als<br />
Dateinamen Replikat.mdb.<br />
6. Aktivieren Sie das Kontrollkästchen vor Löschsperrung.<br />
Abb 350<br />
7. Damit verhindern Sie, dass Benutzer Datensätze aus dem Replikat löschen.<br />
8. Klicken Sie auf die Schaltfläche Priorität , geben Sie als Priorität für das Replikat 99 ein und<br />
klicken Sie auf OK. Über diesen Wert wird der Vorrang bei gleichzeitigen Änderungen in<br />
mehreren Replikaten gesteuert. 0 ist der niedrigste und 100 der höchste Wert.<br />
Abb 351<br />
9. Mit OK schließen Sie den Vorgang ab.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 23 / 77
Abb 352<br />
Eine der fortgeschrittenen Möglichkeiten, die Sie über die <strong>Access</strong> Replikation erhalten, ist die<br />
Erstellung so genannter Teilreplikate. Damit können Sie Teildatenmengen Ihrer Tabellen<br />
replizieren. Dies kann zum Beispiel in Filialsystemen sinnvoll sein, in denen jede Filiale nur einen<br />
bestimmten Ausschnitt der Daten sehen oder bearbeiten soll.<br />
Sie werden im folgenden Beispiel kennen lernen, wie man ein Teilreplikat der Datenbank Stadtlupe<br />
einrichtet. In diesem sollen nur Daten enthalten sein, die für den Standort Berlin relevant sind. Alle<br />
anderen Daten sollen automatisch ausgeblendet werden.<br />
6.2.2 Beispiel 90: Ein Teilreplikat einer einzelnen Tabelle<br />
erzeugen<br />
1. Öffnen Sie die Datenbank 090Stadtlupe.mdb.<br />
2. Wählen Sie aus dem Menü Extras/Replikation den Teilreplikations-Assistenten .<br />
3. Aktivieren Sie im nächsten Schritt die Option Ein neues Teilreplikat erzeugen.<br />
Abb 353<br />
4. Wählen Sie als Speicherort für das neue Replikat den Ordner Stadtlupe und als Namen<br />
StadtlupeBerlin.mdb. Lassen Sie die anderen Optionen wie voreingestellt.<br />
Abb 354<br />
5. Nach Weiter wählen Sie die Tabelle Standorte aus. Über diese Tabelle soll die Auswahl der<br />
Daten gesteuert werden. Durch den Ausdruck wird angegeben, welche Daten aus dieser<br />
Tabelle die Grundlage für die Selektion der Datensätze in allen anderen Tabellen bilden.<br />
6. Erstellen Sie den Filterausdruck über die Schaltflächen oder geben Sie ihn direkt ein. Er<br />
lautet [Standort-ID] = "B" Klicken Sie auf Weiter.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 24 / 77
Abb 355<br />
7. Im nächsten Schritt müssen Sie sehr sorgfältig auswählen, welche Tabellen noch von dem<br />
Filtervorgang betroffen sein sollen. Auf jeden Fall werden alle direkt mit der Standorttabelle<br />
verknüpften Tabellen gefiltert. Diese zeigt das Dialogfeld nicht an. Entfernen Sie den Haken<br />
bei Tabellen, von denen Sie möchten, dass diese nicht vollständig, sondern gefiltert<br />
angezeigt werden. Hier sind das die Tabellen Kunden, Heftarchiv und Orte. Durch diese<br />
Aktion sehen Sie im Ergebnis z. B. nur Datensätze, die mit dem Standort Berlin in<br />
Verbindung stehen.<br />
Abb 356<br />
8. Aktivieren Sie im letzten Dialogfeld die Erstellung des Berichtes und lassen Sie das<br />
Teilreplikat Fertig stellen.<br />
9. Überprüfen Sie anschließend die neu erstellte Datei StadtlupeBerlin.mdb. In dieser sollten<br />
nur der Standort Berlin, Mitarbeiter aus Berlin und eine reduzierte Anzahl von<br />
Kundendatensätzen vorkommen. Die verbliebenen Datensätze stehen mit dem Designmaster<br />
in Verbindung.<br />
<strong>Access</strong> führt zwischen der Master-Datenbank und den Replikaten eine so genannte Misch-<br />
Replikation durch. Dabei ist es durchaus erlaubt, Daten an verschiedenen Standorten parallel zu<br />
ändern. Solange unterschiedliche Tabellen, Datensätze oder Felder betroffen sind, werden die<br />
Änderungen einfach gemischt, um die neuen Datensätze zu erhalten. Treten Konflikte auf, so<br />
müssen diese gelöst werden. <strong>Das</strong> nächste Beispiel stellt vor, wie das geht.<br />
6.2.3 Beispiel 91: Daten synchronisieren und Konflikte lösen<br />
1. Öffnen Sie im Verzeichnis Stadtlupe die Datenbank Replikat.mdb.<br />
2. In der Tabelle Mitarbeiter finden Sie den Datensatz der Mitarbeiterin Karin Müller (KM).<br />
Tragen Sie als Standort-ID das Kürzel M ein.<br />
3. Schließen Sie die Datenbank wieder.<br />
4. Öffnen Sie jetzt die Datenbank 091Stadtlupe.mdb . Ändern Sie wieder den Datensatz für<br />
Karin Müller in der Mitarbeitertabelle, indem Sie diesmal das Kürzel H als Standort-ID<br />
eintragen.<br />
5. Schließen Sie die Tabelle.<br />
6. Zum Abgleich der Änderungen wählen Sie jetzt aus dem Menü Extras/Replikation den<br />
Befehl Jetzt synchronisieren aus. Kontrollieren Sie, ob die Datenbank<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 25 / 77
\Übungsdateien\Stadtlupe\Replikat.mdb als Ziel der Synchronisation angezeigt wird und<br />
starten Sie den Vorgang mit OK.<br />
Abb 357<br />
7. Die Daten der Datenbank werden jetzt verglichen; das Ergebnis wird angezeigt. In unserem<br />
Fall ist ein Konflikt aufgetreten. Klicken Sie auf Ja, um mit der Konfliktauflösung zu<br />
beginnen.<br />
Abb 358<br />
8. Die Tabelle Mitarbeiter hat den Konflikt verursacht. Klicken Sie auf Anzeigen.<br />
Abb 359<br />
9. Sie können auswählen, was mit den vorhandenen Daten geschehen soll. Wählen Sie die<br />
Option Gewinnende Änderung beibehalten und klicken Sie auf Schliessen.<br />
Zwei Bemerkungen zum Schluss. Die erste: Falls Sie Schwierigkeiten beim Ausprobieren der<br />
Replikation bekommen, sollten Sie sich die Office Service Packs besorgen. Die gibt es im Internet<br />
bei Microsoft zum Download. Die zweite: Auch in <strong>Access</strong> <strong>2003</strong> gibt es immer noch keine<br />
Möglichkeit, einen Design-Master oder ein Replikat wieder in eine nicht-replizierte Datenbank<br />
umzuwandeln. Im Internet finden Sie diverse Tools, die diese Aufgabe durchführen. Eine einfache<br />
und stabil funktionierende Möglichkeit, die Sie ohne Hilfsmittel durchführen können, ist die<br />
folgende: Legen Sie eine neue <strong>Access</strong>-Datenbank an. Wählen Sie den Befehl Externe<br />
Daten/Importieren aus dem Menü Datei und importieren Sie sämtliche Objekte in die neue<br />
Datenbank. Auch damit entfernen Sie die Replikation.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 26 / 77
6.3 Übungsaufgaben<br />
6.3.1 Aufgabe 38: Aktenkoffer-Replikation für die Datenbank<br />
Handel<br />
1. In dieser Aufgabe legen Sie ein Replikat der Datenbank Handel an und synchronisieren<br />
dieses.<br />
2. Legen Sie auf dem Desktop einen neuen Aktenkoffer an und nennen Sie diesen Handel.<br />
(6.1.1 Beispiel 87: Eine Datenbank über den Aktenkoffer replizieren)<br />
3. Erstellen Sie per Drag-and-Drop ein Replikat der Datenbank 033_039Handel.mdb im neuen<br />
Aktenkoffer. (6.1.1 Beispiel 87: Eine Datenbank über den Aktenkoffer replizieren)<br />
4. Öffnen Sie die Datenbank 033_039Handel.mdb aus dem Aktenkoffer. Ändern Sie den<br />
Namen des ersten Kunden von Werkzeughaus Nord in Werkzeughaus Süd. (6.1.2 Beispiel<br />
88: Änderungen an Replikaten zusammenführen)<br />
5. Ändern Sie in der Datenbank 033_039Handel.mdb auf Ihrem Desktop-PC den Namen des<br />
zweiten Kunden von Malerladen Schröder in Malerladen Meier. (6.1.2 Beispiel 88:<br />
Änderungen an Replikaten zusammenführen)<br />
6. Klicken Sie den Aktenkoffer mit der rechten Maustaste an. (6.1.2 Beispiel 88: Änderungen<br />
an Replikaten zusammenführen)<br />
7. Wählen Sie aus dem Kontextmenü Alles Aktualisieren. (6.1.2 Beispiel 88: Änderungen an<br />
Replikaten zusammenführen)<br />
8. Sie sollten ein Dialogfeld entsprechend der Abbildung sehen. Klicken Sie auf Aktualisieren.<br />
Die Änderungen werden zusammengeführt. (6.1.2 Beispiel 88: Änderungen an Replikaten<br />
zusammenführen)<br />
Abb 360<br />
6.3.2 Aufgabe 39: <strong>Das</strong> Teil-Replikat vom Design Master trennen<br />
1. Öffnen Sie im Aktenkoffer das Kontextmenü zur Datei 033_039Handel.mdb über einen<br />
rechten Mausklick.<br />
2. Lassen Sie sich unter den Eigenschaften den Aktualisierungsstatus anzeigen.<br />
3. Verwenden Sie die Schaltfläche Vom Original trennen, um die Verbindung zwischen den<br />
beiden Versionen aufzuheben.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 27 / 77
Abb 361<br />
6.3.3 Aufgabe 40: Ein Teil-Replikat für die Tabelle Kunden<br />
erstellen<br />
1. In dieser Aufgabe soll eine Teilmenge der Datenbank repliziert werden. Es handelt sich um<br />
einen bestimmten Kundenbereich.<br />
2. Öffnen Sie die Datei 040Handel.mdb.<br />
3. Verwenden Sie den Teilreplikations-Assistenten, um eine replizierte Version der Datenbank<br />
zu erstellen. Der Dateiname soll KundenBis20.mdb lauten. (6.2.2 Beispiel 90: Ein<br />
Teilreplikat einer einzelnen Tabelle erzeugen)<br />
4. Es soll sich um ein anonymes Replikat handeln. (6.2.2 Beispiel 90: Ein Teilreplikat einer<br />
einzelnen Tabelle erzeugen)<br />
5. Die Filterung der Daten soll über die Kundeninformationen geschehen. Verwenden Sie den<br />
Ausdruck [KundenNr]
7 Abläufe mit Makros automatisieren<br />
Mit den Makros stehen in <strong>Access</strong> Werkzeuge zur Automatisierung von Arbeitsabläufen zur<br />
Verfügung. Makros sind im Prinzip nichts anderes, als eine Auflistung von Befehlen, die von<br />
<strong>Access</strong> automatisch hintereinander abgearbeitet werden. Makros werden in <strong>Access</strong> für das<br />
Festlegen eigener Menüleisten und eigener Tastenbelegungen sowie für das Ausführen von<br />
Aktionen beim Öffnen einer Datenbank eingesetzt.<br />
Wenn Sie bereits mit den Makros von Excel oder Word Erfahrungen gesammelt haben, werden Sie<br />
vielleicht zunächst etwas enttäuscht sein, da eine Makroaufzeichnung in <strong>Access</strong> nicht möglich ist.<br />
Dennoch sind Makros der einfachste Weg, Abläufe in <strong>Access</strong> zu automatisieren. Auch der ungeübte<br />
Benutzer kommt schnell mit ihnen zurecht. Ein weiterer Unterschied zu Excel- oder Word-Makros<br />
ist in der Tastsache zu sehen, dass <strong>Access</strong>-Makros sehr viel einfacher aufgebaut sind. Dennoch<br />
stehen sämtliche Befehle zur Verfügung, die Sie als Benutzer verwenden können und es lassen sich<br />
umfangreiche Applikationen aufbauen.<br />
Wenn Sie sich ein bestehendes Makro in der Entwurfsansicht betrachten, werden Sie feststellen,<br />
dass die einzelnen Aktionen in einer Tabelle untereinander aufgelistet sind. Der lineare Ablauf ist<br />
die einfachste Variante, aber auch Programmverzweigungen können eingebaut werden.<br />
Makros haben nichts mit der Programmiersprache Visual Basic for Application (VBA) zu tun.<br />
Diese ist in <strong>Access</strong> den so genannten Modulen vorbehalten. In diesem Kapitel gehen wir nur auf die<br />
Makros ein. <strong>Das</strong> komplexe Thema Visual Basic for Application würde den Rahmen dieses Buches<br />
sprengen.<br />
7.1 Makros erstellen und ausführen<br />
Ein Makro ist eine Auflistung von Befehlen, die von <strong>Access</strong> automatisch hintereinander<br />
abgearbeitet werden.<br />
Zunächst wird ein bereits angelegtes Makro aufgerufen. Dieses ordnet wichtige Formulare der<br />
Datenbank auf der Arbeitsoberfläche an.<br />
7.1.1 Beispiel 92: Ein Makro ausführen<br />
1. Wechseln Sie in der Datenbank 092_093Stadtlupe.mdb über die Objektleiste in die<br />
Makros.<br />
Abb 363<br />
2. Starten Sie das Makro Fenster anordnen mit einem Doppelklick.<br />
3. Die drei wichtigsten Formulare der Datenbank Stadtlupe werden nacheinander geöffnet und<br />
überlappend angeordnet. Außerdem ertönt ein Signalton und es wird eine Meldung<br />
eingeblendet.<br />
4. Bestätigen Sie die Meldung mit OK und schließen Sie die drei Formulare wieder.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 29 / 77
Abb 364 Es öffnen sich drei Fenster und eine Meldung<br />
5. Betrachten Sie das Makro Fenster anordnen in der Entwurfsansicht.<br />
Abb 365<br />
6. In der Spalte Aktion wird der eigentliche Makrobefehl aus dem Listenfeld ausgewählt.<br />
Unter Kommentar können eigene Beschreibungen zur Aktion eingetragen werden.<br />
7. Bei den Aktionsargumenten geben Sie zu einigen Aktionen noch weitere Informationen ein,<br />
damit die Kommandos sinnvoll durchgeführt werden können, beispielsweise den<br />
Formularnamen eines zu öffnenden Formulars.<br />
8. Klicken Sie auf die erste Aktion ÖffnenFormular in der Aktionsliste. Im Bereich<br />
Aktionsargumente erscheint im Feld Formularname Aufträge. Dies ist der Name des zu<br />
öffnenden Formulars.<br />
Abb 366 <strong>Das</strong> Makro Fenster anordnen<br />
Über die Aktionen der Makros können in <strong>Access</strong> wichtige Aufgaben durchgeführt werden. Viele<br />
der Dinge, die sonst mit der Tastatur oder der Maus erledigt werden, erreichen Sie hierüber. Dazu<br />
kommen noch Befehle zur Ablaufsteuerung. Eine Sonderstellung nimmt die Aktion<br />
AusführenBefehl ein. Über diese können Sie tatsächlich sämtliche Befehle aller <strong>Access</strong> Menüs<br />
erreichen. Zu dieser Aktion gehört folglich eine recht umfangreiche Befehlsliste. Die Namen der<br />
Befehle lassen sich in der Regel aus den Menü- und Befehlsnamen ableiten. FensterÜberlappend ist<br />
eben im Menü Fenster zu finden und der Befehl im Menü hat den Namen Überlappend.<br />
<strong>Das</strong> nächste Beispiel macht Sie mit den Arbeitschritten vertraut, die notwendig sind, wenn Sie ein<br />
Makro selbst anlegen möchten.<br />
7.1.2 Beispiel 93: Ein einfaches Makro erstellen<br />
1. Die Datenbank 092_093Stadtlupe.mdb ist geöffnet.<br />
2. Rufen Sie den Makroeditor auf, indem Sie in der Objektleiste auf Makros und dann auf Neu<br />
klicken.<br />
Abb 367<br />
3. Klicken Sie in die erste Zelle in der ersten Spalte (Aktion) und wählen Sie über den kleinen<br />
Pfeil am rechten Rand aus dem Auswahlmenü die Aktion ÖffnenFormular.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 30 / 77
4. Wählen Sie ebenso aus dem Listenfeld Formularname das Formular Aufträge.<br />
5. Achten Sie in den Aktionsargumenten darauf, dass unter Ansicht Formular und unter<br />
Fenstermodus Dialog eingestellt ist. So erscheint das Formular in der üblichen Ansicht, aber<br />
man kann es nicht verlassen, ohne es zu schließen.<br />
6. Bevor Sie ein Makro starten können, müssen Sie es speichern. Sichern Sie das Makro unter<br />
dem Namen Aufträge bearbeiten.<br />
Abb 368<br />
7. Starten Sie das Makro jetzt über das Symbol Ausführen. <strong>Das</strong> Formular wird angezeigt und<br />
das Bearbeiten von Aufträgen ist möglich. Sie müssen das Formular wieder schließen, bevor<br />
Sie etwas anderes in <strong>Access</strong> unternehmen können.<br />
Abb 369<br />
8. Fügen Sie vor der Aktion ÖffnenFormular eine leere Zeile ein. Die Aktion soll hier<br />
Meldung sein. Als Meldungstext geben Sie unter Aktionsargumente Sie können jetzt<br />
Aufträge bearbeiten! ein.<br />
Abb 370<br />
9. Testen Sie das Makro noch einmal. Es erscheint am Anfang eine Meldung mit dem Text,<br />
den Sie eingegeben haben.<br />
Abb 371<br />
Abb 372<br />
10. Zu Dokumentationszwecken soll die Definition des Makros ausgedruckt werden. Klicken<br />
Sie auf das Symbol Seitenansicht.<br />
Abb 373<br />
11. Entfernen Sie in der Dialogbox die Häkchen vor Eigenschaften und Berechtigungen…<br />
Abb 374<br />
12. Nach OK erscheint die Makro-Dokumentation in der Seitenansicht. Drucken Sie das Makro<br />
und schließen Sie die Datenbank anschließend.<br />
Für viele Anwendungen ist ein Startmakro sehr hilfreich, welches die Arbeitsumgebung für einen<br />
Benutzer beim Öffnen der Datenbank einrichtet. Wenn ein Makro automatisch beim Öffnen der<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 31 / 77
Datenbank ausgeführt werden soll, so geben Sie diesem den Namen Autoexec. So können Sie<br />
beispielsweise bestimmte Formulare schon beim Start öffnen.<br />
7.1.3 Beispiel 94: Makro automatisch beim Öffnen der<br />
Datenbank ausführen (Autoexec)<br />
1. Die Datenbank 094Stadtlupe.mdb ist geöffnet.<br />
2. Sie möchten im Datenbankfenster eine Kopie des im vorigen Beispiel erstellten Makros<br />
Aufträge bearbeiten erstellen.<br />
3. Klicken Sie mit der rechten Maustaste auf das Makro Aufträge bearbeiten und wählen Sie<br />
Kopieren.<br />
4. Klicken Sie auf Einfügen und geben Sie als Makronamen Autoexec ein.<br />
Abb 375<br />
5. Schließen Sie die Datenbank und öffnen Sie diese gleich wieder.<br />
6. Beim Öffnen der Datenbank wird das Makro Autoexec sofort gestartet und alle darin<br />
enthaltenen Aktionen werden ausgeführt.<br />
7. Deaktivieren Sie das Makro wieder, indem Sie es in Autoexec (Test) umbenennen und<br />
schließen Sie die Datenbank.<br />
Abb 376<br />
Eine weitere Arbeitserleichterung in <strong>Access</strong> sind eigene Kurzbefehle. Damit können beispielsweise<br />
die wichtigsten Formulare Ihrer Datenbank per Tastenkombination aufgerufen werden. Im<br />
folgenden Beispiel werden Kurzbefehle eingerichtet, um die wichtigsten Formulare über eine<br />
Tastenkombination aufzurufen. Damit Sie dies tun können, müssen Sie im Makroeditor einzelnen<br />
Aktionen oder Aktionsabschnitten Namen zuweisen. <strong>Das</strong> folgende Beispiel stellt vor, wie das<br />
funktioniert.<br />
7.1.4 Beispiel 95: Makros über Tastenkombinationen aufrufen<br />
1. Die Datenbank 095Stadtlupe.mdb ist geöffnet. Klicken Sie in der Objektleiste auf Makros<br />
und dann auf Neu.<br />
2. Aktivieren Sie über das Symbol Ansicht/Makronamen die zusätzliche Spalte Makroname im<br />
Makroeditor.<br />
3. Geben Sie als ersten Makronamen ^ a ein. Um kein â zu erzeugen, müssen Sie unmittelbar<br />
nach dem ^ ein Leerzeichen eingeben. ^a ist die abkürzende Schreibweise für die<br />
Tastenkombination (Strg)+(a). Wählen Sie als Aktion ÖffnenFormular und aus dem<br />
Listenfeld Formularnamen das Formular Aufträge.<br />
4. Über ^r soll dem entsprechend das Formular Rechnungen drucken aufgerufen werden<br />
können.<br />
5. Um über die Funktionstaste (F10) das aktuelle Fenster zu maximieren, geben Sie als<br />
Makronamen {F10} ein und wählen die Aktion Maximieren aus.<br />
6. Mit (F9) soll die ursprüngliche Fenstergröße wiederhergestellt werden können.<br />
7. Geben Sie in die dritte Spalte die entsprechenden Kommentare ein.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 32 / 77
Abb 377<br />
8. Speichern Sie das neue Makro unter AutoKeys . Existiert ein Makro dieses Namens in Ihrer<br />
Datenbank, so wird anhand der Einträge im Makro die Tastaturbelegung vorgenommen. Die<br />
Aktivierung beginnt beim Speichern.<br />
9. Testen Sie die neu definierten Kurzbefehle in der Datenbank, beispielsweise mit (Strg)+(a)<br />
oder (F10).<br />
(Strg) wird im Makronamen mit ^ gekennzeichnet, (Umschalt) mit +.<br />
Hin und wieder kann es natürlich vorkommen, dass ein Makro nicht ganz so funktioniert, wie Sie<br />
sich das eigentlich vorgestellt haben. Besteht das Makro aus mehreren Aktionen, so kann es<br />
hilfreich sein, wenn Sie den Ablauf Schritt für Schritt nachvollziehen und beobachten, was bei jeder<br />
einzelnen Aktion genau passiert.<br />
7.1.5 Beispiel 96: Makros schrittweise zum Testen ausführen<br />
1. Die Datenbank 096_097Stadtlupe.mdb ist geöffnet.<br />
2. Öffnen Sie das Makro Fenster anordnen in der Entwurfsansicht. <strong>Das</strong> Makro besteht aus<br />
sechs Aktionen, die nacheinander ausgeführt werden.<br />
3. Starten Sie das Makro nicht, wie gewohnt, direkt, sondern schalten Sie zunächst den<br />
Einzelschrittmodus über den Menübefehl Ausführen/Einzelschritt oder das Symbol<br />
Einzelschritt ein.<br />
Abb 378<br />
4. Starten Sie das Makro jetzt über das Symbol Ausführen.<br />
Abb 379<br />
5. Vor dem Ausführen der ersten Makroaktion erscheint ein Dialogfeld. Dieses zeigt, was im<br />
nächsten Schritt passieren soll. In diesem Fall soll die Aktion ÖffnenFormular ausgeführt<br />
werden. Zusätzlich wird angezeigt, welche Werte, das heißt Argumente die Aktion<br />
verwenden wird. Hier ist der Name des Formulars Aufträge zu erkennen.<br />
Abb 380<br />
6. Sie haben jetzt drei Möglichkeiten zur Verfügung, um die Makroausführung zu steuern. Mit<br />
Schritt starten Sie die angezeigte Aktion und gelangen anschließend zur nächsten Aktion.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 33 / 77
Mit Anhalten beenden Sie das Makro. Mit Weiter verlassen Sie den Einzelschrittmodus und<br />
lassen das gesamte Makro bis zum Ende durchlaufen.<br />
7. Klicken Sie auf Schritt. Die Aktion wird ausgeführt. <strong>Das</strong> Formular Aufträge öffnet sich und<br />
darüber erscheint erneut das Einzelschritt-Dialogfeld. Es zeigt an, dass im nächsten Schritt<br />
das Formular Hefte geöffnet werden soll.<br />
Abb 381<br />
8. Klicken Sie einfach im Einzelschrittmodus sämtliche Aktionen durch.<br />
9. Schalten Sie jetzt den Einzelschrittmodus wieder aus und schließen Sie anschließend das<br />
Makro wieder. Schließen Sie die einzelnen Fenster.<br />
Beim Arbeiten mit Makros kann es übrigens passieren, dass <strong>Access</strong> automatisch das gerade kennen<br />
gelernte Dialogfeld anzeigt. Dies geschieht dann, wenn bei der Ausführung ein Fehler auftritt. <strong>Das</strong><br />
folgende Beispiel demonstriert dies kurz.<br />
7.1.6 Beispiel 97: Infofeld nach einem Makrofehler<br />
1. Die Datei 096_097Stadtlupe.mdb ist geöffnet.<br />
2. Klicken Sie mit der rechten Maustaste auf das Makro Fenster anordnen und wählen Sie aus<br />
dem Kontextmenü Kopieren. Klicken Sie in der Symbolleiste auf Einfügen und nennen Sie<br />
die Kopie Fenster anordnen (mit Fehler).<br />
3. Öffnen Sie das Makro Fenster anordnen (mit Fehler) in der Entwurfsansicht.<br />
4. Ändern Sie in der dritten Aktion (Öffnen Formular) das Aktionsargument Formularname.<br />
Abb 382<br />
5. Führen Sie das Makro Fenster anordnen (mit Fehler) aus.<br />
6. Die ersten beiden Formulare öffnen sich, wie gewohnt. Danach wird eine Fehlermeldung<br />
angezeigt. <strong>Das</strong> dritte Formular ist nicht vorhanden.<br />
7. Nach dem Bestätigen der Fehlermeldung erscheint das Dialogfeld Aktion ist fehlgeschlagen.<br />
Abb 383<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 34 / 77
8. Dieses entspricht der Anzeige im Einzelschrittmodus. Allerdings bietet es Ihnen nur die<br />
Möglichkeit, sich über den Makronamen, die gerade ausgeführte Aktion und die Parameter<br />
zu informieren und anschließend das Makro anzuhalten.<br />
7.2 Makros in Formularen und Berichten<br />
Häufig werden Makros in Formularen eingesetzt und mit Schaltflächen verknüpft. So können Sie<br />
Ihre Formulare und Berichte sehr leicht mit benutzerfreundlichen Funktionen versehen. Ihre selbst<br />
definierten Makros werden automatisch aufgerufen, wenn im Formular oder Bericht bestimmte<br />
Ereignisse eintreten. <strong>Das</strong> kann zum Beispiel das Klicken eines Benutzers auf eine Schaltfläche sein<br />
(Ereignis: Beim Klicken) oder die Tatsache, dass ein Berichtsbereich gerade für den Druck<br />
aufbereitet wird (Ereignis: Beim Drucken).<br />
Denken Sie daran, dass Sie beim Öffnen von verknüpften Formularen oder Berichten die<br />
Möglichkeit haben, die dargestellten Inhalte zu synchronisieren. Die Ausdrücke, die hier benötigt<br />
werden, haben Sie bereits im Kapitel „Ausdrücke“ kennen gelernt. Wir stellen Sie in den nächsten<br />
beiden Beispielen im Zusammenhang mit der Erstellung von Makros vor. Zunächst soll es dem<br />
Benutzer ermöglicht werden, aus dem Auftragsformular heraus die vollständigen<br />
Kundeninformationen zu betrachten.<br />
7.2.1 Beispiel 98: Ein verknüpftes Formular über eine<br />
Schaltfläche öffnen<br />
1. Die Datenbank 098Stadtlupe.mdb ist geöffnet.<br />
2. Öffnen Sie das Formular Aufträge in der Entwurfsansicht und aktivieren Sie über das Menü<br />
Ansicht die Toolbox , falls diese nicht sichtbar ist.<br />
Abb 384<br />
3. Achten Sie darauf, dass das Symbol Steuerelement-Assistenten nicht gedrückt ist.<br />
Abb 385<br />
4. Wählen Sie das Werkzeug Befehlsschaltfläche aus. Ein Klick auf Ihr Formular erstellt eine<br />
Schaltfläche. Positionieren Sie diese am besten unter dem Listenfeld Anzeigenformat.<br />
Vergrößern Sie die Schaltfläche etwas.<br />
Abb 386<br />
5. Doppelklicken Sie auf die Beschriftung der Schaltfläche und ändern Sie diese in &Kunde<br />
anzeigen. Über das &-Symbol erzeugen Sie einen so genannten Hotkey für das Formular, d.<br />
h., Sie werden das Makro hinter der Schaltfläche auch über das Tastenkürzel (Alt)+(k)<br />
ansprechen können.<br />
6. Nach (Return) klicken Sie mit der rechten Maustaste auf die Schaltfläche und wählen aus<br />
dem Kontextmenü Ereignis .<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 35 / 77
Abb 387<br />
7. Im Dialogfeld markieren Sie die Option Makro-Generator. Mit OK geht es weiter.<br />
Abb 388<br />
8. Speichern Sie das neue Makro unter KundenInfo und wählen Sie als Aktion ÖffnenFormular<br />
aus. Als Formularname wählen Sie Kunden, als Datenmodus Nur lesen.<br />
Abb 389<br />
9. Über das Feld Bedingung legen Sie die Verknüpfung für die angezeigten Daten im<br />
Kundenformular fest. Geben Sie [Kunden-Nr]=[Formulare]![Aufträge]![Kunden-Nr] ein.<br />
Damit wird der zum aktuellen Auftrag passende Kundendatensatz ausgewählt.<br />
10. Schließen Sie das Makro und speichern Sie die Änderungen.<br />
11. Wechseln Sie in die Formularansicht und klicken Sie auf die Schaltfläche Kunde anzeigen.<br />
Zum Auftrag 1 erscheinen die Kundeninfos des Kunden 2 im geöffneten Kundenformular.<br />
Abb 390<br />
12. Schließen Sie das Kundenformular wieder und öffnen Sie es dieses Mal über die Hotkey -<br />
Tastenkombination (Alt)+(k).<br />
<strong>Das</strong> Öffnen eines Berichtes mit der Übergabe einer Auswahlbedingung verläuft im Prinzip analog<br />
zum gerade gezeigten Verfahren. Zu einem Auftrag soll nun die passende Rechnung angezeigt<br />
werden.<br />
7.2.2 Beispiel 99: Einen gefilterten Bericht über eine<br />
Befehlsschaltfläche öffnen<br />
1. Mit Hilfe eines Makros soll in der Datenbank 099Stadtlupe.mdb die zu einem angezeigten<br />
Auftrag passende Rechnung gedruckt werden.<br />
2. Öffnen Sie das Formular Aufträge in der Entwurfsansicht.<br />
3. Fügen Sie mit dem Werkzeug Befehlsschaltfläche aus der Toolbox unterhalb der<br />
Schaltfläche Kunde anzeigen eine neue Schaltfläche hinzu.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 36 / 77
Abb 391<br />
4. Beschriften Sie die Schaltfläche mit &Rechnung drucken und drücken Sie (Return).<br />
5. Klicken Sie mit der rechten Maustaste auf die Schaltfläche und wählen Sie Eigenschaften.<br />
6. Wechseln Sie in das Register Ereignis. Aktivieren Sie im Feld Beim Klicken den Makro-<br />
Generator.<br />
Abb 392<br />
7. Speichern Sie das neue Makro unter Rechnung drucken und wählen Sie als Aktion<br />
ÖffnenBericht aus. Als Berichtsname wählen Sie Rechnungen, als Ansicht Seitenansicht.<br />
Damit wird der Bericht nicht sofort zum Drucker geschickt, sondern zunächst in der<br />
Vorschau gezeigt.<br />
8. Als Bedingung geben Sie [Auftrags-Nr]=[Formulare]![Aufträge]![Auftrags-Nr] ein.<br />
Speichern und schließen Sie das Makro und das Eigenschaften-Fenster.<br />
9. Wechseln Sie in die Formularansicht, klicken Sie auf die Schaltfläche Rechnung drucken<br />
und wählen Sie die Rechnungen aus, die Sie in der Seitenansicht betrachten möchten.<br />
10. Speichern Sie die Änderungen im Formular ab und schließen Sie die Datenbank.<br />
Abb 393 <strong>Das</strong> Makro Rechnung drucken<br />
Bei Ihrer Arbeit an <strong>Access</strong>-Applikationen wird es im Laufe der Zeit vorkommen, dass Sie für<br />
einzelne Formulare bzw. Berichte eine größere Anzahl von Makros entwikkeln. Damit Sie dabei<br />
den Überblick behalten, können Sie Makros, die zueinander gehören, also zum Beispiel die Makros<br />
eines Formulars, in einem gemeinsamen Makroobjekt zusammenfassen. Damit die Makros dennoch<br />
einzeln angesprochen und ausgeführt werden können, bekommen diese innerhalb des<br />
„Supermakros“ jeweils eigene Namen. <strong>Das</strong> nächste Beispiel stellt diese Methode vor. Die beiden<br />
Makros aus den letzten Beispielen sowie ein neues Makro werden in einem gemeinsamen<br />
Makroobjekt verwaltet.<br />
7.2.3 Beispiel 100: Makrogruppen anlegen<br />
1. Legen Sie in der Datenbank 100Stadtlupe.mdb ein neues Makro an und blenden Sie über<br />
Ansicht/Makronamen die neue Spalte Makroname ein.<br />
Abb 394<br />
2. Geben Sie in der ersten Zeile in der Spalte Makroname Hinweis ein.<br />
Abb 395<br />
3. Die Aktion soll Wiederherstellen sein. Damit wird das Formular immer in seiner<br />
ursprünglichen Größe angezeigt. Ansonsten würde die Einstellung der letzten Benutzung<br />
verwendet.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 37 / 77
4. Bei der zweiten Zeile lassen Sie die Spalte Makroname leer. Geben Sie als Meldung Bitte<br />
drucken Sie die Rechnung sofort! ein. Sorgen Sie für einen Signalton und legen Sie als Typ<br />
Information fest.<br />
Abb 396 Die Aktionsargumente des Makros Meldung<br />
5. Geben Sie in der dritte Zeile als Makronamen Kundeninfo ein.<br />
6. Wählen Sie als Aktion ÖffnenFormular aus. Als Formularnamen wählen Sie Kunden, als<br />
Datenmodus Nur lesen. Geben Sie in das Feld Bedingung den Ausdruck [Kunden-<br />
Nr]=[Formulare]![Aufträge]![Kunden-Nr] ein.<br />
7. Geben Sie in der vierten Zeile als Makronamen Rechnung ein.<br />
8. Wählen Sie als Aktion ÖffnenBericht aus. Als Berichtsnamen wählen Sie Rechnungen, als<br />
Ansicht Seitenansicht. In das Feld Bedingung geben Sie [Auftrags-<br />
Nr]=[Formulare]![Aufträge]![Auftrags-Nr] ein.<br />
9. Sie haben jetzt drei Makrogruppen angelegt. Die erste enthält zwei Aktionen. Die anderen<br />
jeweils eine.<br />
Abb 397<br />
10. Speichern Sie das neue Makro unter dem Namen Aufträge ab und schließen Sie es.<br />
Jetzt muss noch das Formular Aufträge so angepasst werden, dass es die Makrogruppen aus dem<br />
Makro Aufträge verwendet.<br />
7.2.4 Beispiel 101: Makrogruppen zuweisen<br />
1. Öffnen Sie in der Datenbank 101Stadtlupe.mdb das Formular Aufträge in der<br />
Entwurfsansicht und über Ansicht/Eigenschaften das Eigenschaftenfenster des Formulars.<br />
Wechseln Sie in das Register Ereignis.<br />
2. Klicken Sie in das Feld für das Ereignis Beim Öffnen und öffnen Sie die Auswahlliste.<br />
Unter den angezeigten Makros befinden sich auch die Makrogruppen des Makros Aufträge.<br />
Diese werden in einer Punkt-Schreibweise dargestellt. Wählen Sie die Makrogruppe<br />
Aufträge.Hinweis aus und schließen Sie das Fenster wieder.<br />
Abb 398<br />
3. Klicken Sie mit der rechten Maustaste auf die Schaltfläche Kunde anzeigen, wählen Sie<br />
Eigenschaften und ordnen Sie im Register Ereignis der Eigenschaft Beim Klicken die<br />
Makrogruppe Aufträge.Kundeninfo zu sowie dementsprechend der Schaltfläche Rechnung<br />
drucken im Register Ereignis der Eigenschaft Beim Klicken die Makrogruppe<br />
Aufträge.Rechnung.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 38 / 77
anzeigen<br />
Abb 399 Die Eigenschaften der Schaltfläche Kunde<br />
4. Speichern Sie das geänderte Formular ab.<br />
5. Wechseln Sie in die Formularansicht.<br />
6. <strong>Das</strong> Formular wird in der Entwurfsgröße angezeigt und die Meldung erscheint. Testen Sie<br />
die beiden Schaltflächen und schließen Sie die Datenbank.<br />
Makros lassen sich auch äußerst vorteilhaft innerhalb von Berichten einsetzen. Tatsächlich sind<br />
bestimmte Standardaufgaben ohne den Einsatz von Makros nicht lösbar. <strong>Das</strong> folgende Beispiel<br />
demonstriert, wie Sie innerhalb eines Berichtsausdrucks die Seitennummerierung neu beginnen<br />
können. Im Bericht Rechnungen, welcher viele Rechungen „am Stück“ druckt, sollen die<br />
Seitennummern innerhalb einer Rechnung fortlaufend sein und mit jeder Rechnung neu beginnen.<br />
7.2.5 Beispiel 102: Seitennummerierung in einem Bericht<br />
zurücksetzen<br />
1. Öffnen Sie in der Datenbank 102Stadtlupe.mdb den Bericht Rechnungen im Entwurf.<br />
2. Betrachten Sie die Eigenschaften des Berichtsbereichs Auftrags-Nr – Kopfbereich, indem<br />
Sie diesen mit der rechten Maustaste anklicken und aus dem Kontextmenü Eigenschaften<br />
wählen.<br />
3. Aktivieren Sie im Register Ereignis für das Ereignis Beim Drucken den Makro-Generator.<br />
4. Speichern Sie das Makro unter Seitenzahl zurücksetzen.<br />
5. Wählen Sie als Aktion SetzenWert . Im Bereich Aktionselemente geben Sie als Element<br />
[Seite] an. Damit beziehen Sie sich auf die Seitenzahl-Eigenschaft eines Berichtes. Legen<br />
Sie als Ausdruck 1 fest. Speichern und schließen Sie das Makro und den Bericht.<br />
Abb 400 <strong>Das</strong> Makro Seitenzahl zurücksetzen<br />
6. Öffnen Sie über das Formular Rechnungen drucken den Bericht. Geben Sie als Erste<br />
Auftragsnummer 1 und als Letzte Auftragsnummer 9 ein.<br />
Abb 401<br />
7. Funktioniert das Zurücksetzen der Seitennummern? Betrachten Sie die Seitennummerierung<br />
der verschiedenen Rechnungen.<br />
8. Die Rechnung zur Auftragsnummer 4 erstreckt sich über zwei Seiten. Kontrollieren Sie auch<br />
hier die Seitenzahlen.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 39 / 77
<strong>Das</strong> folgende Beispiel demonstriert, wie Sie in Abhängigkeit von einer Benutzereingabe in einem<br />
Formular an einer anderen Stelle einen Feldinhalt vorgeben können. Dies bietet Ihnen noch<br />
flexiblere Möglichkeiten als die Eigenschaft Standardwert, die Sie sicher schon kennen und lässt<br />
sich auch gut mit dieser kombinieren. Im Formular Hefte sollen auf der Basis eines vorgegebenen<br />
Wertes für das Datum Redaktionsschluss Vorschläge in den Feldern Druckdatum und<br />
Erscheinungstermin erscheinen.<br />
7.2.6 Beispiel 103: Einen Feldinhalt in Abhängigkeit von einer<br />
Eingabe setzen<br />
1. Öffnen Sie in der Datenbank 103Stadtlupe.mdb das Formular Hefte in der<br />
Entwurfsansicht.<br />
2. Rufen Sie über das Kontextmenü die Eigenschaften des Feldes Redaktionsschluss auf.<br />
Abb 402<br />
3. Aktivieren Sie im Register Ereignis für das Ereignis Nach Aktualisierung den Makro-<br />
Generator.<br />
4. Speichern Sie das neue Makro unter Termine vorschlagen.<br />
5. Wählen Sie als Aktion SetzenWert.<br />
6. Im Feld Element geben Sie Druckdatum an. Dies ist das Feld, das in Abhängigkeit von der<br />
Eingabe in Redaktionsschluss ausgefüllt werden soll.<br />
7. Als Ausdruck, der den Drucktermin berechnet, geben Sie [Redaktionsschluss]+ 7 ein. Es<br />
soll also sieben Tage nach dem Redaktionsschluss gedruckt werden.<br />
8. Geben Sie analog eine Berechnungsvorschrift für das Feld Erscheinungstermin an. Der<br />
Erscheinungstermin liegt drei Tage nach dem Druckdatum.<br />
Abb 403 <strong>Das</strong> Makro Termine vorschlagen<br />
9. Speichern und schließen Sie das Makro und das Eigenschaftenfenster.<br />
10. Wechseln Sie nun in die Formularansicht und probieren Sie das Makro aus, indem Sie ein<br />
neues Heft anlegen. Die Heftnummer ist SO 06-01; das Mitarbeiterkürzel RA, die<br />
Bezeichnung Neujahr 2006; der Hefttyp Sonderheft, Redaktionsschluss ist der 27.12.2005.<br />
Abb 404 Ein neues Heft wird angelegt; Druckdatum und<br />
Erscheinungstermin werden automatisch eingetragen<br />
11. Überprüfen Sie Ihren Eintrag in der Tabelle Hefte und schließen Sie die Datenbank.<br />
Zur Vollständigkeit soll Ihnen an dieser Stelle der Befehlsschaltflächen-Assistent für Formulare<br />
vorgestellt werden. Sie werden feststellen, dass Sie im Grunde bereits mit den bisher angeeigneten<br />
Kenntnissen Schaltflächen auch ohne diesen Assistenten aufbauen können. <strong>Das</strong> folgende Beispiel<br />
dient daher eher der Demonstration. Vielleicht erhalten Sie jedoch über das Kennen lernen der<br />
Möglichkeit des Assistenten weitere Anregungen für den Einsatz von Makros.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 40 / 77
7.2.7 Beispiel 104: Den Befehlsschaltflächen-Assistenten<br />
einsetzen<br />
1. Öffnen Sie in der Datenbank 104Stadtlupe.mdb das Formular Kunden im Entwurf und<br />
zeigen Sie ggf. über Ansicht die Toolbox an.<br />
2. Aktivieren Sie den Steuerelement-Assistenten .<br />
Abb 405<br />
3. Legen Sie am unteren Ende des Formulars unterhalb des Feldes Konditionen eine neue<br />
Befehlschaltfläche an.<br />
Abb 406<br />
Abb 407<br />
4. Sobald Sie die Schaltfläche eingefügt haben, öffnet sich der Befehlsschaltflächen-Assistent .<br />
5. Wählen Sie die Kategorie Formularoperationen aus. Klicken Sie die Option Formular öffnen<br />
an. Wechseln Sie mit Weiter auf die nächste Seite des Assistenten.<br />
Abb 408<br />
6. Klicken Sie den Formularnamen Aufträge an und danach Weiter.<br />
7. Aktivieren Sie auf der nächsten Seite die Option <strong>Das</strong> Formular öffnen und bestimmte Daten<br />
suchen und anzeigen aus – Weiter.<br />
8. Markieren Sie aus dem Formular Kunden das Feld Kunden-Nr und aus dem Formular<br />
Aufträge das entsprechende Feld Kunden-Nr und klikken Sie anschließend auf die<br />
Schaltfläche in der Mitte.<br />
Abb 409<br />
9. Nach Weiter aktivieren Sie die Option Text, geben als Beschriftung den Text Aufträge<br />
anzeigen ein und klicken wieder auf Weiter.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 41 / 77
10. Geben Sie als Namen der Schaltfläche den Text Aufträge ein. Mit Fertig stellen schließen<br />
Sie den Assistenten ab.<br />
11. Testen Sie die neue Schaltfläche, indem Sie in die Formularansicht wechseln und die<br />
Schaltfläche anklicken. Zum Kunden Nummer 1 sollte der Auftrag 7 angezeigt werden.<br />
7.3 Bedingungen in Makros verwenden<br />
Die Makrobeispiele, die Sie bis jetzt kennen gelernt haben, waren einfache „Geradeaus-Makros“.<br />
Die Befehle wurden in der Reihenfolge ihres Vorkommens in der Aktionsliste von oben nach unten<br />
abgearbeitet. Der Ablauf konnte also nicht beeinflusst werden. Durch das Setzen von Bedingungen<br />
können Sie den Programmablauf steuern, um auf Benutzeraktionen zu reagieren.<br />
<strong>Das</strong> nächste Beispiel erweitert das Makro Rechnung drucken. Der Benutzer wird zunächst gefragt,<br />
ob der Drucker bereit ist, also ob zum Beispiel das korrekte Papier eingelegt ist. Erst nach einer<br />
positiven Antwort wird der Druckvorgang tatsächlich gestartet und die Rechnung direkt auf dem<br />
angeschlossenen Drucker ausgegeben.<br />
Etwas überraschend ist sicherlich die Methode, über die in <strong>Access</strong>-Makros eine Benutzerauswahl<br />
abgefragt werden kann. Die Funktion Meldung, welche von <strong>Access</strong> zur Verfügung gestellt wird, ist<br />
der Programmierung mit Visual Basic for Applications entlehnt. In VBA heißt sie MsgBox. Sie hat<br />
den folgenden Aufbau: Meldung (Nachricht; Schaltflächen, Titel). Dabei stellt Nachricht die<br />
eigentliche Anfrage an den Benutzer dar, Schaltflächen ist ein Zahlencode, über den festgelegt wird,<br />
welche Schaltflächen im Dialogfeld erscheinen sollen: 0 steht für „OK“; 1 für „OK“ und<br />
„Abbrechen“; 4 für „Ja“ und „Nein“; u. s. w. Titel ist wieder eine Textinformation. Damit kann der<br />
Fenstertitel eingestellt werden. Da es sich bei Meldung um eine Funktion handelt, wird nach der<br />
Anzeige eines entsprechenden Fensters und der Benutzerreaktion ein Ergebnis zurückgegeben.<br />
Auch dieses ist wieder codiert: 1 steht für „OK“; 2 steht für „Abbrechen“; 6 für „Ja“ und 7 für<br />
„Nein“. Weitere Informationen zur Handhabung und zu den Codes finden Sie in der <strong>Access</strong>-Hilfe.<br />
Sie müssen dort allerdings nach MsgBox suchen, um die Funktion zu finden!<br />
7.3.1 Beispiel 105: Ein Makro mit einer Bedingung versehen<br />
1. Öffnen Sie in der Datenbank 105Stadtlupe.mdb das bereits erstellte Makro Rechnungen<br />
drucken start im Entwurf.<br />
Abb 410<br />
2. Blenden Sie über Ansicht/Bedingungen die Bedingungsspalte des Makroentwurfs ein.<br />
Abb 411<br />
3. Tragen Sie unter Bedingung Meldung("Drucker bereit?";4)=6 ein. Diese Funktion erzeugt<br />
eine Meldungsbox mit einer Abfrage an den Benutzer, die dieser mit Ja oder Nein<br />
beantworten kann. 6 steht für Ja, 7 für Nein.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 42 / 77
Abb 412<br />
4. Speichern und schließen Sie das Makro.<br />
5. Öffnen Sie das Formular Rechnungen drukken in der Formularansicht und klicken Sie auf<br />
die Schaltfläche Drucken. Vor dem Anzeigen des Berichtes erscheint nun zunächst die<br />
Nachfrage.<br />
6. Schließen Sie die Datenbank.<br />
Abb 413<br />
Die Vergleichsausdrücke in Makro-Entscheidungen können natürlich auch auf der Grundlage von<br />
Feldinhalten gebildet werden. Außerdem können die bedingten Teile eines Makros aus mehr als<br />
einer Aktion bestehen. Im nächsten Beispiel wird die Berechnung von Druck- und<br />
Erscheinungstermin verfeinert. Ein berechneter Drucktermin darf nicht auf einen Sonntag fallen. In<br />
diesem Fall wird der Drucktermin einen Tag vorverlegt. Der Erscheinungstermin darf ebenfalls<br />
nicht auf einen Sonntag fallen. Er wird in einem solchen Fall auf den Montag gelegt.<br />
7.3.2 Beispiel 106: Bedingung auf der Grundlage eines<br />
berechneten Ausdrucks<br />
1. Öffnen Sie in der Datenbank 106Stadtlupe.mdb das Formular Hefte in der<br />
Entwurfsansicht.<br />
2. Klicken Sie mit der rechten Maustaste auf das Textfeld Redaktionsschluss und wählen Sie<br />
Eigenschaften.<br />
3. Öffnen Sie im Register Ereignis im Feld Nach Aktualisierung das Makro Termin<br />
vorschlagen.<br />
4. Blenden Sie über Ansicht die Spalte Bedingung ein.<br />
5. Fügen Sie über Einfügen/Zeilen hinter der ersten Zeile ein neue ein.<br />
Abb 414<br />
6. Als Bedingung tragen Sie in die neue Zeile den Ausdruck Wochentag([Druckdatum])=1<br />
ein. Damit testen Sie, ob das berechnete Datum ein Sonntag ist. Geben Sie als Aktion<br />
SetzenWert ein. In den Aktionsargumenten geben Sie als Element [Druckdatum] und als<br />
Ausdruck [Druckdatum]-1 ein.<br />
7. Fügen Sie hinter der neuen Zeile eine weitere ein. Unter Bedingung geben Sie das<br />
Fortsetzungszeichen „…“ ein. Die drei Punkte legen fest, dass bei gültiger Bedingung der<br />
Vorgängerzeile(n) auch diese Aktion ausgeführt werden soll.<br />
8. Die Aktion lautet Meldung. Der anzuzeigende Text: Drucktermin wurde korrigiert!<br />
9. Geben Sie unter der vierten Zeile die Bedingung Wochentag([Erscheinungstermin])=1 ein.<br />
Über SetzenWert verlegen Sie das Erscheinungsdatum einen Tag nach hinten.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 43 / 77
Abb 415<br />
10. Erstellen Sie noch das Makro für eine weitere Meldung: Erscheinungstermin wurde<br />
korrigiert! Verwenden Sie auch hier die Fortsetzungszeichen.<br />
11. Testen die das Makro in der Formularansicht. Beim Redaktionsschluss 27.10.2005 sollte das<br />
Druckdatum verlegt werden.<br />
Abb 416<br />
<strong>Das</strong> nächste Beispiel zeigt eine weitere Einsatzmöglichkeit für Makros. Es geht darum, auf den<br />
Rechnungen der Stadtlupe, welche sich über mehrere Seiten erstrekken, im Seitenfuß eine<br />
Zwischensumme anzuzeigen. Auf der Folgeseite muss ein entsprechender Übertrag dargestellt<br />
werden. Dieses soll natürlich nicht für Rechnungen gelten, die nur aus einer einzigen Seite<br />
bestehen. Um diese Funktion zu realisieren, müssen verschiedene Makrotechniken, die Sie bisher<br />
kennen gelernt haben, miteinander kombiniert werden. Die folgenden drei Beispiele zeigen, wie<br />
man dabei vorgehen kann.<br />
7.3.3 Beispiel 107: Berichtsfelder für Zwischensumme und<br />
Übertrag vorbereiten<br />
1. Öffnen Sie in der Datenbank 107Stadtlupe.mdb den Entwurf des Berichtes Rechnungen.<br />
2. Fügen Sie im Seitenkopf, unterhalb der durchgezogenen Linie, am linken Berichtsrand ein<br />
neues Textfeld ein.<br />
Abb 417<br />
3. Geben Sie im Bezeichnungsfeld Übertrag von vorheriger Seite ein. Klikken Sie doppelt auf<br />
das Textfeld und geben Sie im Register Alle im Feld Name Übertrag ein, im Feld<br />
Steuerelementinhalt =[Zwischensumme] und als Sichtbar Nein. Schließen Sie das Fenster<br />
und positionieren Sie beide Felder nebeneinander.<br />
Abb 418<br />
Hinweis: Sie können das Bezeichnungs- und das Textfeld getrennt voneinander verschieben,<br />
indem Sie das entsprechende Feld markieren und dann in die linke obere Ecke klicken. Der<br />
Mauszeiger wird zur Hand. Verschieben Sie das entsprechende Feld mit gedrückter<br />
Maustaste.<br />
4. Formatieren Sie beide Felder kursiv, indem Sie diese durch einfaches Anklicken markieren<br />
und dann auf das entsprechende Symbol in der Symbolleiste klicken.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 44 / 77
Abb 419<br />
Abb 420 Im Seitenkopf wird ein Textfeld eingefügt<br />
5. Legen Sie im Seitenfuß, ebenfalls am linken Berichtsrand, ein weiteres Textfeld an. Die<br />
Beschriftung des Bezeichnungsfeldes lautet Zwischensumme: Klicken Sie doppelt auf das<br />
Textfeld und wählen Sie im Register Alle als Name Zwischensumme und als Sichtbar<br />
ebenfalls Nein. Formatieren Sie die beiden Felder ebenfalls kursiv.<br />
Abb 421<br />
6. Speichern Sie den Bericht.<br />
Um die Zwischensumme zu bilden und die Felder ein- bzw. auszublenden, müssen jetzt<br />
verschiedene Makros angelegt werden. Diese sollen in Makrogruppen innerhalb des neuen Makros<br />
Rechnungen zusammengefasst werden.<br />
7.3.4 Beispiel 108: Berichtsfelder über Makros berechnen und<br />
anzeigen<br />
1. Der Entwurf des Berichtes Rechnungen in der Datenbank 108Stadtlupe.mdb ist geöffnet.<br />
2. Klicken Sie mit der rechten Maustaste auf den Berichtsbereich Auftrags-Nr Kopfbereich und<br />
wählen Sie aus dem Kontextmenü den Befehl Ereignis und anschließend die Option Makro-<br />
Generator. Legen Sie ein neues Makro unter dem Makronamen Rechnungen an.<br />
3. Zeigen Sie über Ansicht die Makronamen an.<br />
4. <strong>Das</strong> erste Makro erhält den Namen AuftragsKopf. Die erste Aktion SetzenWert setzt den<br />
Wert des Feldes [Seite] auf 1. Geben Sie dazu unter den Aktionsargumenten im Feld<br />
Element [Seite] ein, im Feld Ausdruck 1.<br />
festgelegt.<br />
Abb 422 Die Aktion des Makros AuftragsKopf wird<br />
5. Legen Sie ein zweites Makro mit dem Namen Addieren an. In der einzigen Aktion des<br />
Makros setzen Sie den Wert für [Zwischensumme] auf [Zwischensumme]+[Bruttopreis].<br />
6. Blenden Sie über Ansicht die Bedingungsspalte ein und nennen Sie das dritte Makro<br />
Anzeigen.<br />
7. Die Bedingung für die erste Aktion des Makros Anzeigen lautet: [Zwischensumme]>0. Die<br />
Aktion ist SetzenWert. Diese setzt die Eigenschaft [Zwischensumme].[Sichtbar] auf Wahr.<br />
8. Als Bedingung für die zweite Aktion des Makros Anzeigen setzen Sie die<br />
Fortsetzungspunkte … ein. Über SetzenWert wird die Eigenschaft [Übertrag].[Sichtbar]<br />
auf Wahr eingestellt. Damit sind die beiden Felder nur dann sichtbar, wenn es eine<br />
Zwischensumme gibt.<br />
9. Die Bedingung für die dritte Aktion lautet: [Zwischensumme]=0. Die Aktion ist<br />
SetzenWert. Diese setzt die Eigenschaft [Zwischensumme].[Sichtbar] auf Falsch.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 45 / 77
10. Als Bedingung für die vierte Aktion setzen Sie wieder die Fortsetzungspunkte … ein. Über<br />
SetzenWert wird die Eigenschaft [Übertrag].[Sichtbar] auf Falsch eingestellt. Damit sind<br />
die beiden Felder unsichtbar, wenn es keine Zwischensumme gibt.<br />
11. Ein letztes Makro bekommt den Namen AuftragsFuss. Es soll die [Zwischensumme] wieder<br />
auf 0 setzen. Füllen Sie also die Aktionsargumente in der entsprechenden Weise aus.<br />
12. Speichern und schließen Sie das Makro und den Bericht.<br />
Abb 423 Die Makrogruppen des Makros Rechnungen<br />
Die Makrogruppen müssen jetzt wieder den richtigen Ereignissen des Berichtes zugeordnet werden.<br />
7.3.5 Beispiel 109: Makrogruppen den Berichtsereignissen<br />
zuweisen<br />
1. In der Datenbank 109Stadtlupe.mdb ist der Entwurf des Berichtes Rechnungen geöffnet.<br />
2. Klicken Sie mit der rechten Maustaste auf den Berichtsbereich Auftrags-Nr Kopfbereich und<br />
wählen Sie aus dem Kontextmenü Eigenschaften.<br />
3. Weisen Sie im Register Ereignis der Eigenschaft Beim Formatieren das Makro<br />
Rechnungen.Auftragskopf zu. Damit wird bei jeder neuen Rechnungsnummer die Seitenzahl<br />
zurückgesetzt.<br />
Abb 424<br />
4. Klicken Sie jetzt mit der rechten Maustaste auf den Berichtsbereich Detailbereich, wählen<br />
Sie aus dem Kontextmenü Eigenschaften und im Register Ereignis im Feld Beim<br />
Formatieren Rechnungen.Addieren. Damit wird bei jeder Rechnungsposition die<br />
Zwischensumme um den Bruttopreis erhöht.<br />
5. Verfahren Sie ebenso mit dem Berichtsbereich Auftrags-Nr Fußbereich. Weisen Sie diesem<br />
im Feld Beim Formatieren Rechnungen.Auftragsfuss zu. Damit wird nach jeder<br />
abgeschlossenen Rechnung die Zwischensumme gelöscht.<br />
6. Der Seitenfuß soll als Ereignis Beim Formatieren die Makrogruppe Rechnungen.Anzeigen<br />
starten. Darüber wird das Ein- und Ausblenden der zusätzlichen Felder gesteuert. Speichern<br />
Sie die Änderungen und schließen Sie den Bericht.<br />
7. Testen Sie die neuen Funktionen, indem Sie den Bericht über das Formular Rechnungen<br />
drucken aufrufen. Wählen Sie die Rechnungen 1 bis 9 zur Anzeige aus. Zwischensumme<br />
und Übertrag sollten bei der 4. und der 9. Rechnung angezeigt werden.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 46 / 77
Abb 425 Der Übertrag der vorherigen Seite wird angezeigt.<br />
7.4 Applikationen erstellen<br />
Zum Abschluss des Kapitels über Makros sollen ein paar zusätzliche Verfahren vorgestellt werden,<br />
mit denen Sie Ihre <strong>Access</strong>-Lösung “rund” machen können. Dies betrifft die benutzerfreundliche<br />
Anpassung der Oberfläche, aber auch den Schutz Ihrer Datenbankobjekte vor nicht gewollten<br />
Veränderungen durch die Benutzer.<br />
Wenn Sie für Ihre Datenbankanwendungen ein „Look-and-Feel“ erzielen wollen, das denen der<br />
bekannten Office-Programme entspricht, dann bieten sich selbst erstellte Symbol- bzw. Menüleisten<br />
an. Damit können Sie die eigenen Applikationen so gestalten, dass die wichtigsten Funktionen nach<br />
dem Öffnen der Datenbank automatisch angeboten werden.<br />
7.4.1 Beispiel 110: Eigene Menüleiste einrichten<br />
1. Die Datenbank 110_113Stadtlupe.mdb ist geöffnet.<br />
2. Klicken Sie mit der rechten Maustaste in die Menüleiste und wählen Sie aus dem<br />
Kontextmenü Anpassen.<br />
3. Wechseln Sie in das Register Symbolleisten. Erstellen Sie über Neu eine neue Symbolleiste<br />
mit dem Namen Stadtlupe. Nach OK wird die neue leere Symbolleiste angezeigt.<br />
Abb 426<br />
4. Klicken Sie in der geöffneten Dialogbox Anpassen auf Eigenschaften. Wählen Sie als<br />
ausgewählte Symbolleiste Stadtlupe und als Typ Menüleiste. Achten Sie darauf, dass alle<br />
Kontrollkästchen aktiviert sind.<br />
5. Schliessen Sie die Dialogbox.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 47 / 77
Abb 427<br />
6. Sie möchten nun das erste Menü erstellen. Klicken Sie dazu im Register Befehle auf die<br />
Kategorie Neues Menü.<br />
7. Ziehen Sie aus der Liste Befehle den einzigen Eintrag Neues Menü auf Ihre Menüleiste.<br />
Abb 428<br />
8. Klicken Sie mit der rechten Maustaste auf den Eintrag Neues Menü in Ihrer Menüleiste und<br />
geben Sie als Namen für Ihr Menü &Formulare ein. Mit (Return) speichern Sie diese<br />
Einstellung.<br />
Hinweis: <strong>Das</strong> Zeichen & stellt den folgenden Buchstaben unterstrichen dar. Mit (Alt) und<br />
der Eingabe dieses Buchstabens steuern Sie diesen Menüpunkt an.<br />
9. Sie möchten nun die Menüpunkte festlegen. Klicken Sie auf das neue Menü Formulare, um<br />
es zu öffnen. Wählen Sie dann in der Dialogbox Anpassen die Kategorie Alle Formulare.<br />
10. Ziehen Sie nacheinander die Formulare Aufträge, Kunden, Hefte, sowie Rechnungen<br />
drucken in das geöffnete Menü Formulare.<br />
Abb 429<br />
11. Erstellen Sie entsprechend rechts vom Menü Formulare ein zweites Menü Berichte mit den<br />
folgenden Berichten der Datenbank: Aufträge pro Quartal, Kundenauswertung und<br />
Umsätze.<br />
12. Schließen Sie die Dialogbox Anpassen. Schieben Sie die Menüleiste Stadtlupe unter die<br />
Standard-Menüleiste und testen Sie die neuen Menüpunkte.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 48 / 77
Abb 430<br />
Mit dem Zeichen & im Namen eines Menüs oder einer Menüoption ermöglichen Sie das<br />
Aufrufen des Menüs über die Tastatur. Der dem Zeichen & folgende Buchstabe wird<br />
unterstrichen dargestellt. Mit der Tastenkombination (Alt)+(unterstrichener Buchstabe) kann<br />
dann der Menüpunkt aufgerufen werden. In den Eigenschaften der Menüeinträge können Sie<br />
darüber hinaus festlegen, ob zusätzlich zum Befehlsnamen ein Symbol angezeigt werden<br />
soll oder nicht.<br />
Sie können selbstverständlich Ihre neuen Befehle mit den Möglichkeiten von <strong>Access</strong> mischen.<br />
7.4.2 Beispiel 111: <strong>Access</strong>-Befehle in eigene Menüleiste<br />
aufnehmen<br />
1. Die Datenbank 110_113Stadtlupe.mdb ist geöffnet.<br />
2. Wechseln Sie nach Extras/Anpassen in das Register Befehle und wählen Sie in der<br />
Kategorie Datei den Befehl Beenden.<br />
3. Ziehen Sie den Befehl Beenden als letzten Eintrag auf das Menü Formulare.<br />
Abb 431<br />
4. Klicken Sie mit der rechten Maustaste auf neu hinzugefügten Befehl Beenden in der<br />
Menüleiste und wählen Sie aus dem Kontextmenü Eigenschaften.<br />
5. Aktivieren Sie das Kontrollkästchen vor Eine Gruppe beginnen. Dadurch wird dieser<br />
Eintrag durch eine Trennlinie von den übrigen Befehlen abgetrennt. Schließen Sie die<br />
Dialogbox.<br />
6. Schließen Sie das Dialogfeld Anpassen und testen Sie den neuen Befehl.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 49 / 77
Abb 432<br />
Abb 433<br />
Neben der Übernahme einzelner Standardbefehle können Sie auch komplette Menüs aus <strong>Access</strong><br />
übernehmen.<br />
7.4.3 Beispiel 112: Standardmenüs in eigene Menüleiste<br />
aufnehmen<br />
1. Die Datenbank 110_113Stadtlupe.mdb ist geöffnet.<br />
2. Klicken Sie mit der rechten Maustaste in eine Menü- oder Symbolleiste und wählen Sie<br />
Anpassen.<br />
3. Wechseln Sie in das Register Befehle und wählen Sie die Kategorie Integrierte Menüs.<br />
4. Ziehen Sie den Befehl Bearbeiten zwischen die vorhandenen Menüs Formulare und Berichte<br />
und anschließend das integrierte Menü Ansicht zwischen Bearbeiten und Berichte.<br />
Abb 434<br />
5. Schließen Sie die Dialogbox Anpassen und testen Sie die neuen Menüs.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 50 / 77
Ihre Anwendung lässt sich noch übersichtlicher gestalten, indem Sie beim Starten Ihrer Datenbank<br />
das Datenbankfenster deaktivieren und ganz gezielt nur die von Ihnen erstellte Menüleiste anzeigen.<br />
<strong>Das</strong> kann gerade für unerfahrene Benutzer eine große Orientierungshilfe in der Funktionsvielfalt<br />
von <strong>Access</strong> sein. Diese Einstellungen nehmen Sie komplett bei den <strong>Access</strong>-Startoptionen vor.<br />
7.4.4 Beispiel 113: Startoptionen für die Datenbankanwendung<br />
festlegen<br />
1. Die Datenbank 110_113Stadtlupe.mdb ist geöffnet.<br />
2. Zeigen Sie über Extras/Start die Starteinstellungen für Ihre Datenbank an.<br />
3. Geben Sie als Anwendungstitel Datenbank Stadtlupe an. Dieser Anwendungstitel wird in<br />
der Titelleiste des Datenbankfensters angezeigt.<br />
4. Wählen Sie aus dem Listenfeld Menüleiste Ihre selbst erstellte Menüleiste Stadtlupe.<br />
5. Deaktivieren Sie die Kontrollkästchen vor Datenbankfenster anzeigen, Unbeschränkte<br />
Menüs anzeigen sowie Symbolleisten- und menüänderungen zulassen.<br />
Abb 435<br />
6. Übernehmen Sie die Änderungen mit OK und testen Sie das Verhalten von <strong>Access</strong> durch<br />
Schließen und erneutes Öffnen der Datenbank Stadtlupe. Sie sehen nur noch die Menüleiste<br />
Stadtlupe.<br />
Startoptionen<br />
Abb 436 Die Datenbank Stadtlupe mit geänderten<br />
Die gerade durchgeführten Anpassungen lassen sich leicht umgehen, indem beim Öffnen der<br />
Stadtlupe-Datenbank die (Umschalt)-Taste niedergedrückt wird. Dadurch werden die<br />
Starteinstellungen und das Ausführen eines evtl. vorhandenen Autoexec-Makros umgangen.<br />
Soll der Schutz Ihre Applikation weiter verbessert werden, so ist dies möglich, indem Sie eine<br />
<strong>Access</strong> MDE-Datei erstellen. In dieser sind zusätzlich die Definitionen der Formulare und Berichte<br />
versteckt. Durch eine Kombination mit sinnvollen Benutzerberechtigungen könnten Sie das ganze<br />
noch „wasserdichter“ machen.<br />
7.4.5 Beispiel 114: Eine geschützte <strong>Access</strong> Anwendung<br />
erstellen (MDE-Datei)<br />
1. Öffnen Sie die Datenbank 114Stadtlupe.mdb mit gedrückter (Umschalt)-Taste.<br />
2. Wählen Sie aus dem Menü Extras den Befehl Datenbank-Dienstprogramme /MDE-Datei<br />
erstellen.<br />
3. Speichern Sie die Datei unter dem Namen Stadtlupe.mde im Verzeichnis Eigene Dateien.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 51 / 77
4. Öffnen Sie die MDE-Datenbank mit gedrückter (Umschalt) – Taste und versuchen Sie,<br />
Änderungen an den Formularen vorzunehmen. Dies sollte Ihnen nicht gelingen.<br />
Abb 437 Die Entwurfsansicht ist nicht mehr verfügbar.<br />
Im nächsten Beispiel machen wir Sie mit einer Möglichkeit vertraut, die für die Pflege von <strong>Access</strong>-<br />
Applikation recht hilfreich ist. Dabei geht des darum, die Definition der Formulare, Abfragen,<br />
Berichte und Makros von den Daten, also den Tabellen, zu trennen. Dies ermöglicht Ihnen das<br />
Ändern der Funktionalitäten dieser Objekte, ohne vor dem Problem zu stehen, die Daten in eine<br />
neue Datenbank überführen zu müssen. Dieses Vorgehen hat übrigens den zusätzlichen<br />
angenehmen Nebeneffekt, dass Sie damit bereits eine Aufteilung in ein Frontend und Backend<br />
vornehmen und damit den Umstieg auf eine Client/Server-Lösung vorbereiten.<br />
7.4.6 Beispiel 115: Tabellen von anderen Objekten trennen<br />
1. Öffnen Sie mit gedrückter (Umschalt)-Taste die Datenbank 115Stadtlupe.mdb .<br />
2. Im Menü Extras/Datenbank-Dienstprogramme finden Sie den Assistenten zur<br />
Datenbankaufteilung .<br />
Abb 438<br />
3. Nach Anklicken der Schaltfläche Datenbank aufteilen geben Sie als Namen der zu<br />
erstellenden Backend-Datenbank Stadtlupe_be.mdb ein. Diese Datei wird die Tabellen der<br />
Datenbank Stadtlupe beinhalten. Wählen Sie als Speicherort C:\Übungsdateien\Stadtlupe.<br />
Abb 439 Die Back-End-Datenbank wird erstellt.<br />
4. Nach Anklicken der Schaltfläche Aufteilen teilt der Assistent die Datenbank auf.<br />
5. In der Stadtlupe.mdb verbleiben alle Objekte, außer den Tabellen. Betrachten Sie die<br />
Tabellen im Datenbankfenster. Es handelt sich nun durchgängig um eingebunden Tabellen.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 52 / 77
Abb 440 Die eingebundenen Tabellen der Datenbank<br />
Stadtlupe im Datenbankfenster<br />
7.5 Übungsaufgaben<br />
7.<strong>5.1</strong> Aufgabe 42: Arbeitsumgebung per Makro einrichten<br />
1. Es soll ein Makro erstellt werden, welches beim Starten der Datenbank automatisch das<br />
Formular Bestellungen öffnet. (7.1.3 Beispiel 94: Makro automatisch beim Öffnen der<br />
Datenbank ausführen (Autoexec))<br />
2. Die Datenbank 042Handel.mdb ist geöffnet.<br />
3. Legen Sie ein neues Makro an. (7.1.2 Beispiel 93: Ein einfaches Makro erstellen)<br />
4. Der erste Makrobefehl soll das Formular Bestellungen öffnen. (7.1.2 Beispiel 93: Ein<br />
einfaches Makro erstellen)<br />
5. Der zweite Makrobefehl soll das Fenster maximieren, so dass das Formular Bildschirm<br />
füllend angezeigt wird. (7.1.2 Beispiel 93: Ein einfaches Makro erstellen)<br />
6. Speichern Sie das Makro unter dem Namen Autoexec ab. (7.1.3 Beispiel 94: Makro<br />
automatisch beim Öffnen der Datenbank ausführen (Autoexec))<br />
7. Testen Sie, ob das Makro beim Öffnen der Datenbank automatisch gestartet wird. (7.1.3<br />
Beispiel 94: Makro automatisch beim Öffnen der Datenbank ausführen (Autoexec))<br />
8. Deaktivieren Sie das Makro wieder, indem Sie es umbenennen.<br />
9. Die Lösung der Aufgabe finden Sie unter 043Handel.mdb.<br />
7.5.2 Aufgabe 43: Datenaustausch automatisieren<br />
1. Sie schreiben jetzt ein Makro, welches Daten in eine Excel-Tabelle exportiert und<br />
anschließend Excel startet, um die Daten anzuzeigen.<br />
2. Legen Sie ein neues Makro an und speichern Sie es unter dem Namen ArtikelExportieren.<br />
3. Der erste Befehl soll die Artikeldaten in ein Excel-Datenblatt transferieren. Verwenden Sie<br />
als Dateibezeichnung C:\Übungsdateien\Handel\artikel.xls.<br />
4. Der zweite Befehl soll eine Meldung anzeigen: Los geht’s! (6.2.2 Beispiel 90: Ein<br />
Teilreplikat einer einzelnen Tabelle erzeugen)<br />
5. Der dritte Befehl soll die Anwendung Excel starten und die Tabelle anzeigen lassen. Der<br />
Aufruf dazu lautet: excel.exe "c:\Übungsdateien\Handel\artikel.xls"<br />
6. Starten Sie das Makro. Die Darstellung in Excel sollte der Abbildung entsprechen.<br />
7. Die Lösung zu dieser Aufgabe finden Sie in der Datei 044Handel.mdb.<br />
Abb 441<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 53 / 77
7.5.3 Aufgabe 44: Automatisierung im Bestellformular<br />
1. In dieser Übung fügen Sie dem Bestellformular eine Schaltfläche hinzu, über welche der<br />
Rechnungsdruck gestartet werden kann. Dabei soll sich der Anwender zwischen einem<br />
direkten Ausdruck auf dem Drucker und der Seitenansicht entscheiden können.<br />
2. Die Datenbank 044Handel.mdb ist geöffnet.<br />
3. Legen Sie im Formular Bestellungen eine neue Schaltfläche an. Betrachten Sie dazu die<br />
Abbildung. (7.2.2 Beispiel 99: Einen gefilterten Bericht über eine Befehlsschaltfläche<br />
öffnen)<br />
4. Hinterlegen Sie dem Ereignis Beim Klicken ein Makro mit dem Namen Drucken.<br />
5. Blenden Sie die Spalte Bedingung ein. (7.3.1 Beispiel 105: Ein Makro mit einer Bedingung<br />
versehen)<br />
Abb 442<br />
6. Die erste Makrozeile soll die Meldung Direkt zum Drucker schicken? anzeigen. Der<br />
Benutzer soll sich zwischen Ja und Nein entscheiden können. Antwortet der Benutzer mit<br />
JA, so soll der Bericht geöffnet und direkt auf den Drucker geschickt werden. (7.3.1 Beispiel<br />
105: Ein Makro mit einer Bedingung versehen)<br />
Abb 443<br />
7. Verwenden Sie beim Öffnen des Berichtes eine Bedingung, so dass nur die zur BestellNr<br />
passende Rechnung ausgegeben wird.<br />
8. Die zweite Zeile ist eine Fortsetzungszeile zur Bedingung „…“. In dieser wird das Makro<br />
gestoppt, damit nicht „aus Versehen“ die dritte Zeile angelaufen wird.<br />
9. Die dritte Zeile schließlich enthält keinen Eintrag in der Bedingungsspalte. Der Bericht soll<br />
in der Seitenansicht gezeigt werden. Auch hier soll nur die zur BestellNr passende Rechnung<br />
ausgegeben werden.<br />
10. Die Lösung zu dieser Aufgabe finden Sie in der Datei 045Handel.mdb.<br />
7.5.4 Aufgabe 45: Tastaturbelegung ändern<br />
1. Legen Sie ein Tastaturbelegungsmakro an, welches die folgenden Tastaturkürzel realisiert:<br />
(7.1.4 Beispiel 95: Makros über Tastenkombinationen aufrufen)<br />
2. (Strg)+(K) öffnet die Kundentabelle.<br />
3. (Strg)+(A) öffnet die Artikeltabelle.<br />
4. (Strg)+(L) öffnet die Lieferantentabelle.<br />
5. Die Lösung zu dieser Aufgabe finden Sie in der Datei 046Handel.mdb.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 54 / 77
7.5.5 Aufgabe 46: Eine Anwendung einrichten<br />
1. Damit die Datenbank Handel runder wird, sollen jetzt noch die Starteinstellungen geändert<br />
werden. (7.4.4 Beispiel 113: Startoptionen für die Datenbankanwendung festlegen)<br />
2. Verhindern Sie, dass der Benutzer das Datenbankfenster sehen kann.<br />
3. Schalten Sie außerdem die Verwendung der <strong>Access</strong> Spezialtasten (z. B. F11) aus.<br />
4. Jetzt sollte nach einem Neustart nur noch das Bestellformular sichtbar sein. Außerdem<br />
können die Tabellen über die Tastenkürzel erreicht werden.<br />
5. Die Lösung der Aufgabe finden Sie unter 046Handel_Start.mdb.<br />
8 Client/Server Datenbanken mit der Microsoft SQL Server<br />
Desktop Engine und ODBC<br />
Während sich persönliche Datenbanken und Lösungen für kleine Arbeitsgruppen problemlos mit<br />
<strong>Access</strong> und seiner Datenbankmaschine Jet einrichten lassen, ist dies bei größeren Datenmengen und<br />
im Netzwerk oft nicht mehr ganz so einfach. Hier bietet sich die Verwendung der Microsoft SQL<br />
Server Desktop Engine (MSDE 2000) an, die Bestandteil von Office <strong>2003</strong> <strong>Professional</strong> ist.<br />
Vorteile beim Einsatz der MSDE:<br />
Datensicherheit:<br />
<strong>Access</strong> ist als System für den Desktop-Betrieb und kleine Arbeitsgruppen konzipiert. Die dabei<br />
erreichbare erstaunlich hohe Geschwindigkeit bei den Datenzugriffen wird teilweise auf Kosten der<br />
Datensicherheit erzielt. Treten beispielsweise im Netzwerkbetrieb Störungen auf, so können die<br />
internen Strukturen der MDB-Dateien beschädigt werden. Dieser Fall tritt auch hin und wieder im<br />
Mehrbenutzerbetrieb auf. Vielfach lassen sich die daraus resultierenden Probleme durch die<br />
Funktion Datenbank komprimieren und reparieren im Menü Datenbank-Dienstprogramme<br />
beseitigen. Dies geht allerdings nicht immer gut. Sollten sich solche Situationen häufiger einstellen,<br />
ist es daher höchste Zeit, über die Umstellung der <strong>Access</strong> Datenbanken auf den Betrieb mit der<br />
MSDE nachzudenken. Da die Desktop Engine den kleinen Bruder des Microsoft SQL -Servers<br />
darstellt, ist sie in hohem Masse auf Betriebssicherheit und Schutz vor Datenverlusten ausgelegt.<br />
Größere Leistungsfähigkeit im Netzwerk:<br />
Ein weiterer Schwachpunkt bei <strong>Access</strong> ist der Betrieb in Netzwerken, zumindest dann, wenn die<br />
Tabellen allmählich größer werden. Die Datenbankdateien lassen sich natürlich problemlos auf<br />
einem File-Server unterbringen. Bearbeitet werden die Daten allerdings immer auf dem Client. Die<br />
Daten müssen bei einer Abfrage also immer zunächst über das Netzwerk auf die Workstation<br />
transportiert werden. Danach findet die Auswahl der Datensätze auf dem lokalen PC statt. Bei einer<br />
10 MB großen Tabelle müssen also zunächst diese 10 MB „geschaufelt“ werden, auch wenn das<br />
Ergebnis nur aus drei Zeilen besteht und 100 Byte groß ist. Verwenden viele Benutzer große<br />
Tabellen gleichzeitig, so können Netzwerke dadurch arg strapaziert werden.<br />
Beim Einsatz der MSDE wird dagegen Client-Server-typisch gearbeitet. Die Daten verbleiben auf<br />
dem Server. Der Client überträgt seinen Verarbeitungswunsch in Form eines SQL-Befehls auf den<br />
Server, wo die Auswertung stattfindet. Vom Server auf den Client übertragen wird dann nur noch<br />
das Abfrageergebnis, das sind oft nur ein paar hundert Byte.<br />
Größere Datenbanken:<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 55 / 77
Mit <strong>Access</strong> lassen sich durchaus Datenbanken bis zu einigen 100 MB betreiben. Theoretisch könnte<br />
man bis zu einem GB gehen. Allerdings lassen sich in vielen Fällen diese Größen nicht erreichen.<br />
Eine genaue Obergrenze anzugeben, ist schwierig und von der Komplexität und Beschaffenheit der<br />
Datenbanktabellen abhängig. In der Praxis können schon bei einem kleineren System von 50-100<br />
MB im Mehrbenutzerbetrieb Instabilitäten auftreten, die sich mit wachsender Dateigröße<br />
unangenehm verschlimmern. Auch nimmt die Abfrage-Leistungsfähigkeit bei großen Datenbanken<br />
gegenüber der MSDE immer weiter ab, während bei kleinen Datenbanken (ein paar MB) <strong>Access</strong> in<br />
der Regel schneller als die MSDE mit der Arbeit fertig sein wird.<br />
Bei der Microsoft Desktop Engine handelt es sich tatsächlich um die abgespeckte Version des MS<br />
SQL Servers! Intern sind die Datenbankmaschine der MSDE und die des SQL-Servers in der Tat<br />
vollkommen identisch. Dies hat den enormen Vorteil, dass bei einem weiteren Wachstum Ihrer<br />
Datenbank über die Möglichkeiten der MSDE hinaus Ihre Applikation ganz ohne jeden Aufwand<br />
auf einen echten Datenbankserver umgestellt werden kann.<br />
<strong>Access</strong> ist im Client/Server Betrieb nicht auf die Verwendung des Microsoft SQL-Servers<br />
eingeschränkt, obwohl dies die einfachste und effektivste Variante darstellt. Es lassen sich auch<br />
andere Datenbanksysteme, wie ORACLE oder DB2 mit <strong>Access</strong> „anzapfen“. Ein stabiler und relativ<br />
unkomplizierter Weg dorthin ist die Verwendung einer Standardschnittstelle für Datenbanksysteme,<br />
die bereits seit einigen Jahren existiert und inzwischen sehr ausgereift ist. ODBC steht für „Open<br />
Database Connectivity“. Sämtliche Datenbankanbieter unterstützen dieses Protokoll. Die<br />
Voraussetzung für die Nutzung von ODBC auf einem Rechner ist das Vorhandensein der<br />
entsprechenden Treiber, die entweder bereits installiert sind oder vom Hersteller zur Verfügung<br />
gestellt werden.<br />
8.1 MSDE Grundlagen<br />
Die Microsoft SQL Server 2000 Desktop Engine wird nicht automatisch mit MS Office <strong>2003</strong><br />
installiert. <strong>Das</strong> Setup-Programm befindet sich auf der Office CD-ROM.<br />
Sie können die neuste Version der Microsoft SQL Server 2000 Desktop Engine auch aus dem<br />
Internet herunterladen: http://www.microsoft.com/sql/msde/downloads/.<br />
Bevor die Arbeit mit der MSDE beginnen kann, muss diese also zunächst einmal installiert werden.<br />
Dies kann auf dem lokalen PC, aber auch auf einem Rechner im Netzwerk erfolgen. Im Verlauf des<br />
Setups werden Sie unter anderem nach einem Datenpfad gefragt. Dabei geht es nicht etwa um den<br />
zukünftigen Speicherort Ihrer <strong>Access</strong>-Datenbanken, sondern um die so genannten<br />
Systemdatenbanken. <strong>Das</strong> Konzept der Systemdatenbanken ist (mit Ausnahme der<br />
Arbeitsgruppendateien) in <strong>Access</strong> nicht bekannt, wird aber im Microsoft SQL-Server (und damit<br />
der MSDE) verwendet. Bei den Systemdatenbanken handelt es sich um interne Datenbanken, die<br />
von der MSDE beispielsweise für die Benutzerverwaltung und die Systemkonfiguration eingesetzt<br />
werden. Diese Datenbanken müssen unbedingt in Ihren Datensicherungen berücksichtigt werden!<br />
Außerdem ist es normalerweise angebracht, diese Daten getrennt von Ihren Programmdateien auf<br />
einer zweiten Festplatte zu installieren.<br />
<strong>Das</strong> folgende Beispiel zeigt die Installation von der Office-CD-Rom. Achten Sie darauf, dass Sie<br />
die Installation mit ausreichenden Administrationsbefugnissen für Ihren Rechner vornehmen.<br />
8.1.1 Beispiel 116: Die MS SQL Server Desktop Engine<br />
installieren<br />
1. Legen Sie die Installations-CD Ihres Office Programms ein.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 56 / 77
Sie können die neuste Version der Microsoft SQL Server 2000 Desktop Engine auch aus<br />
dem Internet herunterladen: http://www.microsoft.com/sql/msde/downloads/.<br />
2. Öffnen Sie den Windows-Explorer und navigieren Sie zum Verzeichnis MSDE2000 auf der<br />
CD-ROM. Starten Sie durch einen Doppelklick auf MSDE2KS3.EXE das<br />
selbstextrahierende Archiv und wählen Sie den Ordner, in den die Installationsdateien<br />
extrahiert werden sollen.<br />
Abb 444 Die Installationsdateien werden entpackt.<br />
3. Bevor Sie das Setup starten können, müssen Sie ein sicheres Kennwort vergeben.<br />
Abb 445<br />
4. Lesen Sie dazu die Datei ReadmeMSDE2000A.htm.<br />
5. Geben Sie nach Start/Alle Programme/Zubehör im Eingabeaufforderungsfenster cd<br />
C:\MSDE bzw. den Pfad zu dem Ordner, in den Sie die Installationsdateien kopiert haben,<br />
ein. Mit setup sapwd="sesam" installieren Sie eine Standardinstanz der MSDE, wobei Sie<br />
statt „sesam“ ein Kennwort eingeben können, das dem Benutzer sa zugewiesen wird.<br />
Instanz.<br />
Abb 446 So installieren Sie eine neue Desktop Engine-<br />
6. Die Installation erfolgt nun automatisch und ohne Ihr weiteres Zutun. Sie werden durch ein<br />
Infofenster über den Fortschritt des Setups informiert.<br />
7. Starten Sie nach erfolgter Installation Ihren Rechner neu.<br />
Sie können einstellen, ob der Server beim Starten des Betriebssystems automatisch zur Verfügung<br />
steht.<br />
8.1.2 Beispiel 117: Die Desktop Engine einstellen<br />
1. Nach dem Neustart Ihres Rechners wird Ihnen über ein Symbol in der Taskleiste der Status<br />
Ihrer Desktop Engine angezeigt. Der grüne Pfeil zeigt an, dass der MSSQL Server läuft.<br />
Abb 447<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 57 / 77
Abb 448<br />
Abb 449<br />
Abb 450<br />
Hinweis: Der rote Punkt zeigt an, dass er beendet, zwei parallele Striche zeigen an, dass er<br />
angehalten wurde.<br />
2. Öffnen Sie durch einen Doppelklick auf das Server Symbol den SQL Server-Dienst-<br />
Manager . Dieser zeigt die Dienste an, die zur SQL-Server Desktop Engine gehören. Für<br />
unsere Aufgabenstellungen benötigen wir ausschließlich den Dienst SQL-Server .<br />
Abb 451<br />
3. Über das Symbol Beenden können Sie den Dienst stoppen, wenn dieser nicht benötigt wird.<br />
Damit entlasten Sie Ihren PC.<br />
4. Mit Starten/Weiter starten Sie den Server wieder.<br />
5. Aktivieren Sie das Kontrollkästchen Dienst bei Betriebssystemstart automatisch starten. Die<br />
Desktop Engine wird jetzt jedes Mal automatisch gestartet, wenn Sie Ihren Rechner starten.<br />
6. Schließen Sie den SQL Server-Dienst-Manager wieder.<br />
Nachdem Sie die MSDE installiert haben, können Sie nun <strong>Access</strong> mit dieser verbinden und<br />
anschließend eine erste Datenbank anlegen. Da es sich nicht um eine <strong>Access</strong> (Jet-) Datenbank<br />
handelt, ist das Vorgehen hierbei grundsätzlich anders. Sie legen die Datenbank über ein so<br />
genanntes Projekt an.<br />
8.1.3 Beispiel 118: Eine neue MSDE Datenbank anlegen<br />
1. Starten Sie MS <strong>Access</strong>.<br />
2. Öffnen Sie über Datei/Neu den Aufgabenbereich Neue Datei und wählen Sie unter Neu<br />
Projekt aus neuen Daten.<br />
Abb 452<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 58 / 77
3. Erstellen Sie das Projekt im Verzeichnis Stadtlupe unter dem Namen Test.adp.<br />
4. Sie müssen sich nun mit der Desktop Engine verbinden. Dabei hilft Ihnen der SQL Server<br />
Datenbank Assistent .<br />
5. Geben Sie dazu den Namen des Rechners, auf welchem Sie die MSDE installiert haben, als<br />
Bezeichnung für den SQL-Server ein.<br />
Wenn Sie mit der Maus über das Symbol des MSSQL-Servers in der Taskleiste fahren, wird<br />
der Rechnername angezeigt.<br />
6. Lassen Sie die Option Vertrauenswürdige Verbindung verwenden aktiviert. Dies bedeutet,<br />
dass die MSDE anhand der Windows-Anmeldeinformationen authentifiziert. Wenn Sie als<br />
Administrator Ihres Rechners angemeldet sind, dann können Sie sich mit der MSDE<br />
verbinden.<br />
Abb 453 Die Datenbank TestSQL wird angelegt<br />
7. Als Namen der neuen Datenbank schlägt der Assistent testSQL vor. Behalten Sie diesen bei<br />
und klicken Sie auf Weiter.<br />
8. Nach Fertig Stellen werden die Dateien für die neue Datenbank eingerichtet.<br />
Zu der Datenbank TestSQL gehören zwei Dateien: TestSQL.mdf und TestSQL.ldf. Diese Dateien<br />
werden gemeinsam benötigt, um Ihre Datenbank zu <strong>verwalten</strong>. Die mdf-Datei enthält die Tabellen<br />
und andere Informationen Ihrer Datenbank, die ldf-Datei das sogenannte Transaktionsprotokoll.<br />
Diese Dateien finden Sie im Datenverzeichnis der MSDE, normalerweise ist dies:<br />
\Programme\Microsoft SQL Server\MSSQL\Data.<br />
Stellen Sie im Netzwerk sicher, dass beide Dateien mit einem ausreichenden Zugriffsschutz<br />
versehen werden.<br />
8.2 Eine <strong>Access</strong> Datenbank auf die Desktop Engine umstellen<br />
Ein vorhandene <strong>Access</strong> Datenbank können Sie am einfachsten mit dem in <strong>Access</strong> eingebauten<br />
Upsizing-Assistenten auf die Client/Server Lösung umstellen.<br />
8.2.1 Beispiel 119: Upsizing einer vorhandenen <strong>Access</strong>-<br />
Datenbank<br />
1. Öffnen Sie die Datenbank 119Stadtlupe.mdb.<br />
2. Starten Sie über Extras/Datenbank-Dienstprogramme den Upsizing Assistenten .<br />
3. Wählen Sie im ersten Dialog die Option Neue Datenbank erstellen.<br />
4. Nach dem Klick auf Weiter kann es ein paar Sekunden dauern, bis der Assistent die<br />
vorhandenen SQL-Server in Ihrem Netzwerk anzeigt.<br />
5. Zur Anmeldung an der MSDE verwenden Sie den Namen des Rechners, auf welchem die<br />
MSDE installiert ist, als SQL-Servernamen. Verwenden Sie die Option Vertrauenswürdige<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 59 / 77
Verbindung verwenden. Als Datenbankname wird 119StadtlupeSQL vorgeschlagen.<br />
Behalten Sie diese Voreinstellung bei und klicken Sie auf Weiter.<br />
Abb 454<br />
6. Im nächsten Schritt geben Sie an, dass sämtliche Tabellen aus <strong>Access</strong> transferiert werden<br />
sollen. Verwenden Sie dafür das Doppelpfeil-Symbol >>.<br />
Abb 455<br />
7. Nach Weiter geht es um die Auswahl der Tabelleneigenschaften, die in der MSDE-<br />
Datenbank erscheinen sollen. Da Sie normalerweise die vergebenen Indizes, Standardwerte<br />
usw. beibehalten wollen, empfiehlt sich hier die Übernahme der Voreinstellungen.<br />
Abb 456<br />
8. Den letzten Arbeitsschritt bildet die Entscheidung, ob ein neues <strong>Access</strong>-Projekt erstellt<br />
werden soll, oder die existierende Datenbank angepasst wird. Wählen Sie die Option Eine<br />
neue <strong>Access</strong>-Client/Server Anwendung erstellen und gehen Sie über Weiter zum letzten<br />
Dialog, wo Sie mit Fertig stellen das Upsizing starten.<br />
Abb 457<br />
9. Nachdem alle Objekte auf den Server transportiert wurden, informiert Sie <strong>Access</strong> in einem<br />
ausführlichen Upsizing-Bericht über den Erfolg der Prozedur, über notwendige<br />
Anpassungen und aufgetretene Fehler.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 60 / 77
Abb 458 Die Datenbank auf dem MSSQL-Server<br />
10. Drucken Sie nach dem Upsizing den Bericht für Dokumentationszwecke einmal aus.<br />
Nach dem Upsizing der Datenbank können Sie sofort mit dem Projekt StadtlupeCS arbeiten und<br />
sich mit den Details einer <strong>Access</strong> Client/Server Applikation vertraut machen. Vor allen Dingen ist<br />
es wichtig, sich mit den Verbindungseinstellungen auszukennen.<br />
8.2.2 Beispiel 120: Verbindungseinstellungen prüfen<br />
1. <strong>Das</strong> Projekt 120_122StadtlupeCS.adp ist geöffnet.<br />
2. Wählen Sie im Menü Datei den Eintrag Verbindung .<br />
3. In diesem Dialog können Sie den Authentifizierungsmodus einstellen und eine Datenbank<br />
Ihres Servers auswählen.<br />
Abb 459<br />
4. Lassen Sie sich einmal die Datenbanken Ihrer MSDE anzeigen. Sie werden feststellen, dass<br />
es neben der neu angelegten Datenbank 120_122StadtlupeSQL noch die Datenbanken<br />
Master, Model, MSDB und Tempdb gibt. Diese werden von der Desktop Engine für die<br />
eigene Verwaltung benötigt. Sie sollten diese Datenbanken weder selbst verändern noch<br />
löschen.<br />
5. Testen Sie die Verbindung. OK.<br />
Abb 460<br />
Schon bei diesem ersten Experiment konnten Sie feststellen, dass die Arbeit mit einem <strong>Access</strong><br />
Client/Server System sich deutlich von der Arbeit mit dem Desktop-<strong>Access</strong> unterscheidet. <strong>Das</strong><br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 61 / 77
nächste Beispiel stellt in einer kleinen Tour die wesentlichen Unterschiede vor. Diese liegen vor<br />
allen Dingen bei den Abfragen vor.<br />
8.2.3 Beispiel 121: Die Objekte der MSDE erforschen<br />
1. Betrachten Sie im Projekt 120_121StadtlupeCS.adp die Objektleiste. Als einziger neuer<br />
Eintrag erscheint der Punkt Datenbankdiagramme .<br />
2. Klicken Sie auf Abfragen.<br />
3. Nach der Konvertierung sind die Bezeichnungen, die runde Klammern enthalten, in<br />
doppelte Anführungszeichen gesetzt worden.<br />
4. Aktivieren Sie über das Symbol Details im Datenbankfenster die zusätzlichen<br />
beschreibenden Spalten.<br />
Abb 461<br />
5. Sie können nun die unterschiedlichen Abfragetypen besser unterscheiden. Der Upsizing-<br />
Assistent hat aus den ursprünglichen Abfragen der Stadtlupe-Datenbank Ansichten,<br />
Gespeicherte Prozeduren und Inline Funktionen erstellt.<br />
Abb 462 Die verschiedenen Typen von Abfragen<br />
6. Öffnen Sie die Sicht (in <strong>Access</strong>: Ansicht) Auswertungen Anzeigenpreise nach Format<br />
gruppiert. In der Datenblattansicht werden Ihnen die Werte angezeigt, die der Server<br />
berechnet hat.<br />
Abb 463<br />
7. Wechseln Sie in die Entwurfsansicht.<br />
8. Hier sehen Sie den Abfragedesigner der MSDE, der ganz exakt dem SQL-Server Vorbild<br />
entspricht. Schließen Sie den Sichtentwurf.<br />
Abb 464 Die Abfragen in der Entwurfsansicht<br />
9. Öffnen Sie die Inline-Funktion Kunden nach PLZ-Bereich. Geben Sie in die Eingabebox<br />
Ab_Plz_ den Wert 10000 und in die Eingabebox Bis_Plz den Wert 12000 ein.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 62 / 77
Abb 465<br />
Abb 466<br />
10. Dieses Server-Objekt entspricht also einer <strong>Access</strong> Parameterabfrage.<br />
Abb 467<br />
Inline-Funktionen müssen außerdem verwendet werden, wenn das Ergebnis einer Abfrage<br />
sortiert werden soll.<br />
11. Öffnen Sie jetzt die Gespeicherte Prozedur E-Mail Adressen eintragen in der<br />
Entwurfsansicht. Sie sehen hier einen kurzen SQL-Text. Dieser enthält die Befehle einer<br />
<strong>Access</strong> Aktionsabfrage. Gespeicherte Prozeduren werden also anstelle von <strong>Access</strong><br />
Aktionsabfragen verwendet, gehen jedoch weit über deren Funktionalität hinaus.<br />
Abb 468<br />
Sie werden sicher festgestellt haben, dass nach der Konvertierung einige Namen von<br />
Abfragen in doppelte Anführungsstrichen (") gesetzt wurden. Dies ist jedes Mal dann der<br />
Fall, wenn innerhalb des Namens Leerzeichen vorkommen. Im Gegensatz zu <strong>Access</strong> erlaubt<br />
der SQL-Server dies nicht.<br />
Die SQL-Server Datenbankdiagramme entsprechen den <strong>Access</strong> Schema-Darstellungen (unter<br />
Extras/Beziehungen). Nach dem Transfer einer Datenbank existiert noch kein Diagramm. Sie<br />
erstellen nun ein Diagramm für Ihre Datenbank.<br />
8.2.4 Beispiel 122: Ein Datenbankdiagramm erstellen<br />
1. <strong>Das</strong> Projekt 120_122StadtlupeCS.adp ist geöffnet.<br />
2. Wählen Sie in der Objektleiste Datenbankdiagramme. Klicken Sie doppelt auf Erstellt ein<br />
Datenbankdiagramm unter Verwendung des Designers.<br />
Abb 469<br />
3. Im geöffneten Designer fügen Sie aus dem Fenster Tabelle hinzufügen dem Entwurfsbereich<br />
alle Tabellen der Datenbank hinzu. Schließen Sie das Fenster Tabelle hinzufügen wieder.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 63 / 77
4. Zwischen den Tabellen werden automatisch Verbindungslinien dargestellt, wenn es<br />
Tabellenbeziehung gibt. Ein Datenbankdiagramm entspricht also dem <strong>Access</strong><br />
Beziehungsfenster.<br />
Abb 470<br />
5. Klicken Sie auf das Kreuz unten rechts im Fenster. <strong>Das</strong> Datenbankdiagramm wird in einer<br />
Miniaturansicht dargestellt. Der Bereich innerhalb der gestrichelten Linie, den Sie mit<br />
gedrückter Maustaste verschieben können, wird im Datenbankfenster angezeigt.<br />
Abb 471 Ein Ausschnitt aus dem Datenbankdiagramm<br />
6. Schließen Sie das Datenbankdiagramm-Fenster und speichern Sie die Änderungen unter der<br />
Bezeichnung Standard ab.<br />
8.3 Sichten, Inline-Funktionen und Gespeicherte Prozeduren<br />
Wie Sie bereits im letzten Abschnitt sehen konnten, existieren in einer MSDE-Datenbank keine<br />
Abfragen, wie Sie es in <strong>Access</strong> sonst gewohnt sind, sondern Sichten, Inlinefunktionen und<br />
Gespeicherte Prozeduren. Dies erklärt sich aus der Abstammung der Desktop Engine von dem<br />
Datenbankserver-System MS SQL-Server. Eine <strong>Access</strong>-Abfrage ist ja ein echtes Allround-Talent,<br />
mit welcher Sie Daten auswählen können, die Parameter besitzen kann, aber auch dem Anfügen,<br />
Ändern und Löschen dient. Sogar Kreuztabellen für die erweiterte Datenanalyse können sehr<br />
effektiv mittels Abfragen erstellt werden. Datenbankserver besitzen dieses universelle<br />
Abfragenkonzept nicht. Stattdessen existieren verschiedene Objekt, die unterschiedlich eingesetzt<br />
werden.<br />
Sichten, die auf Datenbankservern auch als Views bezeichnet werden, sind ausschließlich für die<br />
Abfrage von Daten und die Zusammenstellung von Informationen aus mehreren Tabellen gedacht.<br />
Sie bestehen aus einer einzelnen SELECT Anweisung. Der Vorteil einer Sicht liegt in der großen<br />
Effektivität bei Abfrage und Berechnung auch sehr großer Datenmengen auf dem Server bzw. der<br />
MSDE.<br />
Sichten werden in der <strong>Access</strong>-<strong>2003</strong>-Oberfläche als Ansichten bezeichnet. Die Daten einer Sicht<br />
können zwar durch eine WHERE-Klausel ausgewählt und durch GROUP BY zusammengefasst,<br />
aber nicht auf dem Server sortiert werden!<br />
Sollen Abfragen mit Parametern ausgestattet oder sortiert werden, so kann man so genannte Inline-<br />
Funktionen verwenden. Diese liefern wie eine Sicht Abfrageergebnisse zurück, können aber auch<br />
mit Eingangswerten versehen werden. Darüber hinaus ist es möglich, in Inline-Funktionen mehr als<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 64 / 77
ein SELECT-Kommando zu verwenden. Es stehen hier alle Möglichkeiten zur Verfügung, die die<br />
Programmiersprache des Servers, das Transact-SQL, bietet.<br />
Sollen auf dem Server, in der Art einer <strong>Access</strong> Aktionsabfrage, Datensätze geändert werden, dann<br />
sollte am besten eine so genannte Gespeicherte Prozedur verwendet werden. Auch diese stellt den<br />
vollen Umfang der Transact-SQL-Befehle zur Verfügung, es wird aber nicht erwartet, dass eine<br />
Ergebnismenge zurück geliefert wird.<br />
In den folgenden Beispielen wird jeweils ein Beispiel zu diesen unterschiedlichen Objekten<br />
präsentiert. Dies soll natürlich nur ein erster Eindruck von den Möglichkeiten der <strong>Access</strong>/SQL-<br />
Server-Kombination sein.<br />
Zunächst wird eine recht umfangreiche Sicht erstellt, die Informationen zu Kunden und Heften in<br />
einer Auswertung anbietet.<br />
8.3.1 Beispiel 123: Eine SQL-Server Sicht erstellen<br />
1. Wechseln Sie in der Objektleiste des Projektes 123StadtlupeCS.adp in Abfragen und<br />
klicken Sie auf das Symbol Neu. Wählen Sie anschließend die Option Sicht entwerfen aus.<br />
OK. Der Sicht-Designer öffnet sich.<br />
Abb 472 Eine neue Abfrage (Sicht) wird erstellt.<br />
2. Fügen Sie im Dialogfeld die Tabellen Kunden, Aufträge, Anzeigenschaltungen und Hefte<br />
dem Entwurf der Abfrage hinzu.<br />
Abb 473 Tabellen werden hinzugefügt.<br />
3. Schließen Sie danach die Dialogbox. Im Diagramm-Fenster des Designers werden die<br />
Tabellen und ihre Beziehungen angezeigt.<br />
4. Aktivieren Sie die Anzeige des SQL-Befehls dieser Abfrage durch das SQL-Symbol in der<br />
Symbolleiste.<br />
Abb 474<br />
5. Wählen Sie nun die darzustellenden Felder aus, indem Sie in der Tabelle Kunden die<br />
Ankreuzkästchen vor den Feldern Kunden-Nr und Name sowie in der Tabelle Hefte vor dem<br />
Feld Heft-Nr anklicken.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 65 / 77
6. Sie erstellen nun ein berechnetes Feld. Tragen Sie dazu in der ersten Spalte des Rasters<br />
unterhalb von Heft-Nr den Ausdruck Preis + Aufschlag ein. Vergeben Sie als Alias die<br />
Bezeichnung Umsatz.<br />
7. Über das Menü Abfrage/Gruppieren wird jetzt die Zusammenfassung von Daten ermöglicht.<br />
In der Spalte Gruppieren nach des berechneten Feldes stellen Sie als Aggregatfunktion<br />
Summe ein.<br />
8. Speichern Sie die Sicht unter dem Namen Umsätze pro Kunde und Heft und führen Sie diese<br />
aus.<br />
Abb 475<br />
9. Wechseln Sie wieder in die Entwurfsansicht und überprüfen Sie im SQL-Fenster den vom<br />
Designer generierten SQL-Befehl. Diesen sollten Sie mit den bisher erworbenen<br />
Kenntnissen verstehen können.<br />
10. Schließen Sie die Abfrage anschließend.<br />
Entwurfsansicht.<br />
Abb 476 Die Sicht Umsätze pro Kunde und Heft in der<br />
Obwohl Sie keine Möglichkeit haben, die Sicht mit ORDER BY zu sortieren, können Sie<br />
doch das Ergebnis wie gewohnt in der Tabellenansicht über die üblichen Symbole sortieren.<br />
<strong>Das</strong> nächste Beispiel stellt vor, wie über eine Inline-Funktion eine Abfrage mit Parametern erstellt<br />
werden kann.<br />
8.3.2 Beispiel 124: Eine SQL-Server-Inlinefunktion erstellen<br />
1. Wechseln Sie in der Objektleiste des Projektes 124StadtlupeCS.adp in Abfragen und<br />
klicken Sie auf das Symbol Neu.<br />
2. Wählen Sie die Option Inlinefunktion entwerfen. OK. Der Sicht-Designer öffnet sich.<br />
3. Fügen Sie der Inlinefunktion die Tabellen Aufträge und Kunden hinzu.<br />
Abb 477<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 66 / 77
4. Wählen Sie nach dem Schließen des Dialogfeldes Tabelle hinzufügen aus der Tabelle<br />
Kunden die Felder Kunden-Nr und Name und aus der Tabelle Aufträge das Feld Erteilt am<br />
aus.<br />
5. In der Spalte Sortierungsart des Rasters stellen Sie anschließend ein, dass das<br />
Abfrageergebnis nach Kunden-Nr und Erteilt am aufsteigend sortiert werden soll.<br />
Abb 478<br />
6. Jetzt werden noch zwei Parameter vereinbart. Geben Sie in der Spalte Kriterien des Feldes<br />
Erteilt am den Ausdruck BETWEEN @Von AND @Bis ein.<br />
7. Zeigen Sie über Ansicht die Eigenschaften der Abfrage an. Kontrollieren Sie im Register<br />
Funktionsparameter, ob als Parametertypen korrekt datetime eingetragen wurde und<br />
schließen Sie das Fenster wieder.<br />
Abb 479<br />
8. Führen Sie die Abfrage aus.<br />
Abb 480<br />
Abb 481<br />
9. Speichern Sie die Inline-Funktion unter dem Namen Aufträge im Zeitraum.<br />
10. Geben Sie als ersten Parameter den Wert 1.1.2002 und als zweiten Parameter den Wert<br />
31.7.2002 ein.<br />
Abb 482 <strong>Das</strong> Ergebnis der Abfrage Aufträge im Zeitraum<br />
11. Wechseln Sie über das entsprechende Symbol in die SQL-Ansicht und überprüfen Sie den<br />
SQL-Befehl, der hinter Ihrer Abfrage steckt.<br />
12. Schließen Sie den Entwurf.<br />
Abb 483 Die Abfrage in der SQL-Ansicht<br />
<strong>Das</strong> letzte Beispiel stellt vor, wie eine Gespeicherte Prozedur funktioniert, die Änderungen in<br />
Datensätzen durchführt. Da diese Prozedur aus mehr als einem Befehl bestehen soll, wird diese<br />
nicht mit einem Designer, sondern über einen Texteditor erstellt.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 67 / 77
8.3.3 Beispiel 125: Eine SQL-Server-gespeicherte Prozedur<br />
erstellen<br />
1. Wechseln Sie in der Objektleiste des Projektes 125StadtlupeCS.adp in Abfragen und<br />
klicken Sie auf das Symbol Neu. Wählen Sie den Eintrag Text–Gespeicherte Prozedur<br />
entwerfen .<br />
2. Nach dem OK landen Sie in einem einfachen Texteditor. In diesem sind schon die ersten<br />
Befehlszeilen eingetragen, die auf einem Datenbankserver eine Prozedur erzeugen.<br />
Abb 484<br />
3. Speichern Sie als erstes die neue Prozedur unter dem Namen Neue Heftpreise. Beachten Sie,<br />
dass nach dem Speichern die erste Zeile des Textes in CREATE PROCEDURE "Neue<br />
Heftpreise" geändert wurde.<br />
4. Die Prozedur soll einen Parameter erhalten. Entfernen Sie die beiden Symbole /* und */ im<br />
Programmtext. Dies sind so genannte Kommentare.<br />
5. Ändern Sie die Zeile @parameter1 datatype = default value in @Bruttoaenderung<br />
smallmoney . Entfernen Sie das Komma am Ende.<br />
6. Löschen Sie die Zeile @parameter2 datatype OUTPUT vollständig.<br />
7. Fügen Sie der Prozedur hinter dem Text /* SET NOCOUNT ON */ jetzt noch die<br />
ZeilenDECLARE @Nettoaenderung smallmoneySET @Nettoaenderung =<br />
@Bruttoaenderung / 1.06UPDATE Hefte SET Heftpreis = Heftpreis +<br />
@Nettoaenderunghinzu.<br />
8. Damit ist die Prozedur vollständig. Speichern Sie diese erneut. Sie wird dabei geprüft.<br />
Treten keine Fehler auf, so starten Sie sie. Geben Sie 1 als Preisänderung an. Nachdem die<br />
Prozedur ausgeführt wurde, haben Sie den Bruttopreis um 1 € erhöht.<br />
Abb 485<br />
8.4 ODBC Datenquellen verwenden<br />
In diesem Abschnitt soll kurz aufgezeigt werden, wie über eine so genannte ODBC-Datenquelle auf<br />
einen Datenbankserver zugegriffen werden kann. <strong>Das</strong> Verfahren unterscheidet sich technisch<br />
gesehen recht deutlich von dem in den vorherigen Abschnitten aufgezeichneten Weg. Wir haben es<br />
hierbei nämlich nicht mit <strong>Access</strong>-Projekten zu tun. Die gibt es nur für den SQL-Server. Stattdessen<br />
werden bei einem ODBC-Zugriff auf eine Datenbank einzelne Tabellen in eine ganz normale<br />
Datenbankdatei der Jet-Engine (also eine „mdb“-Datei) eingebunden.<br />
Bevor Sie auf einen Datenbankserver in dieser Art zugreifen können, müssen Sie in der Regel<br />
zunächst einmal den ODBC-Zugriff konfigurieren. Dabei legen Sie fest, auf welchen Server<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 68 / 77
zugegriffen werden soll, mit welchen Kontoinformationen die Verbindung passieren soll und Sie<br />
legen Details der Verbindung fest.<br />
All diese Informationen werden auf Ihrem PC entweder in einer Datei oder in der Registry unter<br />
einem frei definierbaren Namen abgelegt. Diesen Namen bezeichnet man auch als Datenquellen-<br />
Namen oder „Data Source Name“ - DSN. Diese Abkürzung begegnet einem häufig, wenn mit<br />
ODBC gearbeitet wird. Wichtig ist noch zu wissen, dass es System-DSNs, Benutzer-DSNs und<br />
Datei-DSNs gibt. Diese unterscheiden sich nur in der Art der Informationsspeicherung. Benutzerund<br />
System-Datenquellen werden in der Registry des Rechners abgelegt. Dabei steht die System-<br />
DSN allen Benutzern des Gerätes zur Verfügung, die Benutzer-DSN nur einem speziellen Benutzer.<br />
Eine Datei-DSN kann in einem Netzwerk verwendet werden, um die Verbindungsinformationen<br />
global zur Verfügung zu stellen.<br />
Für die Verwaltung der Datenquellen gibt es im Betriebssystem ein eigenes Management-<br />
Werkzeug, die Datenquellenverwaltung. Mit deren Hilfe wird in den Beispielen zu ODBC eine<br />
Datenquelle eingerichtet.<br />
Die folgenden Beispiele funktionieren nur, wenn die MSDE auf Ihrem Rechner installiert ist und<br />
Sie bereits die StadtlupeSQL Datenbank angelegt haben, wie in den vorangegangenen Beispielen<br />
beschrieben wurde. Natürlich ist der Zugriff auf die MSDE per ODBC nur als Beispiel zu<br />
verstehen. <strong>Access</strong> Projekte arbeiten hier viel direkter und effektiver. Prinzipiell unterscheidet sich<br />
das Vorgehen jedoch nicht von dem Anlegen einer Datenquelle für ein anderes Server-System.<br />
8.4.1 Beispiel 126: Eine ODBC Systemdatenquelle einrichten<br />
1. Öffnen Sie die Datenquellen-Verwaltung auf Ihrem PC. Diese finden Sie unter Windows XP<br />
in Start/Systemsteuerung/Verwaltung/Datenquellen (ODBC).<br />
2. Klicken Sie im Register System-DSN auf die Schaltfläche Hinzufügen.<br />
Abb 486<br />
3. Wählen Sie aus den installierten Treibern den SQL-Server aus.<br />
4. Nach Fertig stellen vergeben Sie zunächst einen sprechenden Namen (Stadtlupe) für die<br />
DSN ein.<br />
5. Als Server wählen Sie aus der Liste (local). Damit legen Sie Ihre MSDE fest.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 69 / 77
Abb 487<br />
6. Im nächsten Schritt legen Sie die Authentifizierungsmethode fest, die für diese DSN<br />
verwendet werden soll. Wir gehen hier von Windows Authentifizierung aus. Behalten Sie<br />
daher die Voreinstellungen bei.<br />
Abb 488<br />
7. Im nächsten Dialogfeld wählen Sie als Standarddatenbank die Datenbank aus, die Sie in<br />
Bsp. 119 mit dem Upsizing-Assistenten erstellt haben (z. B. 119StadtlupeSQL).<br />
Abb 489<br />
8. Klicken Sie noch einmal auf Weiter und Fertigstellen, bis Sie das letzte Dialogfeld<br />
erreichen. Dort haben Sie die Möglichkeit, über Datenquelle testen Ihre Einstellungen zu<br />
prüfen.<br />
Abb 490<br />
9. Ist der Test erfolgreich abgelaufen, so schließen Sie das Dialogfeld. Die Datenquelle<br />
Stadtlupe steht nun allen Benutzern Ihres PCs zur Verfügung.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 70 / 77
Abb 491<br />
8.4.2 Beispiel 127: Mit ODBC Daten arbeiten<br />
1. Starten Sie MS <strong>Access</strong> und legen Sie eine neue leere Datenbank an. Vergeben Sie den<br />
Namen StadtlupeODBC.mdb für die neue Datei.<br />
2. Über Datei/Externe Daten/Tabellen verknüpfen verknüpfen Sie die Tabellen der Server-<br />
Datenbank über ODBC mit der Datei.<br />
3. Wählen Sie als Dateityp ODBC - Databases aus.<br />
4. Wechseln Sie im Dialog Datenquelle auswählen in das Register Computerdatenquelle . Dort<br />
finden Sie den Eintrag Stadtlupe.<br />
Abb 492<br />
5. Nach OK beginnt die Auswahl der zu verknüpfenden Tabellen oder Sichten.<br />
6. Wählen Sie die Basistabellen Anzeigenschaltungen, Aufträge, Hefte, Mitarbeiter,<br />
Kleinanzeigen und Kunden aus.<br />
Abb 493<br />
7. Nach OK werden die Tabellen mit Ihrer neuen Datenbank verknüpft. Entsprechend wird das<br />
ODBC-Symbol vor dem Tabellennamen angezeigt.<br />
Abb 494<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 71 / 77
8. Sie können nun mit den eingebundenen Tabellen so arbeiten, als gehörten Sie zu Ihrer<br />
lokalen Datenbank.<br />
Allerdings ist es nicht möglich, die Tabellenbeziehungen vollständig darzustellen. Dies ist<br />
aber auch logisch, weil sich der Server um die Relationen zwischen den Tabellen kümmern<br />
muss.<br />
8.5 <strong>Access</strong> und XML<br />
XML wurde als ein Format entwickelt, mit dem sich strukturierte Inhalte im World Wide Web<br />
austauschen lassen. Die Universalität des WWW einerseits, die Flexibilität von XML andererseits<br />
haben dazu geführt, dass XML inzwischen auch für Aufgaben benutzt wird, für die es ursprünglich<br />
nicht vorgesehen war, z.B. als Format für Officeprogramme oder für die Speicherung der<br />
Konfigurationseinstellungen von Benutzungsoberflächen. In der Praxis können vor allem zwei<br />
Einsatzbereiche von XML unterschieden werden:<br />
• Publishing und Management von Dokumenten: Hier dient XML dazu, Informationen für<br />
menschliche Rezipienten zu veröffentlichen. Mit XML lassen sich dabei die Informationen<br />
einerseits inhaltlich strukturieren und andererseits in einer Weise darstellen, die<br />
verschiedenen Ausgabemedien gerecht wird.<br />
• Web-Services: Hier erlaubt XML die Festlegung von Austauschformaten für das so<br />
genannte "Distributed Computing", bei dem Rechner im World Wide Web für die Lösung<br />
bestimmter Aufgaben lose miteinander verbunden werden können. In XML-Formaten wird<br />
einerseits erfasst, welche Dienste ein Anbieter zur Verfügung stellt und wie diese Dienste<br />
abgerufen werden können; andererseits kommunizieren die Rechner über SML-Botschaften<br />
miteinander, wenn sie tatsächlich auf die jeweils bereitgestellten Dienste zugreifen.<br />
Sie können in MS <strong>Access</strong> Daten in eine XML (Extensible Markup Language) - Datei exportieren.<br />
Bei den Informationen, die im- oder exportiert werden sollen, können Sie auswählen zwischen den<br />
eigentlichen Daten, der Struktur sowie der Präsentation.<br />
8.<strong>5.1</strong> Beispiel 128: Exportieren von <strong>Access</strong>-Daten in eine XML-<br />
Datei<br />
1. Die Datenbank 128_Stadtlupe.mdb ist geöffnet.<br />
2. Öffnen Sie die Tabelle Anzeigenschaltungen.<br />
3. Wählen Sie nach Datei/Exportieren als Dateityp XML (*.xml) und als Speicherort den<br />
Ordner Stadtlupe.<br />
Abb 495 Die Tabelle Anzeigenschaltungen wird exportiert.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 72 / 77
4. Nach Exportieren wählen Sie als zu exportierende Informationen Daten (XML ), Schema der<br />
Daten (XSD ) und Präsentation Ihrer Daten (XLS ).<br />
aus.<br />
Abb 496 Wählen Sie die zu exportierenden Informationen<br />
5. Klicken Sie auf Weitere. Im Register Daten geben Sie die zu exportierenden Daten bzw.<br />
Datensätze und den Speicherort der exportierten Datei an. Der Ordner Stadtlupe, den Sie<br />
zuvor gewählt hatten, ist voreingestellt. Im Register Schema wählen Sie Separates<br />
Schemadokument erstellen, um eine von der Datendatei getrennte Schemadatei zu erstellen,<br />
im Register Präsentation wählen Sie Client (HTML).<br />
Abb 497<br />
6. Betrachten Sie das Ergebnis im Windows-Explorer: Sie müssten im Ordner Stadtlupe vier<br />
neue Dateien vorfinden: die Datei Anzeigenschaltungen in vier verschiedenen Formaten.<br />
Abb 498 <strong>Das</strong> Ergebnis des Exports im Window-Explorer<br />
7. Öffnen Sie die Datei Anzeigenschaltungen.xml im Browser. Sie erkennen die Struktur der<br />
XML-Datei.<br />
Abb 499 Die Struktur der XML-Datei wird angezeigt.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 73 / 77
8.6 Übungsaufgaben<br />
8.6.1 Aufgaben<br />
In den folgenden Aufgaben wird aus der Datenbank Handel.mdb eine Client/Server Lösung.<br />
8.6.2 Aufgabe 47: Die Datenbank Handel auf MSDE umstellen<br />
1. Die Datenbank 047Handel.mdb ist geöffnet. Stellen Sie sicher, dass der MS SQLServer<br />
aktiv ist.<br />
2. Verwenden Sie den <strong>Access</strong> Upsizing Assistenten, um eine Client/Server Version der<br />
Datenbank 047Handel.mdb zu erstellen. (8.2.1 Beispiel 119: Upsizing einer vorhandenen<br />
<strong>Access</strong>-Datenbank)<br />
3. Verwenden Sie den Datenbanknamen HandelSQL. (8.2.1 Beispiel 119: Upsizing einer<br />
vorhandenen <strong>Access</strong>-Datenbank)<br />
4. Legen Sie ein neues <strong>Access</strong> Projekt HandelCS an. (8.2.1 Beispiel 119: Upsizing einer<br />
vorhandenen <strong>Access</strong>-Datenbank)<br />
5. Untersuchen Sie im vom Assistenten angezeigten Bericht, ob Fehler vorliegen.<br />
6. Überprüfen Sie abschließend, welche Dateien im Verzeichnis C:\Programme\Microsoft SQL<br />
Server\MSSQL\Data angelegt wurden. Sie sollten eine *.mdf und ein *.ldf Datei finden.<br />
8.6.3 Aufgabe 48: Ein Datenbank-Diagramm anlegen<br />
1. Legen Sie zu Ihrer neuen MSDE-Datenbank HandelCS.adp eine grafische Darstellung des<br />
Datenbankschemas an. (8.2.4 Beispiel 122: Ein Datenbankdiagramm erstellen)<br />
2. Verwenden Sie den Designer und fügen Sie sämtliche Tabellen hinzu.<br />
3. Ordnen Sie die Tabellen in geeigneter Weise an und vergleichen Sie Ihr Ergebnis mit der<br />
Abbildung.<br />
4. Speichern Sie das Diagramm unter dem Namen Standard und schließen Sie es.<br />
Abb 500<br />
8.6.4 Aufgabe 49: Eine benutzerdefinierte Funktion erstellen<br />
1. <strong>Das</strong> Datenbankprojekt Handel.adp ist geöffnet.<br />
2. Die Funktion soll Artikel aus einer bestimmten Warengruppe sortiert darstellen.<br />
3. Legen Sie eine neue Funktion mit dem Designer an. (8.2.3 Beispiel 121: Die Objekte der<br />
MSDE erforschen)<br />
4. Wählen Sie Felder und Eigenschaften so aus, dass das Ergebnis der Funktion der Abbildung<br />
entspricht. Es sollen nur Werkzeuge angezeigt werden.<br />
5. Testen Sie die Funktion und speichern Sie diese unter dem Namen WerkzeugeSortiert ab.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 74 / 77
Abb 501<br />
8.6.5 Aufgabe 50: Eine gespeicherte Prozedur erstellen<br />
1. Die gespeicherte Prozedur, die jetzt erstellt werden soll, nimmt als Parameter einen<br />
Ortsnamen entgegen und zeigt dann Kundeninformationen dazu an. (8.3.3 Beispiel 125:<br />
Eine SQL-Server-gespeicherte Prozedur erstellen)<br />
2. Erstellen Sie die gespeicherte Prozedur mit Hilfe des Designers.<br />
3. Legen Sie eine Abfrage an, deren Feldauswahl der Abbildung entspricht.<br />
Abb 502<br />
4. Wechseln Sie in die SQL-Ansicht und fügen Sie der Prozedur einen Parameter hinzu: @Ort<br />
varchar(100). (8.3.3 Beispiel 125: Eine SQL-Server-gespeicherte Prozedur erstellen)<br />
5. Der Parameter @Ort soll in der WHERE-Klausel verwendet werden. Setzen Sie den<br />
Abfrageoperator LIKE ein, um das Feld Ort mit dem Parameter zu vergleichen.<br />
6. Testen Sie die Abfrage. Beim Starten erscheint ein Dialogfeld, in welches Sie den<br />
Vergleichswert für den Ort eingeben können. Verwenden Sie Berlin.<br />
Abb 503<br />
7. <strong>Das</strong> Ergebnis entspricht dann genau der Abbildung.<br />
Abb 504<br />
8. Speichern Sie die Prozedur unter dem Namen KundenInOrt.<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 75 / 77
Anhang A Übersicht über die Beispieldatenbank<br />
Die Abfragen, die Sie mit der Structured Query Language entwickeln werden, basieren auf der<br />
Datenbank Handel, deren Datenbankschema Sie hier abgebildet finden. <strong>Das</strong> Datenbankschema kann<br />
Ihnen eine gute Hilfe sein, wenn es darum geht, die folgenden Aufgaben zu lösen. Im Großen und<br />
Ganzen sollte das Verständnis der Tabellenstruktur Sie vor keine größeren Probleme stellen.<br />
Sicherheitshalber möchten wir dennoch kurz den Aufbau der Datenbank erläutern, damit Sie einen<br />
leichten Zugang finden.<br />
Bei der Datenbank Handel.mdb haben wir es mit einer einfachen Einkauf-/Verkauf-Lösung zu tun.<br />
Es geht um eine Artikelverwaltung und den Nachweis der Lieferanten der Artikel. Dies ist die<br />
Einkaufsseite der Datenbank. Sie beinhaltet die Tabellen Lieferanten und Artikel. Auf der<br />
Verkaufsseite werden Kunden- und Bestellinformationen verwaltet. Zu diesem Bereich gehören die<br />
Tabellen Kunden, Bestellungen und Bestellpositionen.<br />
Die Relationen zwischen den Tabellen können Sie der Abbildung entnehmen.<br />
Abb 505 Die Beziehungen in der Datenbank Handel<br />
Die Datenbank Handel und alle Datenbanken, die Sie für die Übungsaufgaben benötigen, finden Sie<br />
im Ordner Übungsdateien/Handel. Der Bezeichnung Handel.mdb ist die fortlaufende Nummer des<br />
jeweiligen Beispiels vorangestellt. So ist z. B. die Datenbank 002Handel.mdb die Übungsdatei für<br />
die Übungsaufgabe 2.<br />
Anhang B Informationen zu <strong>Access</strong> im Internet<br />
Sehr geehrte Leserin, sehr geehrter Leser,<br />
anbei finden Sie eine nützliche Aufstellung von Links zu weiterführenden Themen rund um<br />
Microsoft <strong>Access</strong>. Aufgrund der vielfältigen Fragen und Anforderungen, auf die das Buch nicht in<br />
allem Details eingehen kann, werden Sie sicher in diesen Foren alles Notwendige finden.<br />
<strong>Access</strong>-Paradies - Beispiele, Tools und Lösungen: http://www.access-paradies.de<br />
MS-Office-Wissen - FAQ, Tipps, Beispiele,<br />
Downloads, Links<br />
http://www.ms-office-wissen.de<br />
MS-Office-Forum - Forum für Microsoft Office,<br />
Visual Basic, SQL und Windows<br />
http://www.ms-office-forum.de<br />
<strong>Access</strong>-Home - Tipps, Beispiele, Tools<br />
http://www.access-home.de<br />
<strong>Access</strong> Datenbank Reparatur - Hilfe bei defekten<br />
Datenbanken<br />
http://www.arc24.de<br />
<strong>Access</strong> Datenrettung - Hilfe bei defekten<br />
Datenbanken<br />
http://www.access-rettung.de<br />
<strong>Access</strong>-FAQ von Karl Donaubauer<br />
http://www.donkarl.com<br />
The <strong>Access</strong> Web - Englische FAQ<br />
http://www.mvps.org/access/<br />
Office Update<br />
http://office.microsoft.com/de-de/officeupdate/<br />
Office Home – Tools, Infos, Hilfe, Produktupdates http://office.microsoft.com/de-de/default.aspx<br />
Office Downloadcenter<br />
http://office.microsoft.com/dede/officeupdate/default.aspx<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 76 / 77
<strong>Access</strong>-Paradies - Beispiele, Tools und Lösungen: http://www.access-paradies.de<br />
Microsoft Support<br />
http://support.microsoft.com/?ln=de<br />
Knowledge Base<br />
http://support.microsoft.com/search/<br />
Tabelle 16 Nützliche Links im Internet (Stand: 06.09.05)<br />
Anhang C Schema der Beispieldatenbank Stadtlupe<br />
Abb 506<br />
Grundlagen Microsoft <strong>Access</strong> <strong>2003</strong> - <strong>Professional</strong> P.Mölders 11-2008 Seite: 77 / 77