• 締切済み

Access VBAの参照設定(DAO)について

古いAccess VBA(元々97?)で作られたシステムをAccess2003にバージョンアップしようとしています。 ソースに修正は極力したくないのですが、環境設定に [Microsoft DAO 2.5/3.51 Compatibility Library]が存在しない為、 選択できていないことが原因だと思われます。 ([Microsoft DAO 3.6 Object Library]ではコンパイルエラーになります) いろいろ調べたところ、ソースの修正をすればなんとかなるようですが、先にも書いたとおり極力ソースの修正は避けたいと思います。 Access2003で[Microsoft DAO 2.5/3.51 Compatibility Library]を選択する方法はあるのでしょうか? 宜しくお願いします。

みんなの回答

  • noah7150
  • ベストアンサー率46% (116/251)
回答No.1

直接の回答ではありませんが Access97とAccess2000以降ではVBAの文字列操作に違いがありコンパイルエラーをなくしても思わぬトラブルが出る事があります。 Acc97は内部ShiftJISで動作していますが2000以降はUnicodeです。 バイト命令を実行しても正しく動作しません。 たとえば LenB("aあ") を実行すると97では3を返し2003では4を返します。 Unicodeでは半角文字もメモリー内では2バイト消費するためで 文字の切り出しなどの命令は見直しが必要です。 また、テーブルも同様でテキストで20字分確保した場合、全半角関係なしの20文字となり画面枠を全角20文字でデザインしたテキストに全て半角入力した場合半分しか入力できません。 なのでAcc97をAcc2003に単純移行することはかなり難しいとお考えください。

関連するQ&A

専門家に質問してみよう