返回未绑定访问组合框的先前值

Posted

技术标签:

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

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

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

On Change
Before Update
After Update

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

【问题讨论】:

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

【讨论】:

以上是关于返回未绑定访问组合框的先前值的主要内容,如果未能解决你的问题,请参考以下文章

访问报告中的绑定组合框为空

如何在组合框中返回未绑定列的值

RadCombobox没有显示正确的属性值

组合框的访问选择查询并不总是评估复选框值

MS Access - 构建一个组合框,该组合框根据先前的组合框选择返回多个值

在 VBA 中访问选择组合框列返回“函数未定义”-错误