如何查看 Access 中按钮触发的 SQL 查询?

Posted

技术标签:

【中文标题】如何查看 Access 中按钮触发的 SQL 查询?【英文标题】:How does one view the SQL query that a button fires in Access? 【发布时间】:2016-09-16 13:22:33 【问题描述】:

我需要详细了解现有的 Access 计划。程序中有一个按钮,按下时会输出一个 Excel 文件。它会查询其中的一些表以获取数据。

如何查看此按钮用于生成此 Excel 文件的原始 SQL 代码?从按钮的属性中,我可以看到它的 On Click 事件是“[Embedded Macro]”。另外,它的对象类型是“查询”。

提前谢谢你。


在单击时行(属性中的事件选项卡下)中,当我单击“[嵌入式宏]”旁边的椭圆时,会看到一个包含这些行的可展开部分:

对象类型 - 查询 对象名称 - Inv 文件查询 输出格式 - Excel 工作簿 (*.xlsx) 输出文件 -(空白) 自动启动 - 否 模板文件 -(空白) 编码 -(空白) 输出质量 - 打印

但是,关于 Access 将如何构造它导出的这个 Excel 文件,我没有看到任何地方列出了任何逻辑(SQL、VBA 等)。我如何看待这个逻辑?我认为这个逻辑必须存储在某个地方,因为该按钮确实返回了一个填充有数据的 Excel 文件。

【问题讨论】:

【参考方案1】:

您有此处使用的查询的名称。

因此使用的 SQL 在名为 Inv File Query 的查询中。

因此您需要在导航窗格中显示查询对象(假设 2007 年以后)。

所以选择这个:

然后将显示应用程序中使用的所有查询。如果查询 Inv File Query 没有显示,它可能被隐藏了。 (公平地说,我会选择所有访问对象 - 但为此我们选择查询)。如果导航窗格未显示,请按 F11。

如果由于某种原因您仍然看不到查询,那么您想要显示隐藏的对象。

要显示所有隐藏的对象,然后右键单击导航窗格的顶部(在查询上),如下所示:

然后: 打开所有选项,现在您应该能够看到/查看用于名为 Inv File Query 的查询的 SQL

【讨论】:

【参考方案2】:
    在设计视图中打开表单 右键单击按钮并选择“属性”,打开“属性”表。 在 On Click 事件中,您会看到“[Embedded Macro]”,单击最右侧的椭圆

作为指针,一旦您弄清楚发生了什么,我会尽我所能将其全部转换为 VBA 代码。这将在未来消除混乱,无论如何,宏确实是穷人编写代码的出路。我从来没有,从来在我的 Access 应用程序中使用宏。

【讨论】:

感谢您提供的所有信息。当我执行这些步骤时,我会看到一个包含以下行的可扩展部分:“对象类型”、“对象名称”等。但是,我看不到任何逻辑(SQL 或其他)。 另外,我刚刚更新了这篇文章的正文,提供了更多关于我所看到内容的详细信息。 是的。如果最初的程序员知道 SQL 或代码逻辑,他/她可能会编写它。你需要做的就是一块一块地拆开那个宏。它背后没有代码,但大多数(如果不是全部)宏逻辑都有相应的 VBA 命令。你必须翻译,这就是为什么我建议你在弄清楚发生了什么后就用 VBA 重写它。 好的,如果它的对象类型是一个查询,那么您的数据库中有一个查询与在“对象名称”字段中输入的名称相同。 好的,我现在已经打开了数据库文件。在屏幕的左侧,列出了“所有表格”部分。我看到了表格,但在任何地方都没有任何查询。看起来本节中的每个表都已展开。

以上是关于如何查看 Access 中按钮触发的 SQL 查询?的主要内容,如果未能解决你的问题,请参考以下文章

请问,在ACCESS中如何创建触发器?

Python如何连接有密码的Access数据库并且查询数据

如何在 Access 16 (Office 365) 的 SQL 编辑窗口中更改字体大小?

c#如何使用委托 触发另一个窗体的按钮刷新另一窗体

如何访问 Access 中的选定行?

更新底层 SQL 表时如何在 Access 中触发 VBA 代码?