Ms access Microsoft Access 2016:使用按钮重置组合框(使用公式)的默认值?
我在重置按钮上有以下代码:Ms access Microsoft Access 2016:使用按钮重置组合框(使用公式)的默认值?,ms-access,combobox,vba,reset,default-value,Ms Access,Combobox,Vba,Reset,Default Value,我在重置按钮上有以下代码: Private Sub cmdReset_Click() Dim ctl As Control For Each ctl In Me.Controls Select Case ctl.ControlType Case acComboBox ctl.Value = ctl.DefaultValue End Select Next Me.Requer
Private Sub cmdReset_Click()
Dim ctl As Control
For Each ctl In Me.Controls
Select Case ctl.ControlType
Case acComboBox
ctl.Value = ctl.DefaultValue
End Select
Next
Me.Requery
End Sub
这是组合框的默认值:
=DLookUp("FieldName","TableName","strCriteria")
当我单击“重置”按钮时,组合框只是将方程式显示为字符串=DLookUp(“FieldName”、“TableName”、“strCriteria”)
,而不是实际运行函数。我尝试使用不同的默认值=[cboName].[ItemData](#)
,这是相同的问题。表单在其他情况下工作得非常好
非常感谢您的帮助。由于
ctl.DefaultValue
返回字符串默认值属性,而不是实际计算的默认值,因此该行为是预期的
一种可能的方法是使用Eval
计算实际默认值。但是,请注意,执行此操作时可能会出现许多问题,因为默认值不是VBA,而是Access表达式,因此它具有不同的作用域,并且对区域设置(如列表分隔符设置)敏感
您可以使用以下行:
ctl.Value = Eval(Right(ctl.DefaultValue, Len(ctl.DefaultValue) -1))
对不起,我从未感谢你的帮助。非常感谢!