次の方法で共有

OSによるVBA仕様の違い

Anonymous
2014-04-16T08:12:15+00:00

お世話になります。

現在、Access2003で構築したシステムを利用しています。

今回、PCをリプレースしXPからWin7に変更となりました。

そのWin7上で今まで使っていたmdbを実行するとシステムエラー3265となりました。

確認したところ、テーブルの『○○-xx』というフィールド名がありますが、プログラム中でそのフィールドの値を変数に入れようとしたときに『○○-xx』が見つからないためのエラーということが判明しました。

よくよく見ると、フィールド名の『-』は全角のマイナスで、プログラム中の『-』は半角ハイフンとなっておりました。半角ハイフンを全角マイナスに修正することによりエラーは解消されたのですが。。XPやVistaで同じmdbを使ってもエラーにならず、Win7だけでエラーになるのです。

そこで質問ですが、XPやVistaでは全角マイナスと半角ハイフンは同じものとみなされてエラーにならず、Win7では区別されるようになった為にエラーになってしまってるように見受けられるのですが、そのようなことはあるのでしょうか。

ご教授の程、宜しくお願い致します。

※モデレーター注 : この質問は別のトピックに投稿されましたが、内容から判断しこちらに移動させていただきました。

移動前トピック :Windows |Windows 7 |Microsoft の他の Windows アプリ

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

2 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2014-04-17T04:14:02+00:00

    MukkuMuku様

    ご回答ありがとうございます。

    今回の事象は、XPもWin7も同じAccess2003(=OS標準のデータベースエンジン)でWin7の方だけでエラーとなりましたので、XPとWin7のJETの仕様が変わった(JETのバージョンが変わった為?)・・・ということになるのでしょうか。

    その観点でもう一度調べてみたいと思います。

    ありがとうございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2014-04-16T10:20:04+00:00

    MukkuMukuです。

    発生していた事象との関連があるか確認はしませんが、

    使用されるデータベースエンジンにより挙動が変わることがあります。

    Access 2007 以降であれば、それぞれのバージョンのデータベースエンジン(ACE)が使用されますが、Access 2003 以前のバージョンは、OSの標準コンポーネントにあるデータベースエンジン(JET)を使用します。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません