Microsoft Access 掲示板

Access2003から2010に移行したいのですが / 14

17 コメント
views
4 フォロー
14
tatsu 2021/09/30 (木) 11:05:45 ddfe5@9543c

確認が大変遅れてしまって申し分けありませんでした。

まずコンテンツの有効化は出来ていませんでしたのでメッセージバーにてONして試すとコンパイルエラーが多発したので(この時は理由が分からず)、次に空のデータベースに全てインポートして試しました。やはりコンパイルエラーが出ました。そこでコードの記述に問題あることに気づきました。Private Sub ○○/△△_Click()の様にスラッシュや()の文字を多用していたからです。それでプロシージャの区分線が消えているところが多数ありました。
恥ずかしながらプログラムの知識がないのに見よう見まねでコードを記述していたのですが、こういった文字は使うべきではないのですよね? 
全てを試してはいませんが不思議なのはそういう文字を使っていないコードで無反応なボタンがある様なので一旦コードを削除して再度同じコードを記述すると動作しました。これもどこかのコードの記述にまずいところがあるからなのでしょうか?

通報 ...
  • 15

    Private Sub ○○/△△_Click()の様にスラッシュや()の文字を多用していたからです。それでプロシージャの区分線が消えているところが多数ありました。
    恥ずかしながらプログラムの知識がないのに見よう見まねでコードを記述していたのですが、こういった文字は使うべきではないのですよね? 

    例えばボタンのクリック時に[イベント プロシージャ]を指定して[...]をクリックすると自動でコードが作られますが、この時のプロシージャ名が「ボタンの名前_Click」のようになります。

    フォーム上のコントロールの名前は開発者が分かりやすいようにつけましょう。と当たり前のことがあるんですが、このとき「請求書表示(消費税込み)」のようなボタンだったりすると件の問題が発生します。ただ、この名前自体に不具合はなく、ここからVBAのコードを記述する場合には不具合が起きますが、マクロを割り当てる場合には問題が起きません。厄介な問題と言えるでしょう

    また、これら記号(や、半角カタカナ)の問題はOS(Windows)の問題とも関係していて、昔は全角の記号であれば問題なかったという歴史があります。(バッドノウハウですが)

    こういった文字」は使うべきではないんですが「こういった文字」自体が歴史の中で変化してしまっているということですね

    ACCESSのバージョンアップ問題の中ではよくある方の問題だと思います


    全てを試してはいませんが不思議なのはそういう文字を使っていないコードで無反応なボタンがある様なので一旦コードを削除して再度同じコードを記述すると動作しました。これもどこかのコードの記述にまずいところがあるからなのでしょうか?

    実行しようとしているコードに不具合が見当たらないのに・・・というのも「よくある」ことです。
    VBEのメニューから「デバッグ」→「VBAProjectのコンパイル」を実行してエラーがある場合はどんな問題が発生してもおかしくないと考えましょう