访问表单:文本框中的陷印日期更改

时间:2014-03-19 09:17:39

标签: vba events ms-access ms-access-2010

在普通文本框中,我通常使用AfterUpdate事件来执行某些操作。这意味着用户在键入后必须按 Enter Tab ,或者单击另一个控件,我一直对此行为感到满意。
现在我在Access 2010中的连续表单的标题中设置了一个日期过滤器,我意识到通过自动出现的小日历更改日期,不会触发AfterUpdate事件,强制按Enter后选择正确的日期,这有点重 使用OnChange会在输入的每个字符处触发,这也不好 有什么建议吗?

4 个答案:

答案 0 :(得分:1)

好吧,从日期选择器中选择日期后,TextBox控件会发生Change事件。然后,调用子或函数或将焦点设置到另一个控件...以避免每个按下的键触发事件,如下所示: 如果Len(me.activecontrol)< 10然后退出sub

我希望这会有所帮助

答案 1 :(得分:1)

这是一个迟到的回复,但我希望它会帮助其他人。 使用文本框作为DatePicker时,您应该使用过滤器更改事件。

但是,当您检查Form_name.TextboxName之类的文本框时,它会显示上次选择的日期。要避免这种情况并使用当前选定的日期,您需要提供当前日期,例如Form_name.TextboxName.Text。这里要小心,因为.Text属性对焦点很敏感。

...简而言之:

Form_name.TextboxName - 将显示上次选择的日期
Form_name.TextboxName.Text - 将显示当前选择的日期

答案 2 :(得分:0)

我在文本框中使用LostFocus事件。它允许使用日历工具并更改内容。用户迟早要离开文本框,不是吗?

答案 3 :(得分:0)

我以这种方式使用

Private Sub txt_FirstDate_Change()
    txt_FirstDate = txt_FirstDate.Text
    myfilter
End Sub