[Access] ADOXテンプレート

Accessでテーブルの一覧を取得したり、新しいクエリを作ったりするにはADOX(ActiveX Data Objects Extensions for Data Definition Language and Security)が必要です。

ADOXなら、新しいデータベースを作成する事も可能になります。

ADOXの参照設定

ADOXを使う前に、参照設定でライブラリを追加しときます。

ADOX参照設定VisualBasicEditorのツール(T) - 参照設定(R)を開いて、「Microsoft ADO Ext 2.5 DLL And Security」を探し出して、チェックしてください。タブン、真ん中あたりにあります。2.5とかの数字は、Officeのバージョンで違ってますので気にしない。

サンプルソースコード

Accessのテーブル一覧(システムが使ってるのは除いて)を表示するサンプルです。

実行結果(イミディエイトウィンドウ)

| | コメント (0) | トラックバック (0)

[Access] ADOテンプレート(SQL実行)

AccessのVBAで、ADOを使ってSQLを実行する方法です。

テーブルの全データを削除する時とか、SQLでDELETE文作ってする方が、全然早く消せます。

サンプルソースコード

「T_作業テーブル」というテーブルの全てのレコードを削除するサンプルです。

| | コメント (0) | トラックバック (0)

[Access] ADOテンプレート

Accessでテーブルやクエリを直接扱う時は、ADO(ActiveX Data Object)を使う事になってます。昔はDAOだったんですが、Access 2000くらい?からADOが標準になったようです。

カーソルタイプ

テーブルやクエリを開く(Openメソッドの実行)時に、カーソルタイプとロック方法の指定があります。

カーソルタイプですが、

adOpenForwardOnly (前方専用)
adOpenStatic (静的)
adOpenKeyset (キーセット)
adOpenDynamic (動的)

の4つ。下に行くほど遅くなるはずです。スタンドアロン(パソコン1台だけで使う時)なら、下の2つ(キーセットと動的)はあんま意味ないんで、普通は adOpenStatic で。最初から順番に1回だけテーブルとかを読んでいくだけなら、adOpenForwardOnly。でも、adOpenForwardOnly の場合、.RecordCount でレコードの数が取れません。

ロックタイプは、adLockOptimistic にしとけばいいと思います。更新しないなら、adLockReadOnly。

サンプルソースコード

ADO関数の使い方テンプレート。

| | コメント (0) | トラックバック (0)