Stu*_*ork 2 ms-access report names openargs
我有一个非常奇特的数据库(非常相似,非常重复的查询),它们进入一个模块化报告(即它们都以不同的标准返回相同的东西).
将有大约100个这样的查询,所以我使用一个组合框来显示查询,这些查询将被发送到报告(通过OpenArgs).
我需要生成一个我在项目中的查询列表(只是名称).我想让组合框的控件源是这个查询列表.
如果我必须执行字符串连接Value List源或Query/Table源类型并不重要,唯一重要的是绑定列包含"qryName"
到目前为止我所拥有的:
For Each qry In CurrentDb.QueryDefs
list = list & ";" & """" & qry.Name & """"
'String in the form "qryName";"qryAnotherQuery";"qryNextQuery"
Next
Run Code Online (Sandbox Code Playgroud)
但显然值列表有〜2000个字符限制,所以如果我有很多查询,我就不能使用值列表?另请注意:qry.Name将返回类似"~sq_cTableName"的内容,而不仅仅是我的查询..这是一个问题.我想要查询.
有任何想法吗?只要我可以将查询名称发送到我的报告的OpenArgs,我就可以在没有组合框的情况下使用其他方式显示此信息.
如果您具有读取权限MSysObjects,则可以将此查询用作组合框的行源.
SELECT m.Name
FROM MSysObjects AS m
WHERE m.Type=5 AND m.Name Not ALike "~%"
ORDER BY m.Name;
Run Code Online (Sandbox Code Playgroud)
该标准m.Name Not ALike "~%"从结果集中排除临时和隐藏查询.
如果您没有读取权限MSysObjects,则必须创建一个回调函数,然后将其用作组合框的行源.如果您必须走这条路线,请参阅Allen Browne的示例,其中列出了报告对象并将其更改为列出查询:列出可用报告的列表.
| 归档时间: |
|
| 查看次数: |
5574 次 |
| 最近记录: |