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)
以上。覚書でした。
コメント