Einführung
Ich setzte bei diesem Workshop voraus, dass du Access besitzt, die Version
ist im Grunde genommen egal. Access ist in Microsofts Office enthalten
(Office 2003 Professional gibt es für 593,99€ bei Amazon).
Wenn du kein Access besitzt, kannst du die Beispiel leider nicht nachmachen.
Aber ohne Beispiele macht mein Workshop wenig Sinn, denn mit Beispielen
lernt man besser!
Was ist Access?
Bei Access handelt es sich um ein DBMS (Database Management System) das mit der Beschreibungssprache SQL (Structured Query Language) arbeitet. Mit Hilfe des DBMS können
Daten komfortabel in einer Datenbank gespeichert und verwaltet werden.
Mit Hilfe von Abfragen die mit SQL erzeugt werden, können die Datenbestände
gefiltert und sortiert werden.
Access-Grundlagen
Zuerst ein paar Grundlagen. Eine Datenbank besteht aus mindestens
einer Tabelle (Relation), die Datensätze (Tupels) enthält.
Die Datensätze wiederum bestehen aus Feldern, die die
einzelnen Daten enthalten.
Also: Eine Datenbank kann mehrere Tabellen enthalten, die
verschiedene Teilbereiche des "Datenbank-Themas" enthalten.
Also wenn die Datenbank zum Beispiel zum Autoverleih erstellt werden
soll, dann können die Fahrzeug-Daten in einer anderen Tabelle gespeichert werden, als die Ausleihdaten.
An dieser Stelle gleich ein Hinweis: Es ist besser viele Tabellen mit wenigen Feldern zu erstellen, als eine Tabelle mit sehr
vielen Feldern! Denn viele Felder haben den Nachteil, dass
die Tabelle sehr groß wird, und die Ausführung demnach
recht lange dauert. Also die Felder auf mehrere Tabellen verteilen! Wenn die Daten in dem Kontext benötigt werden, kann man das
Feld in die Tabelle einbinden, so dass das Feld in der Tabelle zu sehen,
aber in Wirklichkeit nur die Daten des Feldes aus der anderen Tabelle
angezeigt werden.
Warum man eine Datenbank braucht?
Mancher wird sich nun fragen wozu er eigentlich eine Datenbank braucht.
Schließlich kann er dies mit Excel oder noch mit Karteikarten genauso
gut und er braucht nichts dazu zu lernen. Das stimmt nicht!
Nicht ohne Grund haben Datenbanken im heutigen Berufsleben einen so großen
Stellenwert eingenommen. Keine große Unternehmung arbeitet heutzutage
noch mit Karteikarten oder erledigt die Datenverwaltung mit Excel. Schließlich
gibt es sehr große Unternehmen (z.B. Oracle) die den größen
Teil ihrer Einnahmen aus der Entwicklung von Datenbanksystemen erhält.
Was für Unternehmen gut ist, dass ist auch für den Privatuser
nicht schlecht. Doch gute Gründe habe ich bis jetzt noch nicht genannt!
Im Gegensatz zu Excel oder dem Karteikastensystem kann man in einer Datenbank
schnell und komfortabel suchen. Mit SQL kann man in sekunden-schnelle
tausende von Datensätzen durchsuchen (das musst du erst mal mit Karteikarten
schaffen!!!). Auch lassen sich Einträge einfacher und schneller ändern
als es in Excel oder auf Karteikarten möglich ist. Wenn sich der
Nachname eines Mitarbeiters geändert hat, so ändert man diesen
in Access genau einmal. Die restlichen Stellen werden in sekunden-schnelle
mitabgeändert, da nur ein Verweis darauf besteht. Dadurch, dass man
viele Daten nur einmal eingeben muss und diese durch Verweise an anderen
Stellen einfügen lassen kann, spart man Speicherplatz. Dies hört
sich bei 10 Kunden und 100 Aufträgen noch wenig an, doch wenn deine
Datenbank erst einmal Milliarden von Aufträgen und tausende von Kunden
umfasst, kann diese Tatsache die Anschaffung einer neuen teuren Festplatte
ersparen. Für den Privatuser eher nebensächlich ist die Fähigkeit
zum sogenannten Multiuserbetrieb, bei dem mehrere Mitarbeiter gleichzeitig
auf die Datenbank zugreifen können und die Daten in Echtzeit für
die anderen Benutzer sichtbar sind. Dies ist mit Excel und schon gar nicht
mit Karteikarten möglich. Außerdem lässt sich eine Datenbank
in andere Programme integrieren. So kann man schnell Serienbriefe erstellen;
die Adressen und die Auftragsdaten kommen aus einer Datenbank. Man kann
die (für den unerfahrenen Benutzer) komplizierte Datenbankstruktur
vor dem Benutzer verstecken, der sich nicht damit befassen muss. Mit Excel
oder sonderbar beschrifteten Karteikarten ist dies unmöglich.
Access-Datenbank
erstellen
Also jetzt, da du die gröbsten Grundlagen zur Datenbank kennst
und von den Vorteilen der Datenbanken überzeugt bist, werden wir
an die Arbeit gehen, eine Datenbank zu erstellen.
Rufe dazu Access auf, ein Auswahl-Bildschirm erscheint. Da wir das Erstellen
von Grund auf lernen wollen, wählen wir "leere Datenbank"
aus, es bestünde nämlich auch noch die Möglichkeit, sich
die Datenbank vom Assistenten erstellen zu lassen. Doch diese Auswahl
eignet sich nicht für jemanden der lernen will mit Access umzugehen.
Also markiere "leere Datenbank", indem du auf
den Optionsknopf ()
daneben klickst. Bestätige dann mit "OK",
nun will Access wissen, wo die Datenbank gespeichert werden soll. Es wird
nämlich erst gespeichert und dann nur noch die veränderten Daten gespeichert.
Wähle den gewünschten Pfad aus und gebe der Datenbank den Namen
"Computer" und bestätige mit "Erstellen"
um den Erstellungs-Vorgang einzuleiten. Nach einer kurzen Erstellungszeit
ist die Datenbank fertiggestellt.
Tabellen
zu Access-Datenbank hinzufügen
Die Datenbank enthält jedoch noch keine Tabellen, sodass
die Datenbank noch nicht funktionstüchtig ist. Diesen Umstand wollen
wir jetzt ändern, stelle sicher das der Registerreiter Tabellen ausgewählt ist, die anderen Registerreiter werde ich in Kürze
auch noch erklären. Klicke dann auf "Neu",
das Fenster "Neue Tabelle" erscheint und gibt
die mehrere Punkte zur Auswahl, wähle den Punkt "Entwurfsansicht",
wie schon bei der Erstellung der Datenbank, werden wir den grundständigen
Weg wählen und die Tabelle von Grund auf erstellen. Klicke dann auf
"OK", damit Access die Tabelle für dich erstellt.
Nun ist die Tabelle erstellt, sie enthält jedoch noch keine Felder,
sodass noch keine Daten in die Datenbank eingetragen werden können.
Deshalb werden wir nun neue Felder hinzufügen. Der Cursor steht schon
an der richtigen Stelle im Feldnamen (Attribut). Das erste Feld soll "Gerät/Hersteller"
heißen, also gib unter Feldname "Gerät/Hersteller"
ein. Drücke dann die [Tab]-Taste um in das Feld Felddatentyp (Wertebereich
/ Domäne) zu gelangen, die Standardeinstellung ist Text,
das heißt die Daten die in das Feld kommen sind Text (Schrift +
Zahlen). Behalte die Einstellung bei. Erstelle ein weiteres Feld mit dem
Feldnamen "Prozessor" auch hier ist der Felddatentyp
"Text". Das nächste Feld heißt "RAM",
Felddatentyp ebenfalls "Text", dann "Festplatte"
und "Text" und "Grafikkarte"
und "Text". Zu guter Letzt das Feld mit dem Feldnamen
"Preis" aber diesmal den Felddatentyp "Währung".
Zum Ändern des Felddatentyps klicke auf den Pfeil neben dem Kombinationsfeld.
Klicke nun auf den Schließen-Button am oberen rechten Fensterrand.
Access fragt ob du die Tabelle speichern willst, klicke auf "Ja",
nun will Access wissen wie die Tabelle heißen soll, gib den Namen
(Entität) "Computer" ein. Und bestätige mit
"OK". Nun wird gefragt ob ein Primärschlüssel
angelegt werden soll. Ein Primärschlüssel ist ein Feld, das den Datensatz
eindeutig identifiziert, das den Datensatz einmalig macht. Für unsere
Zwecke wird eigentlich keiner benötigt, deshalb klicke auf "Nein".
Daten
in Tabellen eintragen
Nun haben wir eine Tabelle mit 6 Feldern, doch die Tabelle
enthält noch keine Daten, diese müssen wir jetzt noch eingeben.
Um Daten in die Tabelle einzufügen, markiere die Tabelle und klicke
auf "Öffnen". Dann erscheint die Tabelle
in die du dann die Daten eingeben kannst. Ich habe dies mal mit meinem
PC gemacht:
Für das nächste Thema benötigen wir ein
paar Datensätze, damit man sehen kann, dass was passiert ist, trage
deshalb zusätzlich zu meinem Rechner auch noch deinen und deinen
Traum-PC ein!
Die
anderen Registerreiter
Ich habe oben erwähnt, dass es noch andere Registerreiter
gibt. Ich werde sie jetzt hier beschreiben. Der zweite, also der nach
Tabellen kommende Registerreiter, ist "Abfragen". Mit
Abfragen werden wir uns als nächstes beschäftigen. Der nächste
Registerreiter "Formulare" bietet dem Benutzer eine schönere
Benutzeroberfläche um seine Daten einzugeben. Mit dem Registerreiter
"Berichte" kann man sich alle Datensätze, oder aus
einer Abfrage abfallende Datensätze in einer Übersicht ausdrucken
lassen. Diese Übersicht ist nicht nur eine einfache Aufzählung,
es ist auch möglich, diese mit Grafiken ansprechend zu gestalten.
Mit dem Registerreiter "Makros" kann man Access dazu
anweisen beim Start der Datenbank etwas zu tun. So kann man Access anweisen
beim Start ein Formular zur Dateneingabe aufzurufen. Der Registerreiter
"Module" ist zur Programmierung von Zusatzmodulen verwendbar.
Abfragen
Nun zu Abfragen: Eine Abfrage ist eine abgespeicherte Schablone,
die aus einer oder mehreren Bedingungen besteht. Nach dieser Schablone
wird nach der Ausführung eine virtuelle Tabelle erzeugt, die genau
den Bedingungen entspricht und die Daten aus den anderen Tabelle bezieht,
die man bei der Abfrage mit einbezieht. Auf diese Weise kann zum Beispiel
bei uns der günstigste Computer herausgesucht werden, oder alle mit
Pentium-III-Prozessor.
Aber Abfragen können nicht nur das; mit Hilfe von Abfragen können
auch automatische Berechnungen durchgeführt werden. So kann an Hand
den Daten der Datenbank automatisch für einen Auftrag aus der Angebotsmenge
und dem Preis der Gesamtpreis berechnet werden. Dies geschieht mit sogenannten
berechneten Feldern. Dies macht man in dem man statt des Feldnamens z.B.
folgendes eingibt: "Nettopreis: [Menge]*[VKPreis]",
in Worten heißt das das Feld Nettopreis soll in die Abfrage mit
aufgenommen werden und errechnet sich aus den Feldern Menge und VKPreis
die man multipliziert um das gewünschte Ergebnis zu erhalten.
Doch die bis jetzt erwähnten Abfragemöglichkeiten umfassen immer
noch nicht den wirklichen Funktionsumfang von Abfragen in Access. Ich
habe bis zum jetzigen Zeitpunkt lediglich Auswahlabfragen genannt. Es
gibt außerdem noch sogenannte Aktionsabfragen. Wie der Name schon
vermuten lässt, wird eine Aktion ausgeführt, die Tabelle verändert.
So ist es auch. Mit Hilfe von Aktualisierungsabfragen können veraltete
Datenbestände aktualisiert werden. So können die Preise für
ein Produkt automatisch um 10% gesenkt werden, dabei durchsucht die Abfrage
die Tabelle nach Datensätzen auf die die Bedingungen zutreffen und
führt dann z.B. eine Berechnung von einer Preissenkung um 10% durch.
Mit der Löschabfrage können z.B. alte Kunden aus den Datenbeständen
getilgt werden. Mit Anfügeabfragen können Datensätze einer
Tabelle an eine andere (oder in die Tabelle einer anderen Datenbank) angehängt
werden. Wenn man also z.B. die Kunden nach Vertriebsgebieten in verschiedenen
Tabellen gespeichert hat, so kann man sie von der einen Tabelle in die
neue umziehen lassen, wenn der Kunde in das andere Vertriebsgebiet gezogen
ist. Mit Tabellenerstellungsabfragen kann man schließlich neue Tabellen
erzeugen.
Abfragen erstellen
Damit das Sortieren aber erst Sinn macht, bzw. Wirkung zeigt, müssen
mehrere Datensätze vorhanden sein, deshalb habe ich dich vorhin aufgefordert
noch ein bis zwei Computer zu deiner Tabelle hinzuzufügen.
Wechsle also nun zum Registerreiter "Abfragen"
um eine neue Abfrage zu erstellen. Klicke wie bei der Erstellung von Tabellen
auf "Neu" um eine neue Abfrage zu erstellen. Wähle
auch hier die "Entwurfsansicht", und bestätige
mit "OK". Access will jetzt wissen, welche Tabellen
bei der Abfrage hinzugezogen werden sollen (es können natürlich
auch mehrere sein). Weil es bei uns nur eine Tabelle gibt, braucht man
nicht zu ändern und muss nur auf "Hinzufügen"
klicken. Die Tabelle wird dann miteinbezogen. Klicke dann auf "Schließen"
um das kleine Auswahlfenster zu schließen.
Die
erste Abfrage (Datensätze nach Preis sortieren)
Unsere erste Abfrage soll die Computer nach dem Preis ordnen. Markiere
durch anklicken den Menüpunkt "Gerät/Hersteller"
und verschiebe ihn bei gedrückter Taste in das freie Feld unten,
beim Verschieben wird ein rechteckiges Symbol angezeigt.
Dies werden wir jetzt auch bei allen anderen Feldern machen, aus dem kleinen
Fenster in die leeren Felder unten verschieben.
So um den kleinsten Preis feststellen zu können brauchen wir die
Funktion "Min". Also klicken sie auf das Funktionen-Symbol
()
in der Symbolleiste, um die Funktionen zu aktivieren. Die Felder unten
verändern sich (siehe Bild) und eine neue Zeile ist hinzu gekommen.
Wähle das Feld in dem sich "Preis" befindet
aus und klicke dort in die Zeile in der die Funktionen stehen, neben dem
Feld erscheint ein kleiner Pfeil, klicke darauf um das Kombinationslistenfeld
für die Funktionen zu öffnen. Wähle dann den Menüpunkt
"Min".
Nun kannst du die Abfrage starten, klicke dafür auf das Ausrufezeichen
().
Die Abfrage sortiert dir nun die Datensätze nach dem Preis. Wenn
du mehr als drei preislich verschiedene Datensätze eingegeben hast
ist die Sortierung sehr gut zu sehen.
Schließe dann das Fenster mit dem Schließen-Button am oberen
rechten Fensterrand und speichere die Datei unter dem Namen "Preis".
Die
zweite Abfrage (alle PCs mit Pentium III anzeigen)
Es können unendliche viele Abfragen entwickelt werden,
mit etwas herumprobieren kannst du die verschiedensten Dinge aus der Datenbank
entnehmen. So kannst du dir zum Beispiel alle PC mit Pentium-III-Prozessor
anzeigen lassen:
Das erste Feld soll "Prozessor" sein, das zweite
Feld ist Sternchen (*) (Sternchen steht in der Datenbank
für alle Felder). Mache dann den Hacken bei dem Feld Prozessor heraus,
da das Feld ansonsten doppelt angezeigt wird. Schreibe dann unter Kriterien
"Pentium III*", d.h. in dem Feld Prozessor muss
die Zeichenfolge "Pentium III" stehen, das Sternchen gibt an,
dass danach noch etwas kommen darf, bei uns die MHz-Zahl.
Parameterabfrage
Ein Problem bei den bisherigen Abfragen ist, dass wenn sich die Bedingung
ändert, man entweder eine neue Abfrage erstellen muss oder mühsam
in der bestehenden Abfrage die Bedingung abändern muss. Beides ist
nicht akzeptabel, wenn ein unerfahrener Benutzer alleine mit den Abfragen
arbeiten soll. Wenn sich die Bedingung nur geringfügig ändert,
also z.B. statt nach "Müller" nach "Mayer" gesucht
werden soll, gibt es dafür eine sehr gute und schnelle Lösung.
Die Parameterabfrage. Hier ändert der Benutzer einfach die Bedingung,
in dem er sie selbst eingibt, denn nun erscheint ein Fenster in das er
den Namen eingeben soll; und dass kann jeder.
Wir nehmen das Beispiel "zweite Abfrage" zum Ausgangspunkt,
es soll dem Benutzer überlassen bleiben ob er nicht lieber nach Pentium
4 und Athlon-Prozessoren suchen will. Dazu muss man die Abfrage nur sehr
geringfügig ändern.
Löschen sie das Kriterium "Pentium III*" beim Prozessor
und schreiben sie folgendes rein: "[Bitte Prozessortyp
eingeben:]&*"
Bei der Ausführung der Abfrage erscheint nun eine Eingabeaufforderung
in der der Text "Bitte Prozessortyp eingeben:" erscheint. Das
"&*" soll das gleiche bewirken wie "Pentium III*"
bewirken sollte: alle Taktfrequenzen des Pentium III sollen angezeigt
werden. Bei der Parameterabfrage muss man nur noch ein "&"
vor das "*" setzen.
Formulare
Bis jetzt haben wir die Datensätze immer in der sogenannten Datenblattansicht
gesehen. In dieser wirkt das ganze sehr kompliziert und gedrängt,
außerdem fehlt dem ganzen die persönliche Note. Mit Formularen
können die Datensätze viel ansprechender angezeigt werden. Mit
Formularen kann man der Datenbank ohne Programmiertechnischen Aufwand
eine ansprechende Benutzeroberfläche geben, die die komplizierten
Hintergründe von Access vor dem unerfahrenen Benutzer verstecken
kann.
Formulare
erstellen
Der Registerreiter nach "Abfragen" ist Formular.
Klicke in dem Registerreiter, wie immer, auf "Neu"
um ein neues Formular zu erstellen. Zuallererst klicke auf den kleinen
Pfeil neben dem noch leeren Kombinationsfeld und wähle den Menüpunkt
"Computer" aus. Nun wähle dann den Menüpunkt
"Formularassistent" aus dem großen Listenfeld.
Mit "OK" wird der Assistent gestartet. Im nächsten
Fenster klicke auf den ">>"-Button um alle
Menüpunkte in das "Ausgewählte Felder"-Fenster
zu verschieben. Im nächsten Fenster kannst du dir aussuchen wie die
Eingabe-Felder angeordnet sein sollen. Wähle dort "Tabellarisch"
und klicke auf "Weiter >". Im nächsten
Fenster wird nach dem gewünschten Stil gefragt, wähle "Standard"
aus und klicke auf "Weiter >". Im letzten Fenster
kannst du deinem Formular noch einen Titel geben, nenne es "Eingabe-Formular"
und klicke auf "Fertigstellen". Das Formular wird
erstellt und dir danach angezeigt. Wenn du noch etwas an dem Formular
verändern willst, wechsle mit dem Button "Entwurfsansicht"
(),
der sich in der unteren Symbolleiste befindet, in die Entwurfsansicht
des Formulars. Dort können alle Elemente des Formulars verändert
werden.
Berichte
Berichte dienen der Ausgabe der Datenbank auf einem Drucker. Nicht immer
ist es sinnvoll die Daten nur auf einem Computer greifbar zu haben. Manchmal
braucht man von Teilen des Datenbestandes für Kunden einen Ausdruck.
Ein gutes Beispiel wäre die Auftragsbestätigung. In dieser wird
der in der Datenbank verbuchte Geschäftsprozess noch einmal übersichtlich
für den Kunden ausgedruckt.
Man kann die ganze Tabelle ausdrucken, beispielsweise, wenn man auf Reisen
eine Telefonliste aller Mitarbeiter braucht oder mit Hilfe einer vorangestellten
Abfrage nur einen kleinen Datenbestand, beispielsweise der Auftrag von
Herrn Müller. Dort können auch berechnete Felder mit ausgedruckt
werden, die ich bereits bei den Abfragen erwähnt habe.
Berichte
erstellen
Der Registerreiter Bericht, erzeugt. Wie bei
allen vorhergehenden Aktionen klicke auf "Neu"
wähle dann wie bei der Formularerstellung in dem Kombinationslistenfeld
den Menüpunkt "Computer" aus. Wähle
dann den Menüpunkt "Berichtsassistent" aus
dem großen Listenfeld aus und klicke auf "OK".
Im nächsten Fenster verschiebst du, wie schon bei dem Formularassistenten,
mit dem ">>"-Button alle Felder in die "Ausgewählten
Felder". Klicke dann auf "Weiter >",
in dem nächsten Dialog muss nichts verändert werden, so dass
du mit "Weiter >" zum nächsten Schritt
gehen kannst. Auch der folgende Dialog ist für uns belanglos und
kann deshalb mit "Weiter >" geschlossen werden,
hier könnte man die Datensätze alphabetisch ordnen lassen. Stelle
beim nächsten Dialog sicher, das das Optionsfeld bei der Layout-Option
"Tabellarisch" aktiviert ist und gehe mit "Weiter >" weiter. Im nächsten Fenster kannst du noch einen
Stil für den Bericht wählen. Ich denke mal der Stil "Geschäftlich"
ist recht schön, so dass wir in auswählen sollten. Also wähle
den Punkt "Geschäftlich" aus dem Listenfeld
aus und klicke dann auf "Weiter >" um zum nächsten
Dialog zu gelangen. Beim letzten Dialog gib unter dem Berichts-Titel "Computer"
ein und klicke auf "Fertigstellen" um die Erstellung
abzuschließen. Anschließend wird dir der Bericht gezeigt,
wenn du noch etwas daran ändern willst, wechsle mit Hilfe des "Entwurfsansichts"-Buttons
()
in die Entwurfsansicht. Dort kannst du alle Elemente des Formulars verändern.
Weitere
Abfragen
Ich habe noch ein paar andere Abfragen gemacht, die du dir
downloaden kannst. Ich finde man sollte sich die Abfragen mal ansehen,
vor allem, weil sie nur 8,5 KB haben (Das sollte nur etwa 10 sec mit einem
56k Modem dauern).
|