Columns の Append を利用することによってテーブルにフィールドを追加することができます。
Public Sub FldAppend() Dim myCtg As New ADOX.Catalog Dim tbl As Table myCat.ActiveConnection = CurrentProject.Connection Set tbl = myCat.Tables![顧客テーブル] '対象のテーブルを指定 tbl.Columns.Append "性別", adWChar '性別フィールドをテキスト型で追加 End Sub追加するフィールドのデータ型は以下のように指定します。
データ型 種類 定数 テキスト adWChar 数値型 バイト adUnsignedTinylnt 十進 adNumeric 整数 adSmalllnt 単精度浮動小数点 adSingle 長整数 adInteger 倍精度浮動小数点 adDouble オートナンバー adInteger 通貨型 adCurrency 日付/時刻型 adDate メモ型 adLongVerChar OLEオブジェクト adLongVerBinary ハイパーリンク adLongVerWChar データ型の後に桁数を指定しない場合、フィールドのサイズは 255 になります。
Indexes に Append を利用してインデックスを作成することができます。
Sub CreateIndex() Dim cat As New ADOX.Catalog Dim tbl As ADOX.Table Dim idx As New ADOX.Index cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=D:\Sample\Testdb.mdb;" Set tbl = cat.Tables("tbl_data") 'インデックスを作成 idx.Name = "ID" idx.Columns.Append "ID_Nomber" idx.IndexNulls = adIndexNullsAllow tbl.Indexes.Append idx Set cat = Nothing End Sub
Keys の Append を利用することによってデータベース内のテーブルに主キーを作成することができます。
Public Sub CreateKeys() Dim cat As New ADOX.Catalog Dim KeyNew As New ADOX.Key cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=D:\Sample\Testdb.mdb;" keyNew.Name = "ID" 'フィールド名IDを追加 KeyNew.Type = adKeyPrimary 'フィールドを主キーにする KeyNew.Columns.Append "ID" 'フィールドを主キーにする cat.Tables("tbl_住所録").Keys.Append KeyNew End Sub
Keys の Append を利用することによってデータベース内にリレーションを作成することができます。
Sub CreateKeySet() Dim cat As New ADOX.Catalog Dim mKey As New ADOX.Key cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=D:\Sample\Testdb.mdb;" mKey.Name = "NewKey" mKey.Name = adKeyForeign ’外部キーを設定 mKey.RelatedTable = "tbl_保護者" ’リレーションするテーブルを設定 mKey.Columns.Append "ID" ’結合フィールドを指定 ’保護者IDとIDを結合する mKey.Columns("保護者ID").RelatedColumn = "ID" mKey.Updateule = adRINone cat.Tables("tbl_生徒").Keys.Append mKey End Sub
View の Append を利用することによってデータベース内にビューを作成することができます。
Sub CreateView() Dim cat As New ADOX.Catalog Dim cmdNewView As New ADODB.Command Dim recAddress As New ADODB.Recordset cmdNewView.CommandText = "SELECT 名簿.氏名 FROM 名簿;" cat.ActiveConnection = CurrentProject.Connectin cat.Views.Append "Q_クエリー",cmdNewView End Sub
View の Delete を利用することによってデータベース内のビューを削除することができます。
Public Sub DeleteView() Dim cat As New ADOX.Catalog cat.ActiveConnection = CurrentProject.Connectin cat.Views.Delete "Q_クエリー" End Sub