【问题标题】:Returning to previous value of unbound Access combobox返回未绑定访问组合框的先前值
【发布时间】:2017-09-08 08:39:51
【问题描述】:

当用户从未绑定的组合框中选择一个值时,我想进行一些检查。如果检查失败,我希望组合框返回之前选择的值。

我尝试在事件中使用 .oldvalue :-

On Change
Before Update
After Update

...但我相信这不会起作用,因为组合框未绑定?

【问题讨论】:

  • 没错。 OldValue 仅对绑定控件有意义。因此,在进入组合框时,将表单的属性或变量设置为组合框的值,如果验证失败,则检索它。
  • @Gustav 在什么事件上我会得到组合框的原始值?
  • 正如我所写:输入。

标签: ms-access combobox vba


【解决方案1】:

正如 Gustav 所说,您可以将控件的 .Value 存储在 Enter 上的 .Tag 属性中,因此如果验证失败,您可以恢复它。

'Save Value to Tag
Private Sub Combo_Enter()
    With Me.Combo
        .Tag = .Value
    End With
End Sub

'Validate and revert
Private Sub Combo_Exit(Cancel As Integer)
    If Not True Then  'Your validation
        With Me.Combo
            .Value = .Tag
        End With
    End If
End Sub

【讨论】:

    猜你喜欢
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多