Vba 如何找出在MS Access中调用函数的位置?
我正在处理由其他人创建的MS Access数据库应用程序。有一行特定的代码(一个函数)会被随机调用,我不知道为什么会被调用,或者它会做什么。我已经在整个项目中搜索了(ctrl+F)调用此函数的内容,但找不到它。如何找出调用此函数的原因?(见下文)。谢谢大家!Vba 如何找出在MS Access中调用函数的位置?,vba,ms-access,Vba,Ms Access,我正在处理由其他人创建的MS Access数据库应用程序。有一行特定的代码(一个函数)会被随机调用,我不知道为什么会被调用,或者它会做什么。我已经在整个项目中搜索了(ctrl+F)调用此函数的内容,但找不到它。如何找出调用此函数的原因?(见下文)。谢谢大家! Public Function Concat(strIOSC As String, strFeature As String) As String Static strLastIOSC As String Static strFeat
Public Function Concat(strIOSC As String, strFeature As String) As String
Static strLastIOSC As String
Static strFeatures As String
If strIOSC = strLastIOSC Then
strFeatures = strFeatures & ", " & strFeature
Else
strLastIOSC = strIOSC
strFeatures = strFeature
End If
Concat = strFeatures
结束函数如果只搜索了脚本和模块,则范围太窄 这样的公共函数也可以在表达式中使用,因此如果使用计算字段,则需要检查查询、报表、表单控件、宏,甚至可能是表。这取决于数据库的大小以及调用函数的频率,您可以以有针对性的方式手动搜索,也可以使用公用子系统输出可搜索的内容。不幸的是,每个对象都有自己的文本文件,需要单独搜索,除非您也构建了一个子对象来搜索 至于函数的功能,它似乎使用
静态strLastIOSC
变量记录每个输入,与在第二个函数调用中传递的参数进行比较,如果它们匹配,则将两个strFeature
输入连接在一起并输出结果
因此,基本上第一个参数告诉函数这是新连接实例的开始,还是现有实例的继续。第二个参数是要连接的项
Static
关键字意味着即使在函数运行后也会存储该值,以便它可以将上次调用与当前调用进行比较,以确定是将第二个参数添加到以前保存的参数中,还是清除内存并准备新的连接
考虑到它的设计,它可能被用于查询/报表/表单中,
strIOSC
可能是主键字段或groupby
中的字段,这样的函数也可以用于SQL查询,甚至可以作为报表(或表单)文本框控件中的源。非常感谢,这非常有用。我发现这是从一个查询中调用的,我不知道这是可能的。