【问题标题】:Removing Combo Box value without having to lose focus删除组合框值而不必失去焦点
【发布时间】:2020-07-15 10:09:49
【问题描述】:

我有一个组合框,其中包含我在用户键入时过滤的客户列表。 当表单加载时,组合框中有一个预设值,但是当我退格时,组合框不会更新该值(它保留原始客户)。只有当我点击离开组合框时,该值才会变为空。然后我点击返回,它在我输入时开始过滤。

我尝试将焦点设置到另一个控件,然后返回到 AfterUpdate 事件的组合框,但代码没有改变焦点

Private Sub cboCustCode_AfterUpdate()

Me.txtCustName = DLookup("[CUST_NAME]", "[PLACE_HOLDER_CUST_LIST]", "[CUST_CODE] = '" & Me.cboCustCode & "'")

Me.txtCustName.SetFocus
Me.cboCustCode.SetFocus

End Sub

我希望能够在组合框中退格,然后开始输入并查看过滤后的结果

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    我通过检查组合框文本长度是否为 0 来修复它,然后设置组合框 value = null

    Private Sub cboCustCode_Change()
    
    Me.txtCustName = DLookup("[CUST_NAME]", "[PLACE_HOLDER_CUST_LIST]", "[CUST_CODE] = '" & Me.cboCustCode & "'")
    If Len(Me.cboCustCode.Text) = 0 Then
    
    Me.cboCustCode = Null
    End If
    
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2010-11-16
      • 1970-01-01
      • 2014-07-26
      • 2021-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多