Microsoft 製品に組み込まれている Visual Basic の実装。
注: この回答は自動翻訳されています。そのため、文法上の誤りや不自然な表現が含まれる場合があります。
こんにちは @範子 三村
ご提供いただいたスクリーンショットに基づくと、この問題は、Access データベースに含まれる VBA コードが 64 ビット版 Office/Access と互換性がないために発生しています。
参考になりそうな記事を見つけました。
この問題を解決するには、以下の手順をお試しください: このプロジェクトのコードは、64 ビット システムで使用できるように更新する必要があります | Microsoft Learn
- Alt + F11 キーを押して VBA エディターを開きます。
- VBA エディターで、[デバッグ] > [VBA プロジェクトのコンパイル] を選択します。
- コンパイラによってハイライト表示されたコード行を確認します。特に、以下の宣言に注意してください。
Declare Function
Declare Sub
- これらの宣言を更新し、64 ビット システムと互換性を持たせるために PtrSafe キーワードを追加します。
例えば、以下のコードです。
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
以下のように変更します。
Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
- 変更を保存し、VBA エディターを閉じます。
- Access データベースを再度開き、問題が解決したかどうかを確認します。
なお、場合によっては、完全な 64 ビット互換性のために Long を LongPtr に置き換えるなど、追加の変更が必要になる場合があります。
ぜひ試してみて、うまくいったかどうか教えてください。お返事をお待ちしています。
注: このスレッドに関連するメール通知を受け取りたい場合は、ドキュメントの手順に従ってメール通知を有効にしてください。