我目前有2个表单,其中包含一些List Box
个记录,其中包含一些Text Box
以允许用户输入。我有一个Command Button
将数据输入插入到表中,然后我重新查询有界的List Box
获取更新的数据。
两种形式的功能代码是相同的,所以我喜欢减少尽可能多的重复代码,我基本上尝试做这样的问题:
How to get instance of actual form from MS Access in a Module (VBA)
我创建了一个类模块,尝试从当前活动表单中获取Text Box
中的数据输入,并将每个Text Box
的值存储在类的每个属性中,然后引用它我的表单On Click
保存命令。
Option Explicit
Public number As String
Public name As String
Public Function getData()
Dim frmCurrentForm As Form
Dim frmName As String
Set frmCurrentForm = Screen.ActiveForm
frmName = frmCurrentForm.Name
End Function
我能够获取当前活动表单的名称,但不确定从何处获取表单的Text Box
属性数据输入,例如,它被命名为textBox_Number
和{{ 1}}?
上述问题的答案表明要做到以下几点:
textBox_Name
但是使用Public Sub mFormLoad(p_form As Form)
'do stuff with p_form
end sub
对象来访问其属性,我只能找到p_form
的通用属性,而不是与我的活动表单绑定的特定属性,即Form
和{ {1}}。
对VBA编程不熟悉,有人可以指导我完成吗?
谢谢!
答案 0 :(得分:0)
使用Controls
集合:
p_form.Controls("textbox_Number").Value
应该引用文本框的值。
或者,您只能将特定表单作为参数:
Public Sub mFormLoad(p_form As Form_MyFormName)
'do stuff with p_form
End Sub