[ACCESS]コントロール名に2バイト文字がある際の注意

ACCESS

ACCESS 2003 にて2000形式のMDBファイルを使っています。コピー元で作成したフォームを別MDBでインポートした際、下記のプロシージャーがコンパイルエラーとなりました。

Private Sub 肥満度%_BeforeUpdate(Cancel As Integer)
Private Sub 1秒率_BeforeUpdate(Cancel As Integer)
Private Sub 1秒量_BeforeUpdate(Cancel As Integer)

コピー元ではエラーは発生していませんでしたが、インポート後はえらーとなります。もう一度、上記の3つのコントロールのBeforeUpdateイベントを書き直すと、コンパイルエラーはなくなります。

たぶんコントロール名が「%」、先頭文字が数字になっている場合エラーが発生しているようなのです。

で、調べてみたらやはりBUG

Microsoft技術情報:
[ACC2003] プロシージャ名に特定の 2 バイト文字を含むとデータベース変換時にエラーが発生する
http://support.microsoft.com/default.aspx?scid=kb;ja;436852

また、コントロール名に半角カタカナがあったりすると、エラーにはならないがイベントがGeneral扱いになることもあった。

(ACCESS2002)
以上。覚書でした。

 

 

 

コメント

スポンサーリンク
タイトルとURLをコピーしました