質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

1回答

4361閲覧

Accessでフォーム上のボタンが押せない

JuguarSugar

総合スコア83

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2021/05/20 05:57

フォームビューにてフォーム上に配置したボタンを押してみるのですが、
ボタンが視覚的にクリックされたときの挙動(色の変化)をせず、
登録しておいたマクロも実行されません。
マクロの内容は新しいテーブルを作成するマクロなので実行されていれば分かるはずですが
何も起きません。

オプションのトラストセンターから許可を出したり
ボタンのプロパティの使用許可がでているかなど調べましたが
問題なさそうでした。

ご教示くださいますようお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

itagagaki

2021/05/20 06:31

プロパティでクリック時の動作はどうなっているんですか? そのフォームに新しいボタンを追加してみても同じですか?
JuguarSugar

2021/05/20 06:35

ご回答ありがとうございます。 クリック時の動作は同フォルダ内のExcelファイルを見て テーブルを作成する動作です。 新しいボタンを追加しても同じでした。 また、記載し忘れておりましたが、分割フォームで質問内容の問題が起きておりまして、 空白のフォームを新しく作成し、ボタンを配置して同じコードを流したところ、 動作しました。
itagagaki

2021/05/20 06:45

お尋ねしたいのは、「プロパティ」の「クリック時」のところに、どう設定されているのか?です。
JuguarSugar

2021/05/20 07:03

[イベント プロシージャ]になります。
itagagaki

2021/05/20 07:07

で、そこをクリックすると「...」が出て、さらにそれをクリックしたらコードが表示されますよね。 そのコードは提示することはできませんか? そのコードの実行時にエラーが無いのかを知りたいのです。
JuguarSugar

2021/05/20 08:24

コードですが結構長いため、今 Msgbox "a" とメッセージボックスにaと表示するコードだけにしてみましたが結果は同じく動作しませんでした。 他にはプロシージャ名などもデフォルトのままで、コントロール名などもいじっていないため問題なさそうです。 そのため恐らくコードは問題ないかと思います。
JuguarSugar

2021/05/20 08:27

Option Compare Database Private Sub コマンド0_Click() Msgbox "a" End Sub コントロール名もコマンド0になっています。
hatena19

2021/05/20 08:34

新規に分割フォームを作成して、コマンドボタンを配置してクリック時のイベントプロシージャを設定した場合でもだめですか。
JuguarSugar

2021/05/20 08:47 編集

>hatena19 さん ご回答いただきありがとうございます。 新規に分割フォームを作成したところ、セクションが3つありまして 詳細セクションにボタンを設置して試した場合動作せず、 フォームヘッダーセクションにボタンを設置して試したところ動作しました。 仕様がよくわかりません・・・。
hatena19

2021/05/20 09:10

当方で作成したサンプルでは詳細セクションに配置したコマンドボタンでも動作しました。(Office365 のAccessです。) Accessのバージョンは何でしょうか。
JuguarSugar

2021/05/21 01:08

私のほうもoffice365のAccessで作成したaccdbドキュメントだったのですがダメでした; 気づいたのですがデータ件数が3件ほどのテーブルを2つ追加しただけなのにファイルサイズが1GBになっており、vbaの処理を走らせたときにファイルがおかしくなってしまったのかもしれません・・・。
guest

回答1

0

ベストアンサー

プロパティに[イベントプロシージャ]となっている場合に呼び出されるイベントプロシージャは**[コントロール名]_[イベント名]**という名前のものが呼び出されます。

コントロール名を変更した場合には、イベントプロシージャ名は自動で変更はされません。
※イベントプロシージャ名を変更した場合には、プロパティから[イベントプロシージャ]は消えますが。

プロパティの[イベントプロシージャ]となっている所で、ビルドボタン(・・・)をクリックして、イベントが正しく登録されているかを確認して下さい。

正しく紐付いている場合は、ブレークポイントを設定するなどして、確認して下さい。

追記

テーブルのレイアウトを変更すると、テーブルの情報が破損する場合があります。
実行時に「"引数が無効です" 」のメッセージが出力されたり、テーブルのサイズもおかしくなります。
その場合、XMLでのエクスポート/インポートを行うと復旧します。
Access 2010 または Access 2007 SP3 でテーブル編集時に、初回のみ "引数が無効です" とエラー メッセージ表示される

※XMLがネストしている場合、XMLに変更を加えるとその要素が重複してしまうという、XMLあるあるが内部的に発生しているんだと思います。
それがエクスポート/インポートによりマージされて正しい状態になるので復旧している感じですね。

投稿2021/05/20 07:38

編集2021/05/21 01:34
sazi

総合スコア25327

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

JuguarSugar

2021/05/20 08:25

ご回答いただきありがとうございます。 コントロール名も何度か確認したのですが問題なさそうに見えます。
sazi

2021/05/20 15:29 編集

破損していいる可能性もありますね。 修復しても駄目な場合、全てをXML形式でのエクスポート/インポートを試してみて下さい。
JuguarSugar

2021/05/21 01:09

その可能性が高いかもしれません。 ひとまず分割フォームを使わなければこちらの現象は起こらないため別のフォームで作成してみようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問