ADO Openメソッド adCmdTableDirect の利用注意点

記事
IT・テクノロジー
おはようございます。こんにちは。こんばんわ。
改善が大好きな、齋藤正夫です。

ブログをご覧いただき、ありがとうございます。
今回は、ADO の RecordsetオブジェクトのOpenメソッドの最後の引数のOptionで指定するCommandTypeEnum定数の一つである「adCmdTableDirect」のご利用の注意点です。

テーブルに設定した主キーやインデックスを指定して検索ができるのが特徴で、高速に検索が可能ですが、Accessで使用するには、注意が必要です。

兎に角、利用できるには色々制限があります。
・Indexプロパティが利用できない場合が多い。
・ループ内で使用すると「これ以上テーブルを開くことはできません」とエラーが発生する。

というように、VBAで使用するには、かなり限定的な用途しか使えない。

つまり、「adCmdTableDirect」のご利用は、控えた方が正解です。

では、代わりに何を使うの?
「adCmdTable」を使ってください。これは、保存済のクエリも利用できますし、エラーの発生も少ないです。
Seekメソッドの代わりに、Findメソッドで十分に機能は果たせます。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す