【发布时间】:2015-09-01 09:42:31
【问题描述】:
我正在尝试将已经工作的UNION 查询转换为SELECT INTO,作为一组临时表的VBA 过程的一部分。我这样做是因为 Access 存在性能问题。
当我尝试在插入 INTO 子句的情况下运行此查询时,我收到此错误:
"An action query cannot be used as a row source."
我不完全确定为什么我不能执行它或者如何在不创建更多查询的情况下绕过它。这是什么原因造成的,我该如何解决?
SELECT DISTINCT A.*
FROM (SELECT DISTINCT
C.[CUSTOMER CODE],
D.[FISCAL DAY],
D.[TY INVOICE DATE] AS [Invoice Date],
C.[CUSTOMER CODE]&" - "&D.[FISCAL DAY] AS CONCAT,
IIF(D.[TY INVOICE DATE] Is Not Null, 'TY', Null) As TYLY
***INTO [FD CUST Missing- Temp]***
FROM [QR- CUST FD] AS C,
[QR- FD SALES] AS D) AS A
LEFT JOIN [QR- CUST FD] AS C
ON C.[FD CONCAT] = A.[CONCAT]
WHERE C.[FD CONCAT] Is Null
UNION ALL
SELECT DISTINCT
A.*
***INTO [FD Cust Missing- Temp]***
FROM (SELECT DISTINCT
C.[CUSTOMER CODE],
D.[FISCAL DAY],
D.[LY INVOICE DATE] AS [Invoice Date],
C.[CUSTOMER CODE]&" - "&D.[FISCAL DAY] AS CONCAT,
IIF(D.[LY INVOICE DATE] Is Not Null, 'LY', Null) As TYLY
FROM [QR- CUST FD] AS C,
[QR- FD SALES] AS D) AS A
LEFT JOIN [QR- CUST FD] AS C
ON C.[FD CONCAT] = A.[CONCAT]
WHERE C.[FD CONCAT] IS NULL
;
【问题讨论】:
-
@HansUp 我不完全确定我知道你在问什么,但查询来自的基本数据不包含任何带有组合框或列表框的字段。
-
糟糕!现在我明白了。您有 2 个
SELECT INTO语句,您正试图将它们与UNION结合起来。没有骰子!制作简单的SELECT语句并将INTO与顶级SELECT的结果集一起使用我不肯定Access 会接受即使这样,但请先尝试。 -
@HansUp 将 INTO 放在第一个 FROM 子句前面时出现了同样的错误 :(
-
我不确定您的期望。
select into是没有任何输出的东西,那么访问到底应该如何处理联合? -
@Aツ 你能详细说明一下吗?我想保持查询现在的样子,而不是将其分成两个不同的查询,然后是
SELECT INTO然后INSERT INTO我可以在两者的UNION中进行。也许我对功能没有任何了解。
标签: sql vba ms-access-2010 union-all select-into