VBAでAccessデータベースに大量のダミーデータを追加する方法

こんにちは!大阪市を拠点に活動している『縁紡ぐ』の稲垣です。
SWELLを使ったホームページ制作や、Excel、ACCESS、RPAなどのシステム開発を行っています。
また、Excel、Word、Outlookの研修や、情報セキュリティ研修も行っています。身近なITの相談相手になりたいと思っています。
お気軽にお問い合わせください。
目次
VBAでAccessデータベースに大量のダミーデータを追加する方法
ExcelやACCESSでシステムを作成する時に必要になるのが、ダミーデータですね。速度に問題がないかを調べるときには、数万行から数万行といったレコードを必要とする場合があります。
この大量のダミーデータを作成するコードをご紹介します。
テーブルの情報
今回の追加するテーブル情報です。

ACCESSでACCESSのダミーレコードを大量に追加する方法

以下が、VBAを使ったダミーデータ追加のコードです。
Sub AddMultipleRecords()
Dim db As DAO.Database
Dim i As Long
' 現在のデータベースを設定
Set db = CurrentDb
' 複数のレコードを追加
For i = 1 To 100
Dim sql As String
sql = "INSERT INTO 生徒マスタ (生徒番号, 生徒名) VALUES (" & (1000 + i) & ", '生徒" & i & "');"
' SQL文の実行
Debug.Print sql ' SQL文をイミディエイトウィンドウで確認
On Error GoTo ErrorHandler
db.Execute sql, dbFailOnError
Next i
' 後処理
Set db = Nothing
MsgBox "レコードの追加が完了しました。"
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました: " & Err.Description
Set db = Nothing
End Sub
ExcelからACCESSのダミーレコードを大量に追加する方法

次は、ExcelからACCESSへ大量のダミーレコードを追加する場合です。
Sub AddMultipleRecordsToAccessADO()
Dim conn As Object
Dim sql As String
Dim i As Long
Dim accessDbPath As String
' Accessデータベースのパスを指定
accessDbPath = "C:\path\to\your\database.accdb" ' データベースのパスを指定してください
' ADO接続の初期化
Set conn = CreateObject("ADODB.Connection")
' 接続文字列の設定
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & accessDbPath & ";"
' 接続を開く
On Error GoTo ErrorHandler
conn.Open
' 複数のレコードを追加
For i = 1 To 100 ' 追加するレコード数を指定
sql = "INSERT INTO 生徒マスタ (生徒番号, 生徒名) VALUES (" & (1000 + i) & ", '生徒" & i & "');"
' SQL文の実行
Debug.Print sql ' SQL文をイミディエイトウィンドウで確認
conn.Execute sql
Next i
' 後処理
conn.Close
Set conn = Nothing
MsgBox "レコードの追加が完了しました。"
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました: " & Err.Description
If Not conn Is Nothing Then conn.Close
Set conn = Nothing
End Sub
実行結果

まとめ
ACCESSでは、INSERT文で複数レコードを一気にVALUEで指定して作成する方法はないようです。他のテーブルから取得して複数レコードをINSERTすることは可能でのようです。仕方ないですが、ちょっと不便差を感じます💦
記事を書いた人

稲垣
- Excel、ACCESSでのシステム開発が得意
- ITスキルを共有し実践的に学びながら成長する人を見るのが幸せ
- 自家焙煎するほどのコーヒー好き
- 使用言語 VBA、Python、Javascript、Java、HTML、CSS etc.
- 保有資格 Kintoneアソシエイト、日商簿記検定2級、マンション管理士、管理業務主任者、情報セキュリティマネジメント、ExcelVBA etc.
- 業務フロー図の作成や業務時間分析を通して、効率化ポイントを探る人
- お客様にとって本当に良いことかを第一に考える人
コメント