初心者のためのExcelマクロ超入門(絶対できるVBA開発)

マクロがまったくわからない人のためにエクセルマクロやVBAについてできるだけわかりやすく書いています。Twitter:@shuhhohhey

中級者のためのExcel エクセルマクロVBA:Accessデータベースとつなぐその3

Accessを使ってみる


さて、前回までで、大体表(テーブル)の整理が終わりました。今回はこれを元に実際にテーブルをAccessで作ってみましょう。
Excelマクロのお話でAccessの話をするのも何ですが、これもマクロのためです。というか、これができると本格的な「業務システム」ができるようになりますので、みなさん頑張りましょう。

テーブルを定義してみる


では、前回作ったいくつかの表を本格的に、テーブルとして定義します。

利用者テーブル(User)
id 主キー
user_name 名前
post_num 郵便番号
address 住所
商品テーブル(Product)
id 主キー
product_name 商品名
price 価格
注文テーブル(Order)
id 注文番号(主キー)
order_date 注文日時
user_id 注文者ID
amount 合計金額
注文詳細テーブル(OrderDetail)
id 主キー
order_id 注文番号
product_id 商品ID
num 数量


とこんな感じですね。これをAccessに作っていけば良いのです。ではAccessを開きましょう。最初の画面の左にある「テーブル1」を右クリックして「デザインビュー」を開きます。

f:id:drumer2sh:20140901112640p:plain


この時にテーブル名を聞かれるので、「User」としましょう。


f:id:drumer2sh:20140901112654p:plain


f:id:drumer2sh:20140901112703p:plain


すると、右のメイン画面にテーブルの定義ができるようになります。IDは最初から入っています。鍵マークがこのUserテーブルの主キーを表しています。次に名前の列(カラム)を定義します。名前を入力して、データの型を選択します。最初はテキスト型か、数値型の2種類だけでも大丈夫です。文字を入れる列なら、テキスト型、数を入れるなら数値型にします。

するとその下にフィールドプロパティの画面があるのでこの列に入れることができる最大の文字数を決めます。名前なので20文字としています。後、金額や、数値はすべて整数になるのでカラムのプロパティにある小数点以下表示桁数を0にしておいてください。また、ID列に注文番号や、商品IDはアルファベットも入るのでこれはテキスト型に変更しておきます。


f:id:drumer2sh:20140901112710p:plain


この要領で、後は残りのカラムと残り3つのテーブルについても定義します。注文日時は日付/時刻型にしておきましょう。
後はそれぞれデータを入れてしまいます。データを入れる場合は作成したテーブルをダブルクリックするとデータを入れることができるようになります。データはエクセルから貼り付けで入れることができます!これは便利ですね。


f:id:drumer2sh:20140901112720p:plain


これでデータが入りました!これで立派なAccessデータベースの完成です!次回はこのDBとエクセルとをいよいよつないでみたいと思います。ボタンを押して一発検索!なんてやってみたいと思いませんか?


今日はここまで!


かしこ。