ExcelでDAOを使いデータベースソフトを作ってみよう
Step 4 オートナンバー型で主キーのフィールドを作成する
顧客管理データベースを作成しようとすると、テーブルにオートナンバー型の主キーフィールドがどうしても必要です。
このフィールドがExcelのVBAで作成可能か試してみます。
・オートナンバー型とは
Accessが自動的に連番を振ってくれます。
レコードが削除されると、その番号は欠番になります。詰められることはありません。
・主キーとは
主キーに設定されると、そのフィールドには他のレコードと重複する値を入力することができません。
一つのレコードに唯一の番号が割り当てられます。
従いまして、その番号は必ずそのレコードを指す事になります。
このオートナンバー型で主キーのフィールドはAccessのテーブルでは非常によく使います。
Homeへ >
Excelでアプリケーションソフト2 >
DAOデータベースソフト
シート画面
ExcelのMDBファイル作成画面
「顧客管理データベースの新規作成」ボタンをクリックすると作成を開始します。
作成されたテーブル
「顧客ID」がオートナンバー型で主キーに設定されています。
シートのVBAコード
Option Explicit
Private Sub CommandButton1_Click()
Dim db As Database
Dim tbdef As TableDef
Dim fld As Field
Dim idx As DAO.Index
' データベースを作成します
Set db = DBEngine.Workspaces(0).CreateDatabase("C:\顧客管理.mdb", dbLangJapanese)
'テーブルを作成します
Set tbdef = db.CreateTableDef("顧客マスター")
'フィールドを作成します。
Set fld = tbdef.CreateField("顧客ID", dbLong)
'オートナンバー型にします。
fld.Attributes = dbAutoIncrField
tbdef.Fields.Append fld
Set fld = tbdef.CreateField("名前", dbText, 20)
tbdef.Fields.Append fld
'主キーの作成
Set idx = tbdef.CreateIndex("PrimaryKey")
Set fld = idx.CreateField("顧客ID", dbLong)
idx.Fields.Append fld
'Primaryプロパティをセット
idx.Primary = True
'インデックスを追加
tbdef.Indexes.Append idx
db.TableDefs.Append tbdef
'データベースを閉じます
db.Close
'終了処理を行います
Set fld = Nothing
Set tbdef = Nothing
Set db = Nothing
End Sub
Homeへ >
Excelでアプリケーションソフト2 >
DAOデータベースソフト
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved