Vba 如何找出在MS Access中调用函数的位置?

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

我正在处理由其他人创建的MS Access数据库应用程序。有一行特定的代码(一个函数)会被随机调用,我不知道为什么会被调用,或者它会做什么。我已经在整个项目中搜索了(ctrl+F)调用此函数的内容,但找不到它。如何找出调用此函数的原因?(见下文)。谢谢大家!

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查询,甚至可以作为报表(或表单)文本框控件中的源。非常感谢,这非常有用。我发现这是从一个查询中调用的,我不知道这是可能的。