2017-02-11 7 views
1

Есть ли способ иметь подписчика событий в непосредственном окне (например, с помощью Debug.Print) в VBA в Microsoft Access для отладки?Абонент событий В Microsoft Access VBA

+0

Nope. Окно Immediate в основном представляет собой консоль и даже не содержит элемент управления для отображения текста - он нарисован непосредственно на клиентской области. Вам нужно будет подключить IO напрямую от отладчика. Программисты VBA \ 6 пробовали это на протяжении десятилетий без успеха ... – Comintern

+0

Подпишитесь на какие события? Изучите ключевое слово 'WithEvents', используемое для объявления переменной, например. 'Dim WithEvents foo as Access.Form' –

ответ

1

Этот код является одной остановки для всех излучающих объектов Microsoft Access ...

Option Explicit 
'* In a class module 

Private WithEvents o_PageEvents As Access.Page 
Private WithEvents o__ControlInReportEvents As Access.[_ControlInReportEvents] 
Private WithEvents o_LabelEvents As Access.Label 
Private WithEvents o_RectangleEvents As Access.Rectangle 
Private WithEvents o_LineEvents As Access.Line 
Private WithEvents o_ImageEvents As Access.Image 
Private WithEvents o_CommandButtonEvents As Access.CommandButton 
Private WithEvents o_OptionButtonEvents As Access.OptionButton 
Private WithEvents o_OptionButtonInOptionEvents As Access.[_OptionButtonInOption] 
Private WithEvents o_CheckBoxEvents As Access.CheckBox 
Private WithEvents o_CheckBoxInOptionEvents As Access.[_CheckBoxInOption] 
Private WithEvents o_OptionGroupEvents As Access.OptionGroup 
Private WithEvents o_BoundObjectFrameEvents As Access.BoundObjectFrame 
Private WithEvents o_TextBoxEvents As Access.TextBox 
Private WithEvents o_ListBoxEvents As Access.ListBox 
Private WithEvents o_ComboBoxEvents As Access.ComboBox 
Private WithEvents o_ObjectFrameEvents As Access.ObjectFrame 
Private WithEvents o_PageBreakEvents As Access.PageBreak 
Private WithEvents o_ToggleButtonEvents As Access.ToggleButton 
Private WithEvents o_ToggleButtonInOptionEvents As Access.[_ToggleButtonInOption] 
Private WithEvents o_PaletteButtonEvents As Access.PaletteButton 
Private WithEvents o_SubFormEvents As Access.SubForm 
Private WithEvents o_SubReportEvents As Access.SubReport 
Private WithEvents o_CustomControlEvents As Access.CustomControl 
Private WithEvents o_CustomControlInReportEvents As Access.[_CustomControlInReport] 
Private WithEvents o_TabControlEvents As Access.TabControl 
Private WithEvents o_SectionEvents As Access.Section 
Private WithEvents o_SectionInReportEvents As Access.[_SectionInReport] 
Private WithEvents o_PageHdrFtrInReportEvents As Access.[_PageHdrFtrInReport] 
Private WithEvents o_FormEvents As Access.Form 
Private WithEvents o_ReportEvents As Access.Report 
Private WithEvents o_References_Events As Access.References 
Private WithEvents oDispAttachmentEvents As Access.Attachment 
Private WithEvents oDispEmptyCellEvents As Access.EmptyCell 
Private WithEvents oDispWebBrowserControlEvents As Access.WebBrowserControl 
Private WithEvents oDispNavigationButtonEvents As Access.NavigationButton 
Private WithEvents oDispNavigationControlEvents As Access.NavigationControl 

Некоторые примеры их использования приведены в этих ссылок | Adding Classes WithEvents to MS Access Form | MS Access WithEvents in Class Module for OnClick Event |.

Также переполнение стека аналогичный вопрос Click event handler withevents

+0

@S Meaden Благодарим за отзыв. Извините меня, если это тривиальный вопрос, но я все еще смущен тем, как использовать приведенный выше фрагмент кода, чтобы, скажем, распечатать все события, выпущенные из определенного объекта, передав его ссылку. Не могли бы вы изменить пример ответа. Я был бы очень признателен. – falhumai

+0

Я обычно не делаю Access и не могу сразу заставить его работать. Я привел некоторые ссылки, показывающие примеры. –

+0

Спасибо вам большое! – falhumai