我有一个使用VBA构建的程序,可以访问。 我有一个带有字段chDate的表单,我需要在名为Global(不是类模块)的模块文件中获取字段的值。
我试图访问它,但我认为我得到空值,字符串。不是错误。 我不是VBA的专家,对我来说是新手(我有VBS经验)。
有人可以帮助我并告诉我如何通过模块文件访问表单字段的值?
谢谢!
答案 0 :(得分:1)
如果您可以提供一些示例代码,它可能有助于我们尝试为您提供解决方案。
这可能有用:
Dim
一个对象作为表单的一个实例,并将实例设置为一个新实例。这两行将做到这一点(假设表单称为frmForm
)
Dim theForm as frmForm
Set theForm = new frmForm
然后显示表单:
theForm.show
表单将获得焦点,因此您可以填充字段。此时,一旦表单隐藏,您的代码应该能够拉出字段:
var1 = theForm.txtFormField.Text
但是,如果您在代码中卸载表单,则与表单直接关联的所有变量都将丢失。在这种情况下,您可能希望遵循Oneide的示例,并将全局变量设置为表单字段的值。您可以在表单的一个事件处理程序中执行此操作。
答案 1 :(得分:0)
让我看看我能否回忆起我的访问日。在您的全局模块中,您应该访问表单字段,前缀为表单名称,即 var1 = Form1.txtFirmField.Text
答案 2 :(得分:0)
据我所知,你试图以错误的方式获取数据。
如果您尝试从标准模块获取表单数据,您的表单可能已经关闭,或者如果您没有将其作为受限制的窗口打开,则该值不会准备好了。
无论如何,如果你能解决上述所有困难,你可能会以非标准/正确的方式编码。
请记住,VBA是一种事件驱动的语言,你最好使用它的强项,而不是与它们作斗争。
最后一句话,如果这只是一个随意的编码,我建议你使用一个全局变量,并使de Code Behind Form 在控件的更改事件中设置它。
如果您不确定我的意思,请发表评论,我会尝试更好地解释。
而且,如果您不介意,请告诉我们您的起始代码,以获得更好的答案。