• ベストアンサー

ACCESS2000 VBA どなたか教えてください。

いつもお世話になっております。 どなたか教えてください。 OS:WinXP 開発環境:ACCESS2000 以上の環境で、あるACCESSのシステムを作りました。 システム自体は単純で、.csvのデータを取り込み、 テーブルに保存し、加工して、.xlsファイルをアウトプットする・・といったものなのですが、 これを海外のOS(WinXP英語版)でも動くようにする事に なり、実際、VirtualPCでWinXP英語版の環境を作り、 Office2000の英語版をインストールし、日本語環境で作成 した.mdbファイルを開いたところ、エラーが出てしまいました・・・。 テーブル、フィールド等はすべて半角英字に変えたのですが、エラーの内容がよくわかりません。やはりフォーム・テーブル・マクロ等、最初から英語環境で作成しないといけないのでしょうか?? 下記にエラーメッセージを列記します。□の部分は化けている個所です。誰か助けて下さい。 ***************************************** The expression On Load you entered as the event property setting profuced the follwing error' A problem occurred while □□□□□□□□ was communicationg with the OLE or ActiveX Control. The expression may not result in name of a macro,the name of a user-defined function,or [Event procedure]. There may have been an error evaluating the function,event,or macro. ******************************************

質問者が選んだベストアンサー

  • ベストアンサー
  • process9
  • ベストアンサー率29% (81/271)
回答No.1

process9です。 エラー文言でマクロやユーザ定義関数、イベントプロシージャで 名称でエラーが起こってるって書いてあるので マクロやユーザ定義関数、イベントプロシージャ名 で日本語名称で使われているのがないですか?

kyo----
質問者

お礼

process9様。 お返事ありがとうございました。 まずは返答が遅れてしまった事、大変もうしわけございませんでした! ネットの調子が悪く、今日何とか復旧しましたのでお礼を書かせて頂きます。 おっしゃる通り、マクロの一部で全角表記の部分があり、それを修正する事で、現象を解消する事ができました。 本当にありがとう御座いました!

その他の回答 (2)

回答No.3

日本で開発したAccessを亜米利加、中国、日本で動かしたことがあります。 私は中国対応の担当でした。 かなり前の出来事なので、記憶が飛び飛びですが、発言いたします。 「新規MDBの作成」 を行うと、 ロケール コードページ が影響します。 >日本語環境で作成した.mdbファイルを開いたところ そのMDBは ・ロケール=1041 ・コードページ=932 という土台の元に動いております。 CreateDatabaseメソッドの第二引数に[DAO.LanguageConstants.dbLangJapanese] を渡して作成されたMDBです。 海外仕様のMDBにするには、 「アクセスのメニューから新規作成したMDB」ではだめです。 「VBAなどで《Call dao.Workspaces(0).CreateDatabase("C:\米_仕様.mdb",dbLangGeneral)》として、プログラムでMDBを作成」しましょう。 それから、既存の日本語"日_仕様.mdb"を開き、各テーブルやモジュールなどの全てのオブジェクトを、細々と米_仕様.mdbへエクスポートしていきましょう。 ちなみに日_仕様.mdbと米_仕様.mdbを開いて、ドラッグしてのオブジェクトコピーはだめだったと思います。 米_仕様.mdbを開いて、日_仕様.mdbからのインポートもだめだったと思います。 余談ですが納品が上海だったのですが、MSゴシックFontを持って行きました。 運用テストのPCにFontをインストールして、VBAのエディタのフォントを指定したら、VBAの日本語のコメントが読めました。 それと文字コードが日本版はSJISで動いているので、 ・テーブルから取得した値⇒"あ" ・VBAの文字列定数⇒"あ" それぞれがイコールにならないという現象がありました。 StrComp()でバイナリ比較することにより、対応することができました。 今、思いつくのはそれぐらいですが、もしまるっきる関係なかったらすいません。

kyo----
質問者

お礼

1050YEN様。 お返事ありがとうございました。 まずは返答が遅れてしまった事、大変もうしわけございませんでした! ネットの調子が悪く、今日何とか復旧しましたのでお礼を書かせて頂きます。 マクロの一部で全角表記の部分があり、それを修正する事で、現象を解消する事ができました。 細かいご説明、本当にありがとう御座いました!

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

参考URLのようなMicrosoftさんの情報がありますが、 これは本家(英語版)でも起こりうるかも。 VBE6.DLLのフィックス版の話も記憶にあるので 検索エンジンで「ACCESS VBA 未定義関数 DLL VBE6.DLL」をキーワードに探してください。 英語版VBE6.DLLはどこから入手できるのかな?

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;225956&Product=accJPN
kyo----
質問者

お礼

bin-chan様。 お返事ありがとうございました。 まずは返答が遅れてしまった事、大変もうしわけございませんでした! ネットの調子が悪く、今日何とか復旧しましたのでお礼を書かせて頂きます。 マクロの一部で全角表記の部分があり、それを修正する事で、現象を解消する事ができました。 本当にありがとう御座いました!

関連するQ&A