我正在尝试设置一个全局变量(作为形式)并将其设置为 = Form_MyForm
我已经使用表单加载事件进行赋值,由于它是一个全局变量,我希望我的所有过程都可以使用我的这个变量,而无需我在不同的过程中重新键入赋值
问题是有时它可以工作,而有时它无法识别我的变量,此时我必须关闭我的表单并重新打开它以刷新作业
我查看了许多访问表单事件,但不确定它们是什么以及它们如何对我的情况有所帮助
谢谢你们的帮助!
- 在 Access 模块中定义全局变量(而不是在任何表单后面)。这允许任何对象(窗体、报表、宏等)访问它们。
- 初始化模块内公共函数或公共子中的变量,并由数据库的打开形式(即主菜单或总机)调用函数/子。
- 现在,变量可以在表达式、查询、VBA 和其他领域使用。**如果全局变量需要由各种参数重新定义,请在函数/sub 中进行设置,并从特定的触发事件重新调用它。
用户定义的全局变量也有同样的问题,任何时候抛出错误或切换到开发环境,都会丢失变量中的设置值。
您可以尝试使用来自 TempVar 集合的会话变量,我发现它更稳定。它将保持设置状态,直到您关闭数据库或取消设置它。
MyFormName = me.Form.Name
'Load the data into Session variables
TempVars.Add "SessMyFormName", MyFormName
'Use the value elsewhere
SelectedForm = TempVars![SessMyFormName]
'Remove All Session Variables Set Earlier
TempVars.RemoveAll 'Destroy Session