- ベストアンサー
イベントを発生させたくない EnableEvent
エクセルでは Application.EnableEvents = False で、イベントを発生させないことができますが、 アクセスで同じようにとあるときのみイベントを発生させたくない時は どうすればいいでしょうか? 上記のコードだとエラーになりました。
- exapngcfdf
- お礼率100% (67/67)
- その他MS Office製品
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Accessではイベントプロシージャの扱いがExcelとは異なります。 例えば、テキスト1の更新後処理を発生させたくなければ、 Me.テキスト1.AfterUpdate = "" 発生するように戻したければ、 Me.テキスト1.AfterUpdate = "[イベント プロシージャ]" とします。 このようにイベント毎に設定します。各イベントの名前は、プロパティシートのイベント欄をクリックしてF1キーを押してヘルプを見れば分かります。
関連するQ&A
- アクセス イベントの発生を停止させたい
アクセスでイベントを発生しないようにしたいのですが エクセルで使用できる、Application.EnableEvents = Falseを使うと、 コンパイルエラーになります。 フォームを指定して、 .FilterOn = True を通ると、 該当のフォームのPrivate Sub Form_Current()イベントが発生してしまうので、 Application.EnableEvents = Falseのように、イベントの発生を停止させたいです。
- ベストアンサー
- その他(データベース)
- TEXTBOX_CHANGEのイベント抑制
TEXTBOX_CHANGE イベントでのイベント抑制方法を教えてください。 エクセルのVBAで、ユーザーフォーム内のTEXTBOXの内容を変更した際にイベントが発生しない様にしたいのですが、うまくいきません。 Private Sub TextBox1_Change() Application.EnableEvents = False UserForm1.TextBox1.Text = "" Application.EnableEvents = True UserForm1.TextBox1.SetFocus End Sub ユーザーフォーム内では Application.EnableEvents は使えないのかな?? どなたかご教授をお願いします。
- ベストアンサー
- Visual Basic
- VBAから変更した時だけイベントを発生させない方法
Excel VBA で、コンボボックスの選択をユーザーが変更した時はイベントハンドラが呼び出されて処理をしていますが、VBAのコードからコンボボックスの選択を変更した時には、このイベントハンドラが呼び出されないようにしたいのですが、どのように記述すればよいでしょうか。 例えば、下記のコードの (A) の部分で、VBAのコードからコンボボックスの選択を変更していますが、ここでイベントが発生しないようにしたいのですが、Application.EnableEvents = False を記述してもイベントが発生していますがなぜでしょうか。どのように記述すれば (A) の部分でイベントが発生しなくなりますでしょうか。 よろしくお願いします。(Windows7 , Excel2010 ) ---Module1---------- Option Explicit Sub main() UserForm1.Show End Sub ---UserForm1-------- Option Explicit Private Sub UserForm_Initialize() Dim i As Integer ComboBox1.Style = fmStyleDropDownList For i = 1 To 30 ComboBox1.AddItem Format(i, "00") Next i End Sub Private Sub CommandButton1_Click() Dim num As Integer Dim index As Integer num = ComboBox1.ListCount index = ComboBox1.ListIndex If index = num - 1 Then Application.EnableEvents = False ComboBox1.ListIndex = -1 '<----------(A) Application.EnableEvents = True Else ComboBox1.ListIndex = index + 1 End If End Sub Private Sub ComboBox1_Change() MsgBox ("ComboBox1_Changeイベント発生") End Sub ------------------------------------
- ベストアンサー
- Excel(エクセル)
- accessでイベントを中止するようなコマンドはあるのでしょうか?
accessでイベントを中止するようなコマンドはあるのでしょうか? excel vba でのenableevents=falseのようなものはあるのでしょうか?
- ベストアンサー
- その他(データベース)
- Excel VBA でイベント"Worksheet_Change"を使
Excel VBA でイベント"Worksheet_Change"を使って,データの追加処理中に,イベントが連続発生してしまい,エラー発生となります。解決方法のヒントがありませんか? 1)イベント発生を一時的に受け付けない構文の "Application.EnableEvents = False" を処理ルーチンの先頭に入れています。 2)データテーブル表の特定処理「データを追加のため,"セル挿入"→"データ投入"」を行うとイベントの連続発生があるので,"セル挿入"と"データ投入"との間に "Application.Wait (Now() + TimeValue("00:00:01"))" を入れて,タイミングを遅らせていますが効果ありません。
- ベストアンサー
- Visual Basic
- イベントが発生しません・・・
Excel VBAでの質問です。 フォーム上にコントロールはTextBox1つしかありません。 商品コードを入力させ、入力値より商品データを検索、編集させようと思います。 コードを入力しエンターキーを押しても、フォーカスの移動場所が無いためかExitイベントが発生しません。 閉じるボタン[×]でフォームを閉じると、Exitイベントは発生するようです。 入力後はフォームは閉じてもかまいませんが、イベントを発生させることはできるでしょうか。 どなたか教えてください。
- ベストアンサー
- Visual Basic
- ExcelマクロのApplication.EnableEvents
Sub AAA() Application.EnableEvents = False If a = 0 then 処理A End If Application.EnableEvents = True End Sub このようなコードを組んでいます。 処理Aは、他シートへの書込みを行っており、 他シートのWorksheet_Changeイベントが動いて欲しくないので、 上記の位置にApplication.EnableEventsのFalseとTrueを入れたのですが、 (FalseとTrueを入れた位置は「If文の前後」ではなく、「コードの最初と最後」です) 処理Aによって他シートのWorksheet_Changeイベントも動きました。 ここで、 Application.EnableEvents = False 処理A Application.EnableEvents = True のように記述したら、処理Aによる他シートのWorksheet_Changeイベントは止められました。 動かしたくない処理がある場合は、 その処理を行っている部分をピンポイントでFalseとTrueで挟まないといけないのでしょうか。 (最初と最後に宣言するのではダメなのでしょうか) それとも今回のような動作をした要因は別にあるのでしょうか。
- ベストアンサー
- オフィス系ソフト
- コンボボックスの初期化
combobox.clearを実施すると、combobox_changeのイベントが発生してしまいます。 Application.EnableEvents = Falseでもイベントを回避できないのですが、なにかよい方法はないものでしょうか。
- ベストアンサー
- オフィス系ソフト
- 「SceCli」というイベントの発生条件は?
[イベントビュアー] -> [アプリケーション]の一覧に「SceCli」というイベントが発生していますが、このイベントは何がきっかけで動作するのでしょう? 実はExcelのマクロ実行中にこのイベントが発生すると、マクロが異常終了してしまい困っています。
- ベストアンサー
- Windows系OS
- Access2003でイベントが発生しないのはなぜ?
いつもお世話になっています。 Access2000を使用して作ったソフトで、 あるコマンドボタンクリック時に、 イベントプロシージャを記入しているのですが、 それを2003形式に変換して、2003の入っている別のPCで実行すると、 ボタンをクリックしても、うんともすんともいいません。 エラーすら飛んできません。 で、どこでつまずいているのか調べるために、 ブレークポイントを使用してコードを止めながら 一行ずつ実行していくと、 ・・・あれ?通った・・・ そして一度通った後は何事も無かったように、 ボタンクリックでイベントが発生するようになってしまった為、 原因がわかりません。 切り分けをしてみたところ、 そのボタンのプロパティ イベントのクリック時の [イベントプロシージャ]を指定してある横の[・・・]ボタンを 一度クリックしてVBAを開いてあげると、 通るようになるみたいです。 他のボタンではそのような現象はみられていませんし、 イベントに[イベントプロシージャ]も指定してありますし、 [・・・]をクリックすると、ちゃんと指定のコードにも飛びます。 おまけにAccess2000だと、何の問題もなく通ります。 似たような状態になった方や、 原因や対処方法をご存知の方が見えましたら、 ご教授頂けると幸いです。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございました。