みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Access2002:コマンドボタンがうまく設定できません

使い始めてから2週間目の初心者です。よろしくお願いします。

コマンドボタンウィザードでフォーム上にコマンドボタンを作成したのですが、クリックしても反応しません。

初めは問題なく作成できたのですが、突如としてうまく動作するボタンが作成できなくなってしまいました。
ウィザードで作成した「レコードの検索」ボタンですら無反応です。
あるフォームのイベントプロージャ(?)は以下のようになっています。
(★はコメントです)


Option Compare Database

Private Sub テスト15:09_Click()

End Sub

Private Sub 部番一覧→部番詳細フォーム_Click()★←正しく動作しているボタン★
On Error GoTo Err_部番一覧→部番詳細フォーム_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "部番詳細表示"

stLinkCriteria = "[部番]=" & "'" & Me![部番] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_部番一覧→部番詳細フォーム_Click:
Exit Sub

Err_部番一覧→部番詳細フォーム_Click:
MsgBox Err.Description
Resume Exit_部番一覧→部番詳細フォーム_Click

End Sub←★この下に区切り線が表示されません★
Private Sub テスト15:09_Click()★←無反応のボタン。文字色赤になっています★
On Error GoTo Err_テスト15:09_Click


Screen.PreviousControl.SetFocus
DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70

Exit_テスト15:09_Click:
Exit Sub

Err_テスト15:09_Click:
MsgBox Err.Description
Resume Exit_テスト15:09_Click

End Sub


単純ミスだと思うのですが、原因がわかりません。
どなたかわかりやすく教えいただけないでしょうか。ちなみにVBの知識は皆無です。よろしくお願いします。

投稿日時 - 2003-03-28 15:56:52

QNo.509354

困ってます

質問者が選んだベストアンサー

> End Sub←★この下に区切り線が表示されません★
> Private Sub テスト15:09_Click()★←無反応のボタン。文字色赤になっています★

ということですと、「テスト15:09」という名前のコントロールの、名前の付け方がひっかかっているのではないでしょうか?特に「:」の部分です。

通常、コントロールの名前に記号など(%、”、$、&、!、:、。、などなど…)を使うと今回の例のように「何かの拍子に」文字色赤になって動かなくなります。

何かの拍子…というのは、mdbファイルを別のパソコンにコピーしてコピー後のmdbを開いたり、強制終了させておかしくなったり・・・などです。

直すには、いったんプロシージャを消して、mdbファイルを起動しなおし、もう一度コントロールのプロパティの該当するイベントから入りなおし、プログラムコードを書くことです。いったんmdbを起動し直せば、コードを書くのはコピペでOKです。

今回の場合ですと、「Private Sub テスト15:09_Click()」から最後の「End sub」までを全ていったん消します。で、mdbを再起動させたあとに、もう一度コントロールのプロパティからクリックイベントを開いて、

On Error GoTo Err_テスト15:09_Click
Screen.PreviousControl.SetFocus
DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70
Exit_テスト15:09_Click:
Exit Sub
Err_テスト15:09_Click:
MsgBox Err.Description
Resume Exit_テスト15:09_Click

の部分をコピペします。

************************************

ただ、コントロール名が同じままだと、この問題は再度繰り返し出てきます。

なので、この際、コントロールの名前を変えてから(:を使わない名前に変えてから)、コードをコピペするといいと思います。

また、このようなトラブルは、連結フォーム(連結テキストボックス)にありがちなトラブルですので、テーブルを作る時点で、フィールドの名前の付け方に注意しないといけない…ということにもなります。

まったくの見当違いでしたらごめんなさい。

投稿日時 - 2003-03-28 19:04:08

お礼

やはり文字の種類に制限があったのですね。
とりあえず無反応のプロシージャを消して、特殊文字が入らないコントロール名で設定しなおしたらちゃんと動作するようになりました。
どうもありがとうございました。

投稿日時 - 2003-03-31 20:53:22

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

同じ名前のSubがあるのが原因のようです。

>Option Compare Database
>
>Private Sub テスト15:09_Click()
>
>End Sub

この部分のSubが呼ばれているようです。


>Private Sub テスト15:09_Click()★←無反応のボタン。文字色赤になって>います★

そのため、ここがエラーを表示する 文字色赤になっているのでしょう。

投稿日時 - 2003-03-29 00:21:43

お礼

上記の箇所も削除し、#1のかたのアドバイスに従い作成しなおしたらうまく動作するようになりました。どうもありがとうございました。

投稿日時 - 2003-03-31 20:56:54

あなたにオススメの質問