Beispieldaten erzeugen

So erzeugen Sie beliebig viele Beispieldaten zum Testen Ihrer Datenbanken

So ziemlich in jeder Datenbank benötigen Sie während der Entwicklung Beispieldaten zum Testen. Damit irgendetwas vorhanden ist, tippen Sie schnell "asdf" für Texte, "4711" für Zahlenfelder und "1.1.2011" für ein Datum. Das wird noch dreimal kopiert und muss dann reichen. Warum so geizig? Testdaten für Access lassen sich mit wenig Aufwand jederzeit in beliebiger Menge erzeugen, wie Lorenz Hölscher hier zeigt.

Bisher noch keine Bewertungen für diesen Artikel.

So ziemlich in jeder Datenbank benötigen Sie während der Entwicklung Beispieldaten zum Testen. Damit irgendetwas vorhanden ist, tippen Sie schnell "asdf" für Texte, "4711" für Zahlenfelder und "1.1.2011" für ein Datum. Das wird noch dreimal kopiert und muss dann reichen. Warum so geizig? Testdaten für Access lassen sich mit wenig Aufwand jederzeit in beliebiger Menge erzeugen, wie Lorenz Hölscher hier zeigt.

Beliebige Daten in eine Tabelle schreiben

Für dieses Beispiel benötigen Sie in einer Access-Datenbank eine Tabelle tblMengen mit den Feldern wie im folgenden Bild:

65314_massen01-png

Die Test-Tabelle bietet für jeden Datentyp ein Feld

Die Beispiel-Tabelle mit den in diesem Beitrag erwähnten Makros steht zum Download bereit: Download Test-Datenbank (.mdb, 172 kB).

Dazu schreiben Sie eine Prozedur ErzeugeDaten() in einem Standard-Modul, welche in die Tabelle eine beliebige Menge Daten hineinschreibt. Sie können mittels Zufallsfunktion und einer Schleife viele Datensätze erzeugen:

Option Compare Database
Option Explicit

Const m_clngAnzZeilen = 10
Const m_clngMinZahl = 0
Const m_clngMaxZahl = 100
Const m_cdatMinDatum = #1/1/1960#
Const m_cdatMaxDatum = #1/1/2011#

Sub ErzeugeDaten()
    Dim rcsMenge As Recordset
    Dim dblDatum As Double
    Dim dblZahl As Double
    Dim lngZaehler As Long

    Randomize Now()     'Zufallsgenerator initialisieren
    Set rcsMenge = CurrentDb.OpenRecordset("tblMengen", dbOpenDynaset)

    For lngZaehler = 1 To m_clngAnzZeilen
        dblDatum = ((m_cdatMaxDatum - m_cdatMinDatum) * Rnd) + m_cdatMinDatum
        dblZahl = ((m_clngMaxZahl - m_clngMinZahl) * Rnd) + m_clngMinZahl

        rcsMenge.AddNew
        rcsMenge.Fields("MDatum").Value = dblDatum
        rcsMenge.Fields("MZahl").Value = dblZahl
        'oder ganzzahlig bzw. ohne Uhrzeit
        'rcsMenge.Fields("MDatum").Value = CLng(dblDatum)
        ' rcsMenge.Fields("MZahl").Value = CLng(dblZahl)
        rcsMenge.Update
    Next
End Sub

Wollen Sie weiterlesen?

Als zahlendes Mitglied von akademie.de haben Sie vollen Zugriff auf alle Inhalte und können alle PDF-Dateien, Checklisten, Mustervorlagen und Anwendungen herunterladen und verwenden.

Wollen Sie mehr über die Mitgliedschaft erfahren?

Wenn Sie schon Mitglied sind, loggen Sie sich bitte ein.