Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Auch wenn Software-Entwicklung mit Access normalerweise eine rundum beglückende glücklich machende Beschäftigung ist, so gibt es doch Tätigkeiten, die man nur lustlos ausführt. Der Autor dieser Zeilen etwa ist immer etwas ungehalten, wenn er Beispieldaten in eine oder mehrere Tabellen eingeben muss. Ist das nicht die langweiligste Arbeit überhaupt Im krassen Gegensatz dazu steht die Aufgabe, einen Assistenten zu programmieren, der einem diese lästige Arbeit abnimmt! Einfach die Zieltabelle auswählen, für jedes Feld die Art der Testdaten auswählen und loslegen – lesen Sie hier, wie das funktioniert!
Herr Fritz Mustermann, Teststraße 1, 12345 Beispielhausen, Deutschland. Telefon 0123/456789, Telefax 0123/987654. Frau Martha Müller … halt! So geht es nicht weiter. Selbst wenn der Kopf vom Programmieren raucht – Testdaten eingeben ist keine willkommene Abwechslung.
Stattdessen führen wir doch lieber die folgenden Schritte durch:
- Klicken Sie auf den Menüeintrag Extras|Add-Ins|Beispieldaten-Assistent (Access 2003 und älter) oder den Ribbon-Eintrag Datenbanktools|Add-Ins|Beispieldaten-Assistent (Access 2007 und jünger).
- Es erscheint der Beispieldaten-Assistent (s. Bild 1). Wählen Sie hier die Tabelle aus, die Sie mit Beispieldaten bestücken möchten. Die Liste im unteren Bereich des Beispieldaten-Assistenten zeigt nun alle Felder dieser Tabelle an.
- Geben Sie die Anzahl der Datensätze ein, die der Beispieldaten-Assistent für Sie anlegen soll.
- Betrachten Sie die Liste der Felder der zu füllenden Tabelle. Alle Felder enthalten in der Spalte Füllen einen Haken. Wenn Sie ein Feld nicht mit Beispieldaten füllen möchten, entfernen Sie einfach den entsprechenden Haken.
- In der dritten Spalte finden Sie in einigen Zeilen den Eintrag <Auswählen>, in anderen wurden bereits automatisch andere Einträge ausgewählt – zum Beispiel Vorname oder Nachname. Hier stellen Sie die Art der Daten ein, mit der Sie das entsprechende Feld füllen wollen – dazu später mehr.
- Für manche Datenarten zeigt der Assistent oberhalb der Liste Informationen für Parameter 1, Parameter 2 und Parameter 3 an. Hierbei handelt es sich um zusätzliche Parameter, mit denen Sie etwa für das Anlegen von Datumsangaben den Bereich der Daten eingrenzen (beispielsweise 1.1.2010 bis 30.6.2010).
- Wenn Sie alle Informationen angegeben haben, brauchen Sie nur noch auf die Schaltfläche Beispieldaten schreiben zu klicken – schon legt der Beispieldaten-Assistent 100, 1.000 oder noch mehr Beispieldatensätze an. Je nach Konfiguration der zu erstellenden Daten kann dies einige Sekunden dauern – aber besser einen Kaffee trinken gehen, als selbst Beispieldaten einzugeben!
Bild 1: Der Beispieldaten-Assistent im Einsatz
Beispieldaten-Arten
Wie bereits angedeutet, gibt es verschiedene Arten von Beispieldaten. Nachfolgend stellen wir diese vor und erläutern die Parameter, die Sie zum Anlegen dieser Daten festlegen müssen.
- Vorname: Vornamen werden per Zufall aus einer Tabelle gefüllt.
- Nachname: Gleiches gilt für Nachnamen: Auch sie werden zufällig aus einer Tabelle ausgewählt.
- AnredeID: Wenn die Zieltabelle ein Feld namens AnredeID enthält, das auf einer Tabelle namens tblAnreden oder ähnlich basiert, die zwei Felder etwa namens AnredeID und Anrede enthält, können Sie diesen Datentyp verwenden. Er trägt automatisch die AnredeID der Tabelle tblAnreden in das Zielfeld ein, das dem Geschlecht des Vornamens des Datensatzes entspricht. Die drei Parameter erwarten die Angabe der Tabelle, aus der die Anreden entnommen werden, den Namen des Primärschlüsselfeldes dieser Tabelle sowie den Namen des Feldes, das die Anreden selbst enthält.
- Firma: Die Firma besteht aus einem Eintrag der Nachnamen-Sammlung plus einem zufälligen Wert wie GmbH, AG et cetera.
- Straße: Die Straße wird zufällig einer Straßen-Tabelle entnommen.
- Hausnummer: Die Hausnummern werden zur Laufzeit per Zufallsgenerator erzeugt. Mit Parameter 1 legen Sie den kleinsten Wert, mit Parameter 2 den höchsten Wert für die Hausnummer fest. Das Tool legt den Bereich standardmäßig auf 1 – 100 fest.
- Straße mit Hausnummer: Fügt die Informationen wie in Straße und Hausnummer gleichzeitig in ein Feld ein. Auch hier können Sie den Zahlenbereich für die Hausnummer festlegen.
- PLZ: Die PLZ wird gemeinsam mit dem Ort aus einer Tabelle einiger realer Kombinationen aus PLZ, Ort, Bundesland, Land und Vorwahl zufällig ausgewählt.
- Ort: siehe PLZ
- PLZ und Ort: Fügt PLZ und Ort gleichzeitig in ein Feld ein.
- Land: siehe PLZ
- Bundesland: siehe PLZ
- Telefon: Besteht aus Vorwahl und Rufnummer. Die Vorwahl wird ebenfalls aus der Tabelle mit PLZ, Ort und so weiter ermittelt. Die Rufnummer wird per Zufallsgenerator festgelegt. Parameter 1 und Parameter 2 geben die minimale und die maximale Anzahl Stellen der Telefonnummer an, die Standardwerte sind 6 und 8.
- E-Mail: Die E-Mail wird aus dem Vornamen und dem Nachnamen nach dem Schema <Vorname>@<Nachname>.de zusammengesetzt.
- Anrede: Wenn es kein Lookup-Feld für die Anrede gibt, sondern nur ein normales Textfeld, trägt diese Datenart je nach dem für den Datensatz ermittelten Vornamen die Anrede Herr oder Frau ein.
- Geschlecht: Auch das Geschlecht wird entsprechend dem gewählten Vornamen eingestellt.
- Internet: Die Internetadresse wird nach dem Schema www.<Nachname>.de zusammengestellt.
- Zahlen: Zahlen werden nach dem Zufallsprinzip ausgewählt. Parameter 1 gibt dabei die untere Grenze der Zahl an, Parameter 2 die obere Grenze und Parameter 3 die Anzahl der Stellen hinter dem Komma.
- Datum: Auch das Datum wird per Zufallsgenerator ermittelt. Parameter 1 gibt die Untergrenze, Parameter 2 die Obergrenze des Datumsbereichs an.
- Fremdschlüsselfeld/Nachschlagefeld: Dieser Datentyp ist besonders interessant: Sie können damit Daten aus einer beliebigen Lookup-Tabelle auswählen lassen. Der erste Parameter nimmt dabei den Namen der Lookup-Tabelle auf, der zweite den Namen des Primärschlüsselfeldes dieser Tabelle. Für diesen Datentyp wird je Datensatz ein zufälliger Eintrag der Lookup-Tabelle ausgewählt.
- Ja/Nein: Dieser Datentyp wählt einen der Werte -1 oder 0 aus. Mit dem ersten Parameter geben Sie einen Wert zwischen 1 und 100 für die Wahrscheinlichkeit für den Wert -1 an.
- Nummerierte Texte: Für manche Felder ist es schwierig, sinnvolle Zufallswerte zu ermitteln – zum Beispiel Projektnamen. In diesem Fall sollten Sie mit Werten wie Projekt 1, Projekt 2 et cetera vorlieb nehmen. Für diesen Fall verwenden Sie den Datentyp Nummerierte Texte: Sie geben für den ersten Parameter eine beliebige Zeichenkette an, die an irgendeiner Stelle den Ausdruck [] enthält. Für den zweiten Parameter geben Sie die Startzahl an. Ein Ausdruck wie Projekt [] führt bei der Startzahl 12 zu den Beispielwerten Projekt 12, Projekt 13 und so weiter.
Beispiel zum Anlegen von Beispieldaten
Schauen wir uns an, wie der Beispieldaten-Assistent bei einer einfachen Adressentabelle arbeitet. Nachdem Sie die Datenbankdatei mit der zu füllenden Tabelle geöffnet und den Beispieldaten-Assistenten gestartet haben, wählen Sie mit dem Kombinationsfeld im oberen Bereich zunächst die Zieltabelle aus, in diesem Fall tblAdressen. Dann tragen Sie die Anzahl der gewünschten Datensätze ein, zum Beispiel 100. Schließlich geht es an die Festlegung der Art der einzufügenden Daten.
Hier nimmt Ihnen der Beispieldaten-Assistent eine Menge Arbeit ab: Er scannt nämlich die Feldnamen und vergleicht die Werte mit einer beliebig erweiterbaren Mapping-Tabelle, die gleich den richtigen Datentyp für das Hinzufügen der Beispieldaten auswählt.
Für unsere Tabelle tblAdressen bleibt somit nur noch wenig zu tun (s. Bild 2): Alle Felder wurden gleich mit den richtigen Datentypen versehen. Außerdem hat der Assistent für die Felder, für die Standardwerte vorzugeben sind, passende Werte eingetragen. Dies betrifft beispielsweise das Feld AnredeID. Hier hat der Assistent erkannt, dass womöglich eine Tabelle hinter dem Kombinationsfeld zur Auswahl der Anrede steckt, und gleich die richtigen Parameter voreingestellt: Parameter1 erhält mit tblAnreden die Tabelle, aus der die Anreden stammen, Parameter2 den Namen des Primärschlüsselfeldes dieser Tabelle und Parameter3 das Feld, das schließlich die verwendeten Anreden enthält. Ein weiteres Beispiel ist das Feld Straße, in dem die Felder Parameter1 und Parameter2 mit 1 und 100 den Bereich der Hausnummern enthalten. Auch bei den Feldern Telefon und Telefax wurden automatisch die Parameter für den Datentyp Telefon eingetragen, nämlich die Anzahl der Stellen der Telefonnummer hinter der Vorwahl.
Bild 2: Die Datenarten werden je nach Feldname gleich automatisch hinzugefügt.
Ein Klick auf die Schaltfläche Beispieldateien schreiben startet den eigentlichen Vorgang, wobei die Anzahl der geschriebenen Datensätze neben der Schaltfläche angezeigt wird. Das Ergebnis beeindruckt: Schnell landen 100 sehr realistisch wirkende Beispieldatensätze in der Tabelle tblAdressen (s. Bild 3).
Bild 3: Die Adressen-Tabelle mit frisch angelegten Beispieldaten
Beispieldaten mit Lookup-Tabellen
Wenn Sie schnell Daten in mehreren Tabellen anlegen möchten, erledigen Sie dies hintereinander. Nehmen wir an, Sie möchten die Tabellen des Datenmodells aus Bild 4 mit Daten füllen. Dann brauchen Sie zunächst eine Reihenfolge, die sich zum größten Teil danach richtet, wie die Tabellen miteinander verknüpft sind. Wir müssen natürlich erst die Tabellen mit Daten füllen, auf die von anderen Tabellen aus per Fremdschlüsselfeld verwiesen wird. Der einfachste Fall ist die Tabelle tblAnreden: Sie wird von zwei Tabellen referenziert und verweist auf keine andere Tabelle. Sie ist aber auch kein Fall für den Beispieldaten-Assistenten, denn die beiden Datensätze mit den Werten Herr und Frau für das Feld Anrede füllen wir schnell von Hand.
Bild 4: Die Tabellen dieses Datenmodells sollen mit dem Beispieldaten-Assistenten gefüllt werden.
Alle übrigen Tabellen verweisen auf mindestens eine andere Tabelle. Die beiden Tabellen tblKunden und tblMitarbeiter besitzen jedoch nur Fremdschlüsselfelder zur Tabelle tblAnreden, die ja schon gefüllt ist. Also können wir diese zuerst mit Beispieldaten befüllen. Danach kommt die Tabelle tblProjekte dran, die wiederum auf tblKunden verweist – und diese Tabelle wird ja gleich zu Beginn gefüllt. Die letzte zu füllende Tabelle ist die Tabelle tblMitarbeiterProjekte, die festlegt, welcher Mitarbeiter in welchem Projektteam sitzt.
Beginnen wir also mit der Kundentabelle. Die Parameter für diese Tabelle zeigt Bild 5. Für das Feld Kunde verwenden wir den Datentyp Firma, der praktisch identisch ist. Später erfahren Sie, wie Sie das Mapping von Feldnamen erweitern können, sodass etwa ein Eintrag wie Kunde direkt auf den Datentyp Firma gemappt wird. Die meisten der übrigen Felder werden automatisch erkannt. Sie müssen lediglich noch das Feld KundeSeit und Aktiv einstellen. Ersteres soll mit Datumsangaben gefüllt werden, wobei der Eintritt frühestens am 1. Januar 2003 und spätestens am 30. Juni 2010 erfolgt sein soll. Das Feld Aktiv soll mit Ja/Nein-Werten gefüllt werden, wobei 60% der Datensätze den Wert Ja annehmen sollen.
Bild 5: Einstellungen zum Füllen einer Kundentabelle
Die Tabelle tblMitarbeiter birgt ebenfalls keine Überraschungen, was die zu füllenden Felder betrifft (s. Bild 7).
Bild 6: Mitarbeiter werden auch benötigt – 20 sollten jedoch ausreichen.
Bild 7: Die Tabelle tblProjekte benötigt einen durchnummerierten Text und Verweise auf eine andere Tabelle.
Wie Bild 8 zeigt, sind unsere Bemühungen durchaus von Erfolg gekrönt: Die Tabelle tblProjekte enthält die erwarteten Texte und ist wie gewünscht mit den Datensätzen der Tabelle tblKunden verknüpft.
Bild 8: Eine per Beispieldaten-Assistent gefüllte Projekttabelle
Fehlt nur noch die Tabelle tblMitarbeiterProjekte, mit der wir die Mitarbeiter den einzelnen Projekten zuteilen und so Projektteams bilden. Die Tabelle enthält lediglich zwei Fremdschlüsselfelder, was aber nicht weiter schlimm ist: Der Beispieldaten-Assistent erkennt selbstständig, dass die beiden Felder MitarbeiterID und ProjektID Fremdschlüsselfelder sind, und liest die entsprechenden Parameter aus. So sollen die Werte für das Feld MitarbeiterID aus der Tabelle tblMitarbeiter mit dem Primärschlüsselfeld MitarbeiterID und die Werte für das Feld ProjektID aus der Tabelle tblProjekte mit dem Primärschlüsselfeld ProjektID entnommen werden. Auch dies gelingt, wie Bild 9 zeigt, problemlos.
Bild 9: Auch das Füllen von Verknüpfungstabellen ist problemlos möglich.
Der Assistent enthält sogar Funktionalität, die dafür sorgt, dass Fehler beim Anlegen von Datensätzen, welche die Integrität verletzen, abgefangen werden. Die Tabelle tblMitarbeiterProjekte enthält beispielsweise einen eindeutigen, zusammengesetzten Index für die beiden Felder MitarbeiterID und ProjektID. Dies führt beim Versuch, einen Mitarbeiter zweimal zum gleichen Projekt hinzuzufügen, normalerweise zu einem Fehler.
Der Beispieldaten-Assistent sieht darüber hinweg und legt einfach einen weiteren Datensatz an – solange, bis er ausreichend passende Kombinationen gefunden hat. Das Ergebnis können Sie in Bild 10 betrachten.
Bild 10: Die Tabelle tblMitarbeiterProjekte mit frischen Daten
Mapping bearbeiten
Das Hauptformular des Beispieldaten-Assistenten besitzt eine Schaltfläche mit der Beschriftung Mapping bearbeiten, mit der Sie den Dialog aus Bild 11 öffnen können.
Bild 11: In diesem Dialog können Sie festlegen, welche Datenarten die Beispieldaten für Felder mit bestimmten Namen aufweisen sollen.
Dieser Dialog bietet eine Liste aller vordefinierten Mappings. Ein Mapping bewirkt Folgendes: Wenn Sie im Beispieldaten-Assistenten die zu füllende Tabelle auswählen, analysiert der Assistent zunächst die Feldnamen aller in der Tabelle enthaltenen Felder. Wenn er auf ein Feld namens Vorname stößt, legt er als Datenart für das Hinzufügen von Beispieldaten automatisch den Typ Vorname fest. Gleiches gilt für alle im Dialog Datenart-Mapping angezeigten Feldnamen: Alle besitzen eine Datenart, die automatisch beim Auswählen einer neuen Tabelle für Felder mit entsprechender Bezeichnung festgelegt wird.
Der Autor hat die Mappings so festgelegt, dass die meisten der in seinen Tabellen vorkommenden Feldnamen automatisch erkannt und auf eine der Datenarten gemappt werden können. Möglicherweise verwenden Sie für das eine oder andere Feld standardmäßig eine andere Bezeichnung, was aber kein Problem ist: Sie können die Zuweisung der Datenarten problemlos anpassen, indem Sie entweder zusätzliche Mappings anlegen oder bestehende anpassen.
Eine Ausnahme macht der Beispieldaten-Assistent übrigens für Fremdschlüsselfelder: Diese werden immer mit der Datenart Fremdschlüsselfeld/Lookuptabelle verknüpft, außerdem stellt der Beispieldaten-Assistent automatisch die ersten beiden Parameter auf die verknüpfte Tabelle und den Namen ihres Primärschlüsselfeldes ein.
Wie funktioniert der Beispieldaten-Assistent
Der Beispieldaten-Assistent ist als Menü-Add-In ausgelegt, das heißt, dass Sie ihn über den Menüpunkt Extras|Add-Ins|Add-In-Manager (Access 2003 und älter) beziehungsweise den Ribbon-Eintrag Datenbanktools|Add-Ins|Add-In-Manager (Access 2007 und jünger) installieren müssen. Dort erscheint der Dialog Add-In-Manager, mit dem Sie die Datei Beispieldaten-Assistent.mda aus dem Verzeichnis auswählen, in dem Sie diese gespeichert haben, und diesen so installieren (s. Bild 12).
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo