HOME       LIST

【VBA】 MDBにインデックスを追加するサンプルコード

VBAを利用してMDBファイルにインデックスを追加するサンプルコード

険しい丘に登るためには、最初にゆっくり歩くことが必要である。(William Shakespeare)

My mind's made up.(もう決めたんだ/決心は固い)


検証済み環境

 以下のサンプルコードを検証した環境は、
 Windows7 Pro 64bit
 Microsoft Excel 2010

説明

 Microsoft AccessがないパソコンでDB情報、テーブル情報が分かっている場合は、
 以下のサンプルコードを利用してインデックスを追加することができる。

サンプルコード

'# ADOXを使うため参照設定
'# Microsoft ADO Ext. 6.0 for DDL and Security
'# (C:\Program Files (x86)\Common Files\System\ado\msadox.dll)

Function fnc01()
Dim wkCat As New ADOX.Catalog
Dim wkDBName As String
Dim wkPath As String
Dim wkTBL As New ADOX.Table
Dim wkIDX As ADOX.Index

wkDBName = "SAMPLE.MDB"
wkPath = ThisWorkbook.Path & "\" & wkDBName
wkCat.ActiveConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source = " & wkPath & ";" & _
"Jet OLEDB:Database Password=MDBのパスワード"

Set wkTBL = wkCat.Tables!テーブル名
Set wkIDX = New ADOX.Index
With wkIDX
.Name = "IDX_columnename1"
.Columns.Append "columnename1"
.IndexNulls = adIndexNullsDisallow
.Unique = False
End With
wkTBL.Indexes.Append wkIDX
Set wkIDX = Nothing

Set wkIDX = New ADOX.Index
With wkIDX
.Name = "IDX_columnname2"
.Columns.Append "columnname2"
.IndexNulls = adIndexNullsDisallow
.Unique = False
End With
wkTBL.Indexes.Append wkIDX
Set wkIDX = Nothing


Set wkTBL = Nothing
Set wkCat = Nothing
End Function

以前コンテンツ:【VBA】 曜日取得
次のコンテンツ:【JAVA】Compileエラー、この文字は、エンコーディングms932にマップできません



Copyright(c) 2007-2019 dojeun.com All Rights Reserved.

Valid XHTML 1.0 Transitional