[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『DAO接続していたVBAがEXCEL2019以降で動作しない』(CRAYON)
はじめまして・・・初心者ですがよろしくお願いします
EXCEL VABでACCESSのデータベースにDAO接続していたプログラムがOffice2019以降では”実行時エラー 2147221164(80040154) クラスが登録されていません”
とエラーメッセージが表示され実行されません。
自分なりにかなり調べてみたのですが、うまく対処できませんでした。これを機会にADO接続に変更することも検討しているのですがそのことで質問がいくつかあります。
?@どうしてもDAO接続のVBAはOffice2019以降では実行できないのでしょうか?
?AADO接続にVBAに変更した場合、DAOとADO接続の違いもあまりよくわかっていないのですが、データベースのレコードをKEY参照する場合DAOではキーフィールを指定してダイレクトに参照しいる感じですが
RS_JM_IO.Index = "JM_KEY1": Comparison = "="
RS_JM_IO.Seek Comparison, 1
ADO接続の場合、指定したレコードを参照する場合はFind句を多分使用するのだと思うのですが、Find句はデータベースのインデックス部を参照しているのでしょうか?データの先頭から順次該当するデータを探しにいっている感じがするのでが?だとしたら、DAO接続の方が読込の速度は速いのでしょうか?
また、順次先頭から検索しているのであれば、キー番号が100のレコードを呼び出した後、次に20番のレコードは、位置を先頭まで戻しておかないといけないのでしょうか?
?BFind句で指定したレコードが存在しなかった場合はの処置はどうすればいいのでしょうか?このレコード位置は最後までいっているのでしょうか?
If RS_JM_IO.NoMatch = False Then 〜 (DAOの場合)
?C基本的にはデータベースを共有することはありません。その場合レコードセットには
CursorType:=adOpenKeyset, LockType:=adLockPessimistic
を指定しておけばいいのでしょうか?レコードを読込だけで使用する場合と変更や削除する場合でこの部分も変えた方がいいのでしょうか?
たくさん書いてしまいましたが、まずは?@DAOが動作するば問題ないのですが・・・それと、ADO接続のFind句がインデックス参照でなくて順次参照なら変更する意味もないように思いますし、代わりに出来ることってあれば教えてくださいませ。
わかりにく記述のすみません
< 使用 Excel:unknown、使用 OS:unknown >
>?@どうしてもDAO接続のVBAはOffice2019以降では実行できないのでしょうか?
Office2019がダメなのではなく、64ビット版がダメなのです。
エラーの内容や、グーグル検索でヒットしますよ。
h ttps://www.sk-access.com/mailmaga/vol357.html
全部一気に解決したいのなら、有料でやってくれる人は
たくさんいらっしゃると思いますので、有料でやってくれる方を探すのも、
手段の一つかと思います。
(ヘンリー) 2022/01/13(木) 09:38
大変失礼いたしました。
(CRAYON) 2022/01/13(木) 11:51
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.