[[20220112231959]] 『DAO接続していたVBAがEXCEL2019以降で動作しない』(CRAYON) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『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 >


この掲示板では、マルチポストは禁止されていませんが、
掲示板の多くは、マルチポストを禁止しています。
h ttps://www.239-programing.com/cgi-bin/excelvba_bbs.cgi?id=503
理由は、掲示板に回答している人が、全ての掲示板を見ているわけではないからです。
これは、投稿者がたくさんの方々にたいして、無料で仕事してください。
とお願いしているようなものです。

>?@どうしてもDAO接続のVBAはOffice2019以降では実行できないのでしょうか?
Office2019がダメなのではなく、64ビット版がダメなのです。
エラーの内容や、グーグル検索でヒットしますよ。
h ttps://www.sk-access.com/mailmaga/vol357.html

全部一気に解決したいのなら、有料でやってくれる人は
たくさんいらっしゃると思いますので、有料でやってくれる方を探すのも、
手段の一つかと思います。

(ヘンリー) 2022/01/13(木) 09:38


ご連絡ありがとうございました。マルチポストという意味もわからなかったのですが、失礼な問い掛けをしたのならば大変申訳ございませんでした。
64ビット版のことは自分でもしらべて知っていました。それでも対処できなかったのでご質問させていただいたのですが、ご指摘のとおり有料で委託するように考えます。

大変失礼いたしました。
(CRAYON) 2022/01/13(木) 11:51


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.