在按钮单击时填充文本框

Posted

技术标签:

【中文标题】在按钮单击时填充文本框【英文标题】:Populate a text box on a button click 【发布时间】:2018-03-08 13:57:39 【问题描述】:

在 MS Access 2016 中,当有人单击表单上的按钮时,我尝试在表单上填充文本框。

按钮 Command9 - 我已将 OnClick 事件设置为 [Event Procedure],然后创建了以下内容:

Private Sub Command9_Click()
End Sub

我补充说:

Private Sub Command9_Click()
  Me(Field1) = "hello"
End Sub

我也试过了:

Private Sub Command9_Click()
  Field1.text = "hello"
End Sub

我得到错误:

除非控件具有焦点,否则不能引用控件的属性或方法

【问题讨论】:

见this answer,使用.Value vs .text 【参考方案1】:

有很多很多方法可以做到这一点:

最简单的方法,通过使用所有控件都可以作为表单模块中的私有变量的事实:

Private Sub Command9_Click()
    Field1= "hello"
End Sub

通过使用.Value 属性显式设置值:

Private Sub Command9_Click()
    Field1.Value= "hello"
End Sub

利用控件可作为表单属性使用的事实:

Private Sub Command9_Click()
    Me.Field1= "hello"
    'Or Me.Field1.Value = "hello"
End Sub

使用Form.Controls 集合:

Me.Controls("Field1") = "hello"
Me.Controls("Field1").Value = "hello"

使用 bang (!) 运算符隐式使用控件集合:

Me!Field1 = "hello"
Me!Field1.Value = "hello"

所有这些方法都应该达到完全相同的目标。

【讨论】:

以上是关于在按钮单击时填充文本框的主要内容,如果未能解决你的问题,请参考以下文章

捕获自动完成文本框交叉图标的事件

如何填充文本框-Windows Phone 8.1

从 Angular 2 上的查询参数中预填充输入文本框

通过表单事件过程中的函数填充访问文本框

如何在按钮单击时从win32 c ++中的文本框获取文本?

编写程序界面中包括一个标签、一个文本框和一个按钮。当用户单击按钮时,程序把文本框的内容复制到标签中