ブログ
サポート
ログイン
会員登録
ログイン
会員登録
カテゴリから探す
目的から探す
出品者を探す
ブログを探す
仕事・求人を投稿して募集
仕事を探す
単発の仕事
継続(業務委託)の仕事
NEW
仕事を探す
単発の仕事
継続(業務委託)の仕事
NEW
サービス出品
ブログを投稿
サービス出品
仕事・求人を投稿して募集
ココナラブログ
ADO Openメソッド adCmdTableDirect の利用注意点
記事
IT・テクノロジー
齋藤 正夫
2021/10/31 12:11
おはようございます。こんにちは。こんばんわ。
改善が大好きな、齋藤正夫です。
ブログをご覧いただき、ありがとうございます。
今回は、ADO の RecordsetオブジェクトのOpenメソッドの最後の引数のOptionで指定するCommandTypeEnum定数の一つである「adCmdTableDirect」のご利用の注意点です。
テーブルに設定した主キーやインデックスを指定して検索ができるのが特徴で、高速に検索が可能ですが、Accessで使用するには、注意が必要です。
兎に角、利用できるには色々制限があります。
・Indexプロパティが利用できない場合が多い。
・ループ内で使用すると「これ以上テーブルを開くことはできません」とエラーが発生する。
というように、VBAで使用するには、かなり限定的な用途しか使えない。
つまり、「adCmdTableDirect」のご利用は、控えた方が正解です。
では、代わりに何を使うの?
「adCmdTable」を使ってください。これは、保存済のクエリも利用できますし、エラーの発生も少ないです。
Seekメソッドの代わりに、Findメソッドで十分に機能は果たせます。
#ACCESS
#Ado
#adCmdTableDirect
#Recordset
齋藤 正夫
Access業務アプリの作成とアドバイス / 40代後半 / 男性
一覧に戻る