ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

インデックス、プロパティの設定(ADOX)

      2017/10/23

インデックスを作成する

index オブジェクト

【書式】

<CreateObject 関数を使用する場合>
Dim idx As Object
Set idx = CreateObject(“ADOX.Index”)

<参照設定を行う場合>
Dim idx As ADOX.Index
Set idx = New ADOX.Index


参照設定を行うライブラリファイルについて


Microsoft ADO Ext.6.0 for DDL and Security を選択します。ただし、Office 等のバージョンにより、ADOX のバージョンも異なります。参照設定の方法については、ファイルシステムオブジェクト(FileSystemObject)の使い方 を参照してください。

CreatObject 関数 を使用する場合は、参照設定の必要はありませんが、VBE で、自動メンバ表示等のコーディング支援機能が使用できません。また、マクロの実行速度も遅くなります。



Name プロパティ

【書式】

object.Name


引数・戻り値

  • object  ・・・  対象となる Index オブジェクトを指定します。

インデックス名を表す文字列型(String)の値を取得および設定します。



Columns コレクション

【書式】

object.Columns

<Append メソッド>
object.Columns.Append Column


引数・戻り値

  • object  ・・・  対象となる Index オブジェクトを指定します。
  • Column  ・・・  インデックスを設定するフィールド(列)名を指定します。


PrimaryKey プロパティ

【書式】

object.PrimaryKey = boolean


引数・戻り値

  • object  ・・・  対象となる Index オブジェクトを指定します。
  • boolean  ・・・  ブール型(boolean)の値を取得および設定します。True を指定すると主キーを設定し、自動的に、Unique プロパティの値が True に、IndexNulls プロパティの値が adIndexNullsDisallow に設定されます。


Unique プロパティ

【書式】

object.Unique = boolean


引数・戻り値

  • object  ・・・  対象となる Index オブジェクトを指定します。
  • boolean  ・・・  ブール型(boolean)の値を取得および設定します。True を指定すると重複した値を設定できなくなります。


インデックスを削除する

Indexes.Delete メソッド

【書式】

object.Indexes.Delete index_name


引数・戻り値

  • object  ・・・  対象となる Table オブジェクトを指定します。
  • index_name  ・・・  削除するインデックス名を指定します。


フィールド(列)のプロパティ

Properties コレクション

【書式】

tbl_object.column_object.Properties [.Item] (“item“).Value = boolean


引数・戻り値

  • tbl_object  ・・・  対象となる Table オブジェクトを指定します。
  • column_object  ・・・  対象となる Column オブジェクトを指定します。
  • item,boolean  ・・・  
    item に設定する値 boolean 内容
    AutoIncrement True データ型をオートナンバー型に設定
    Nullable True 値要求(値を必ず入力する)
    False 値要求(入力しなくてもよい)
    Jet OLEDB:Allow Zero Length True 空文字の入力可
    False 空文字の入力不可

値要求「はい」「いいえ」の設定
上記の以外に以下の方法で設定が可能です。
tbl_object.column_obj.Attributes = adColFixed … 値要求「はい」
tbl_object.column_obj.Attributes = adColNullable … 値要求「いいえ」

テーブル作成時に、設定します。すでに作成済みのテーブルのフィールド(列)の属性を変更することは出来ません。



ADOX を使用してインデックスを作成する例


サンプルVBAソース その1


実行前

ADOX インデックスを作成する1


実行後

ADOX インデックスを作成する2


サンプルVBAソース その2





ADOX を使用してインデックスを削除する例


サンプルVBAソース


実行前

ADOX インデックスを作成する2


実行後

ADOX インデックスの削除



ADOX Properties 使用例


サンプルVBAソース


実行結果

ADOX テーブル・インデックスの作成



 - データベース , , , , , , , , , , , , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

ADOX クエリを作成
クエリの作成・削除(ADOX)

ADOX を使用してクエリを作成・削除 クエリを作成する手順 【書式】 <参照設 …

データベース(SQLServer)接続
データベース(SQL Server)に接続する(ADO)

データベース(SQL Server)に接続 ODBC または OLE DB で接 …

ora ファイル
データベース(Oracle)に接続する(OLE DB を使用)

OLE DB プロバイダ OLE DBには、Oracle 提供の Oracle …

Sort プロパティ(ADO)
レコードを並べ替える(ADO)Sort プロパティ

データベースのレコードを並べ替える Sort プロパティ 【書式】 object …

Excelに接続する(ADO)
Excelファイルに接続(ADO)

ADOでExcelファイルに接続 ADO を使用してExcelファイルを読み込み …

Command.Execute Insert Into 文
SQL文を実行する(ADO)Execute メソッド

Command オブジェクトの Execute メソッドで、SQL文を実行 Co …

CSVフィアルに接続(ADO)
CSVファイルに接続(ADO)

ADOでCSVファイルに接続 ADO を使用してCSVファイルを読み込みます。C …

ADOX テーブル名・クエリ名を取得
テーブル名、クエリ名の取得(ADOX)

テーブル名の取得 Table.Type プロパティ 【書式】 <取得> obje …

データベース(MySQL)接続
データベース(MySQL)に接続する(ADO)

MySQL ODBCドライバ Windowsには標準で、いくつかの ODBC ド …

RecordCount プロパティ(ADO)
Recordset オブジェクト内のレコード数(ADO)RecordCount プロパティ

RecordCount プロパティ Recordset オブジェクトのレコード数 …