お世話になります
当方 Office365 32bit 日本語版
使用者 office2019 accessはruntime 64bit 海外版access
の状況で、開くときに「64bitでは開けない」というような(詳細不明)エラーが出たとのことです
(追記:エラーメッセージ ”This database was created with the 32-bit version of Microsoft Access. Please open it with the 32-bit version of Microsoft Access")
開発者である私が64bitPCでも開けるようにできることはあるのでしょうか?
>https://www.saka-en.com/office/vba-32bit-64bit-declare-statement-branch/
のサイトを見たのですが、対処方法について理解できていません。サンプルソースをどう使えばよいのでしょうか。
(追記 相手側に渡しているのはaccdeファイルです。64bitでaccdeファイルを作ればよいという情報も見ましたが、そういうことなのでしょうか)
通常は32bitOfficeで作成したデータベースファイルを64bitOfficeで使用可能です。
ただし、ActiveXコントロールを使っていたりすると使用できません。
ActiveXは使わないようにする必要があります。
また、VBAでWindowsAPIを使っている場合は、API宣言を質問のリンク先の方法で修正する必要があります。
API宣言の修正方法は下記の方がより詳しいです。
WindowsAPI をOffice64bit版または32bit版のVBAで使うには | hatena chips
hatena様
ご回答ありがとうございます。参照のページ、拝読いたしました。内容は理解できたと思います。
今回問題になっているファイルに、Declareを使っていないと思うのです。
Accessクラスオブジェクトと、標準モジュールのところで、検索しましたがヒットしません。
また、APIのような機能を使ってプログラムをした覚えもありません。(そもそも理解していません)
accessの理解が低くて大変申し訳ありませんが、Declare文とはもっと違うところに書かれているのでしょうか。
フォームかレポートにカレンダーコントロールとかのActiveXコントロールを使っていませんか。
最終的には相手先と同じバージョンにして開発するのが確実な方法だと思います。
ありがとうございます。
該当ファイルはカレンダーコントロールは使っていないようですが、類似した何かを使っているのでしょうかね。
それが一番ですか。上と相談してみます。ありがとうございました。
不具合解決にエラーメッセージは大事です。追記されているようなのでそれっぽい内容で検索してみました
ACCDEファイルが32Bit版と64Bit版で共有できない : Access(FeedSoftさん)
検索の仕方を変えればmicrosoftのドキュメントにも同様の内容を見つけられますね
そういうことでしょう
皆様ご回答ありがとうございます。
”上”と相談して、64bit版のofficeのPCで再確認したところ、
32bitのofficeで作成したaccdeは開けず、accdbは開けました。
64bitのofficeでaccdbからaccdeを作成すると、accdeは開けました。
ということで、大体解決しそうです。(あとは先方のpcで開けるか確認します)
ありがとうございました。