当我的方法/子程序执行后发生事件时,如何将变量传递给VBA中的事件?执行后将变量传递给VBA事件处理程序
详情:
'My Sub''''''''''''''''''''''''''
Private Sub mySub()
structCalculateDateValues 'calculates a number of dates that I want to be unlocked on my form
fnCreateTable 'create a table will all dates form my database
End Sub
'Event handler for continous form'''''''''''''''
Private Sub Form_Current()
'Some code to get the value of my Struct - structCalculateDateValues
'Lock records that do not fall within of the date parameters of the values in structCalculateDateValues
End Sub
这里的概念是我想一个形式展现在一个临时表中的所有日期的记录,但只允许其中的一些记录可编辑。这发生在MS Access 2013年我有它设置的方法是:
- 创建一个结构包含所有日期计算基于这些计算
- 连续的形式,是
- 负载值到临时表绑定到该表已存在
- 执行通常会在这里结束
- 作为形式打开它触发Form_Current事件处理程序
- 通行证结构值,该处理程序以某种方式??????
这是一个比其他任何事情都更有效率的问题,一个大问题就是如何触发该事件。我也想避免一个答案,导致我写我的结构成员值到数据库(将是一个cop-out)。我认为在VBA中必须有一种方法来暂停执行来检测事件吗?
感谢,
将它设置为模块变量,其中我的子项是私有的myStruct,因为xyz然后分配和使用。使用structCalculateDateValues作为函数返回你的结构也可能 –
如果我明白这一点,你建议我在事件处理程序中重新计算我的结构。这很容易做到,而且我的结构是按照您的建议设置的模块。但是,如果可能的话,我想尽我所能保存处理器。基本上我会重复工作(如果我在这里理解你)。 –
所以只是使用它,如果你有顶部的私人结构,那么你可以在当前使用 –