查询参数不适用于 MS Access ADP 项目
我想在一个表单上创建两个链接的子表单。为此,我需要将查询参数设置到第二个子表单的记录源中,如下所示:
select col1, col2
from my_table
where col3=[Forms]![MyForm]![subform1]![MyField]
这适用于 .accdb 文件,但不适用于连接到 SQL Server 的 Access 项目(.adp 文件)。我得到“'!'附近的语法无效”。尝试了很多其他方法,但无法使其发挥作用。
I want to create two linked subforms on a form. For this I need to set query parameter into the record source of the second subform like this:
select col1, col2
from my_table
where col3=[Forms]![MyForm]![subform1]![MyField]
This works with .accdb file, but not with Access Project (.adp file), connected to SQL Server. There I get "Invalid syntax near '!'". Tried many other ways, but could not make it to work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 ADP 版本中,您的查询由 SQL Server 的数据库引擎运行,该引擎对
[Forms]![MyForm]![subform1]![MyField]
一无所知。在ACCDB版本中,查询是由Access的数据库引擎运行的,它确实知道[Forms]![MyForm]![subform1]![MyField]
看看是否可以将第二个子表单放入subform1 上的子窗体控件。如果这种安排适合您,请使用 subform1 的 [MyField] 作为链接主链接,使用 col3 作为链接子链接。 (这些是通过子窗体控件的链接主/子属性设置的。)效果将是过滤第二个子窗体的记录 --- 仅显示 col3 与子窗体 1 中当前记录的 MyField 值匹配的记录。
In the ADP version, your query is run by SQL Server's db engine, which knows nothing about
[Forms]![MyForm]![subform1]![MyField]
. In the ACCDB version, the query is run by Access' db engine, which does know about[Forms]![MyForm]![subform1]![MyField]
See whether you can put the second subform into a subform control on subform1. If that arrangement can work for you, use subform1's [MyField] as the link master and col3 as the link child. (Those are set with the link master/child property of the subform control.) The effect will be to filter the second subform's records --- display only those records where col3 matches the MyField value of the current record in subform1.