【问题标题】:AfterUpdate On ComboBox: Display selection without requiring other actionAfterUpdate On ComboBox:显示选择而不需要其他操作
【发布时间】:2022-01-05 04:45:24
【问题描述】:

我有一个带有组合框的表单,其中包含批准代码。
我创建了一个 AfterUpdate 事件,以便当用户选择批准代码时,今天的日期将被放置在另一个字段中。

问题是当我从组合框中跳出时,日期不会显示在字段中,除非我单击该字段或保存记录。
我知道我可以在代码之后执行Me.Refresh,但我不想在用户完成他们需要输入的所有内容之前保存记录。

Private Sub AppArch_AfterUpdate()
    Me.DATE_RCVD_ARCH = Date
End Sub

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    必须引用文本框名称,因此如果字段和文本框名称相同,那么您现有的代码应该可以工作并立即显示新值。显然情况并非如此。我总是将控件命名为与字段不同的名称,例如 tbxDateRA。那么代码可以是:

    Me.tbxDateRA = Date

    Me!tbxDateRA = Date
    但使用第一个触发智能感知提示。

    【讨论】:

    • 第一个直接访问编译时隐式定义的公共字段——它是直接的成员调用。第二个是欺骗性的,因为它读起来像一个奇怪的成员调用,但任何遵循 ! bang 运算符 实际上是一个字符串文字 并且语法是一种迂回的方式来取消引用正好在那里的控件,因为它是通过隐式默认成员调用来实现的,所以第二个相当于Me.Controls("txtDateRA").Value = Date。使用第一个,忘记第二个存在;-)
    猜你喜欢
    • 2014-11-05
    • 1970-01-01
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 2016-10-12
    • 2019-12-12
    • 1970-01-01
    • 2016-07-01
    相关资源
    最近更新 更多