gpt4 book ai didi

database - 如何使用 VBA 列出或枚举 MS Access 宏下的所有查询名称

转载 作者:搜寻专家 更新时间:2023-10-30 22:28:42 27 4
gpt4 key购买 nike

当我们在设计模式下的 MS Access 中打开一个宏时,我们会看到所有查询 (OpenQuery) 和许多其他事件都可以在那里。我只需要列出宏中的查询名称。我已经知道如何从数据库中获取所有查询名称,我特别关注的是,如果我在 VBA 中的函数/子函数中传递宏名称,它将仅列出其中的那些查询。

如下图所示,数据库中有三个查询。但是“Macro1”包含两个查询,因此,如果我只想通过将 Macro1 作为参数字符串传递到函数中来获取这两个查询名称。

Sample image

最佳答案

感谢@SergeyS。指出源代码在 Access Dependency Checker 中!我已经使用该工具多年但从未注意到...

我压缩了在那里找到的代码,将每个宏导出为一个 txt 文件。要运行它,请将此模块放入您的数据库中,更改“sMacroFile”路径以适合您的环境。

非常感谢 Thomas Koester 提供 Access Dependency Checker (http://www.accessdependencychecker.com/)!

Option Compare Database
Option Explicit

Function Process_Macros()
Dim mcr As Object
Dim sMacroFile As String
If CurrentProject.AllMacros.Count > 0 Then
'--- cycle thru collection of macros
For Each mcr In CurrentProject.AllMacros
Debug.Print "Macro: " & mcr.Name
sMacroFile = "c:\TEMP\" & mcr.Name & ".txt"
''''Call readMacro(ac, mcr)
SaveAsText acMacro, mcr.Name, sMacroFile
Next mcr
End If
End Function

关于database - 如何使用 VBA 列出或枚举 MS Access 宏下的所有查询名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47226664/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com