Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5901 / 9994 ←次へ | 前へ→

【7303】Re:フォーム名の長さの制約?
発言  YU-TANG WEB  - 06/2/17(金) 13:54 -

引用なし
パスワード
   同じ環境が無いので検証できませんが、オブジェクト名に 2 バイト文字を
使っているからではないでしょうか。

仕様上は明記されていませんが、古い Windows OS、古い Access ではマルチ
バイト キャラクターセット(以下 MBCS)を考慮していない実装が混じって
いるため、無用なトラブルを避けるためにオブジェクト名には 2 バイト文字
を使わないというのが鉄則でした。
Unicode をサポートした OS とアプリの組み合わせでは多少マシになったよう
ですが、それでも多くの開発者は未だにオブジェクト名には 2 バイト文字を
使わないようにしているはずです(と言うか、少なくとも私はそう)。

Access が Unicode をサポートしたのは Access 2000 以降、Windows OS が
Unicode をサポートしたのは NT 系の 4.0 以降です。
Windows 98, ME は Unicode 部分サポートのため、Access 97 と Windows 98
というのは MBCS の取り扱いが弱い組み合わせの代表例になります。

で、Access に限った話ではありませんが、MBCS における有名な問題の一つに
0x5c 問題というのがあります(他にもたくさんありますが)。
これは MBCS 文字の 2 バイト目がたまたま 0x5c だと、エスケープシーケンス
の「\」と誤認して処理がおかしくなるというもので、代表的な該当文字に
「予」や「表」、「ソ」、「十」などがあります。
偶然かもしれませんが、今回の事例でフォーム名に該当文字が含まれている
のが気になりますね。
興味があれば、「0x5c」でググってみてください。

私だったら即刻オブジェクト名に 2 バイト文字の使用を禁止します。
どのみち今から Access 97 や Windows 98 を M$ が改修してくれる可能性は
無いわけですし、後はどう自衛するかだけではないでしょうか。

277 hits

【7293】フォーム名の長さの制約? ふぁんた 06/2/17(金) 8:13 質問
【7295】Re:フォーム名の長さの制約? ふぁんた 06/2/17(金) 10:11 質問
【7303】Re:フォーム名の長さの制約? YU-TANG 06/2/17(金) 13:54 発言
【7305】Re:フォーム名の長さの制約? ふぁんた 06/2/17(金) 14:37 お礼
【7304】Re:フォーム名の長さの制約? YU-TANG 06/2/17(金) 14:08 発言
【7306】Re:フォーム名の長さの制約? ふぁんた 06/2/17(金) 14:59 お礼

5901 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free