如何在VBA Access中的If Else语句中引用Do中的按钮

时间:2013-12-04 22:24:09

标签: vba if-statement access-vba buttonclick

我是VBA的新手,并会尽力让我的问题清楚。我想添加另一个If Else语句来说明当点击按钮时,它应该是其他的其他东西。所以我的问题是我是否必须先在Private Sub OR_Click() ... End Sub内编码,然后在我的新If Else语句中引用它?

If .RecordCount > 0 Then
    .MoveFirst 
    Do While Not .EOF
        If Filter Is Nothing Then
            Set Filter = XFormToFilter.FilterBuilder
            Filter.SetPrimaryFilter PrimaryFilter, primaryTable, primaryKey
        End If  
        'This is where I want the button to go

        Filter.AddSubFilter "Filter" & .fields("ID"), _
            filterString, targetTable, subformDict(targetTable)
        .MoveNext
    Loop
End If

非常感谢!

1 个答案:

答案 0 :(得分:2)

您应该已在表单设计器中创建了一个切换按钮(而不是标准按钮)。每个控件都有一个通用Name,除非您更改,否则将设置Access - 类似ToggleButton115。然后,您可以在过滤器处理程序中编写代码,如下所示:

If ToggleButton15 Then
    'OR option has been set; change the filter appropriately
Else
    'OR option has not been set
End If

注意:这是有效的,因为togglebutton的Value属性为TrueFalse,具体取决于它是否已被切换。 Value属性是默认属性 - 当您未在对象上指定属性时,VBA假定您要使用该属性。

有关详细信息,请参阅here