Accessをはじめデータベース(DB)を作成していると作成したDBが正しいか検証を行う必要があります。
しかし、DBを検証するのにある程度のデータが既に用意されていれば問題ないのですが、まったくない状態だとデータを作成するのは非常に大変です。
日経ソフトウェア2006年01月号に「テスト用の名前データを自動生成する」という記事がありました。この記事ではPHPを使用して氏名のデータを作成するプログラムが掲載されているのですが、これをAccessで作れないかと思い、いざ作ってみたところVBAも使用しないで簡単に作ることができました。
Accessを起動して3つのテーブルを用意します。
フィールド名 | データ型 | |
---|---|---|
fldFirstNameChar | テキスト型 | インデックスを「はい(重複なし)」に設定 |
フィールド名 | データ型 | |
---|---|---|
fldLastNameChar1 | テキスト型 | インデックスを「はい(重複なし)」に設定 |
フィールド名 | データ型 | |
---|---|---|
fldLastNameChar2 | テキスト型 | インデックスを「はい(重複なし)」に設定 |
各テーブルには下記のようなデータを入力します。
- tblFirstNameテーブルには苗字の1文字を登録します
- fldLastNameChar1テーブルには名前の1文字目を登録します
- tblLastName2テーブルには名前の2文字目以降を登録します
fldFirstNameChar |
---|
浦 |
吉 |
橋 |
原 |
口 |
fldFirstNameChar |
---|
恵 |
孝 |
幸 |
浩 |
純 |
fldFirstNameChar |
---|
一 |
一郎 |
義 |
子 |
実 |
次にクエリで下記のSQL文を作成し、クエリ名:sqlFullNameで保存します。
SELECT
[tblFirstName1].[fldFirstNameChar] &
[tblFirstName2].[fldFirstNameChar] &
[fldLastNameChar1] &
[fldLastNameChar2] AS FullName
FROM
tblFirstName AS tblFirstName1,
tblFirstName AS tblFirstName2,
tblLastName1, tblLastName2
WHERE
(tblFirstName1.fldFirstNameChar)<>[tblFirstName2].[fldFirstNameChar];
以上で、保存したクエリ:sqlFullNameを表示すると苗字を2文字つなげて、名前を組み合わせた氏名が表示されます。
多少、苗字が変なところもありますがテスト用データとしては使用できるのではないでしょうか?
「住所もほしいな」という方は郵政省の住所録をダウンロードした方が早いと思います。:razz: