forms - 如何在 Microsoft Access 的表达式中引用当前表单?

标签 forms ms-access reference

我不是 Access 专家,我有一个(我希望!)简单的问题......

我有一个包含许多记录的表格。在某些文本框中,我只显示基础表中的值 - 因此它们绑定(bind)到相应的字段。

但是一些文本框应该包含计算值。有些计算很复杂,涉及表中的许多字段。我将计算编写为 VBA 函数。我可以输入这样的内容作为“控制源”:

=MyFunction([Field1], [Field2], [Field3] ...)

但我不想在函数调用中列出几十个字段。相反,我想将整个表单(或当前记录)作为参数发送,并让函数引用它需要的字段。我可以这样做:
=MyFunction([Forms]![MyForm])

但我不喜欢在通话中命名表格。没有办法将“当前形式”作为函数参数发送吗?在 VBA 中,您只需使用“Me”关键字,例如“Me![Field1]”。但似乎“我”在表达式中不被接受。

是否有其他方法可以在表达式中引用当前形式?

(我知道这是一个表面问题。但是使用“[Form]![MyForm]”并不是一个好的编程。稍后您将控件复制到另一个表单并忘记更改表达式中的名称......)

感谢您的帮助! :-)

/安德斯

最佳答案

您可以使用:

=MyFunction([Form])

代码将是:
Function MyFunction(frm As Form)
MsgBox frm.Name
End Function

关于forms - 如何在 Microsoft Access 的表达式中引用当前表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8787979/

相关文章:

sql - 在 SQL 查询中将日期舍入到日期

ms-access - 移动平均查询 MS Access

arrays - perl:为什么对匿名数组的引用是标量?

jquery - Ajax调用、响应处理问题

表单内的 jQuery clone() 问题

forms - 防止重新提交表单

python - django project_form 无效?

ms-access - 通过 VBA 连接 Powerpoint 和 Access?

c++ - 如何编写引用 'char *' 或 'const char*' 的 C++ 函数?

java - 数组包含多个最后一个值