MS Access:可以将复选框值绑定到对象实例的属性吗?

时间:2014-02-10 13:50:04

标签: vba ms-access ms-access-2007 access-vba

也许有人可以给我一个如何解决以下问题的建议。

是否有简单的解决方案将对象的实例属性“绑定”到我的表单元素。当然也可以通过触发checkbox_Click()回调来解决,但目前我对这个解决方案并不是很满意。

例如:

表单加载 - 对象初始化:

Dim handlecontact As ClsHandleContact

Private Sub Form_Load()
    ''' init new model handler '''
    Set handlecontact = New ClsHandleContact

    ''' bind attribute of instance to element of form '''
    Me!CheckBox.Bind(handlecontact.boolean_attribut)
End Sub

Class ClsHandleContact:

Public boolean_attribut As Boolean

Private Sub Class_Initialize()
    ''' False by init '''
    boolean_attribut = False
End Sub

如果用户签入,我希望更新我的底层对象实例。是否有官方和支持的方式来实现这种bind

感谢您的任何建议!

1 个答案:

答案 0 :(得分:3)

我建议使用WithEvents进行设置。这是一个让您入门的快速教程:

使用名为Check0的复选框创建表单。将Check0更新后属性设置为[Event Procedure]。在表单的代码模块中:

Dim handlecontact As clsHandleContact

Private Sub Form_Load()
    Set handlecontact = New clsHandleContact
    Set handlecontact.MyCheckBox = Me.Check0    
End Sub

clsHandleContact课程模块中:

Public WithEvents MyCheckBox As CheckBox

Private Sub MyCheckBox_AfterUpdate()
    MsgBox "The value of the checkbox is now: " & MyCheckBox.Value
End Sub