HOME       LIST

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

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

今望んでいることが本当に価値があるのか?(金、家、余裕、知り合い、頭脳。。。) - 2017/03/18(DOJEUN)

I don't know what to say.(なんと言ったらいいのかわからない/適当な言葉が見つからない)


検証済み環境

 以下のサンプルコードを検証した環境は、
 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