MS Access SQL 查询中的这个前缀 (ABF:) 是啥意思?

Posted

技术标签:

【中文标题】MS Access SQL 查询中的这个前缀 (ABF:) 是啥意思?【英文标题】:What does this prefix (ABF:) in the MS Access SQL query mean?MS Access SQL 查询中的这个前缀 (ABF:) 是什么意思? 【发布时间】:2020-01-20 12:58:38 【问题描述】:

我的任务是从一个不起眼的 MSACCESS 2000 程序中提取一些数据,该程序与 mysql 表链接,并通过 php 显示数据,以便我们可以永久废弃访问程序。

我没有 Access 经验,我现在已经搜索了几个小时以查找某些数据字段的来源,我最接近的是在表单上生成报告,它向我显示以下内容(表/列名称已编辑):

SELECT [Table1].[somecol],
[Table2].[somecol],
[Table2].[somecol],
[ABF: Table3].[somecol],
[ABF: Table3].[somecol],
[ABF: Table3].[somecol]
FROM
[Table2]
INNER JOIN
([ABF: Table3]
INNER JOIN [Table1]
ON [ABF: Table3].[somecol]=[Table1].[somecol])
ON [Table2].[somecol]=[Table1].[somecol];

ABF: 是什么意思?!?

Table3 没有出现在 mySQL DB AFAIK 中的任何位置。它似乎也没有链接到任何 .mdb 数据中。

可能是 Abfrage(查询)吗?这是德国访问。如果是这样,我到底在哪里找到最后吐出 Table3 的子查询?在这个古老的 Access 中导航是一场噩梦,你无法在全球范围内搜索任何东西......

【问题讨论】:

【参考方案1】:

它肯定是 Abfrage(查询)的缩写。

没有Table3,也没有子查询。 Access db 中有一个名为 ABF: Table3 的查询。

看看它的设计,看看它做了什么。

或者在即时窗口中使用? CurrentDb.QueryDefs("ABF: Table3").SQL

【讨论】:

QueryDefs 命令为我做了这件事,我终于可以看到表面下实际发生的事情并在 PHP 中复制查询。非常感谢。【参考方案2】:

ABF: 在 MS Access 中没有特殊含义 - 在您的示例中,它只是表/查询名称的一部分,例如:ABF: Table3。我同样可以创建一个新数据库并保存一个名为 QRY: MyTable 的查询。

正如您所指出的,ABF 可能是Abfrage 的缩写,德语是Query 的缩写,因此我建议您查看数据库中的查询以查找名为ABF: Table3 的查询。

请注意,查询可能会隐藏在 MS Access 中,因此您可能需要在“选项”菜单中启用显示隐藏对象,然后才能在 MS Access 导航中显示查询。

【讨论】:

以上是关于MS Access SQL 查询中的这个前缀 (ABF:) 是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

VBA 代码中的 MS Access SQL 查询

SQL / MS Access - 为啥这个 CASE 不起作用?

将值导出到 Excel MS Access

通过 ODBC 连接到 SQL Server 的 Access 中的 MS SQL 查询

为啥 MS-Access 中的 Teradata 查询比 SQL Server 更快

编辑器中的 ms-access VBA 长 sql 查询字符串行拆分(内联双引号)