Ms access 将多个ms access查询合并到一个现有表中
我对MS Access查询知之甚少。我有两张桌子Ms access 将多个ms access查询合并到一个现有表中,ms-access,vba,Ms Access,Vba,我对MS Access查询知之甚少。我有两张桌子 1. Table Output and 2. Dump : this is a linked table to an excel file 我使用了在中找到的连接用户函数 我总共有8个不同的查询,如下所示: Query_1 : DELETE table FROM [Output]; Query_2 : INSERT INTO [Output] (SERVICE_REQUEST_NO) SELECT DISTINCT SERVICE_REQUE
1. Table Output and
2. Dump : this is a linked table to an excel file
我使用了在中找到的连接用户函数
我总共有8个不同的查询,如下所示:
Query_1 : DELETE table FROM [Output];
Query_2 : INSERT INTO [Output] (SERVICE_REQUEST_NO) SELECT DISTINCT SERVICE_REQUEST_NO
FROM Dump
ORDER BY SERVICE_REQUEST_NO;
Query_3 : SELECT DISTINCT i.SERVICE_REQUEST_NO, ConcatRelated(
"EMERTEL_NO",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """") AS EMERTEL_NOss
FROM Dump AS i;
Query_4 : SELECT DISTINCT i.SERVICE_REQUEST_NO, ConcatRelated(
"LOGGED_DATE",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """") AS LOGGED_DATEss
FROM Dump AS i;
Query_5 : SELECT DISTINCT i.SERVICE_REQUEST_NO, ConcatRelated(
"PART_NO",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """") AS PART_NOss
FROM Dump AS i;
Query_6 : SELECT DISTINCT i.SERVICE_REQUEST_NO, ConcatRelated(
"PART_DESC",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """") AS PART_DESCss
FROM Dump AS i;
Query_7 : SELECT DISTINCT i.SERVICE_REQUEST_NO, ConcatRelated(
"STATUS_DESC",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """") AS STATUS_DESCss
FROM Dump AS i;
Query_8 : SELECT DISTINCT i.SERVICE_REQUEST_NO, ConcatRelated(
"STATUS_DATE",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """") AS STATUS_DATEss
FROM Dump AS i;
我的问题是我想更新或将所有这些查询的输出插入表“Output”以匹配“SERVICE\u REQUEST\u NO”
字段
如果您想查看我的MS Access数据库,请务必通知我
请帮帮我
谢谢你的支持
首先,您应该将其合并到一个查询中。按照您的方式,每个查询只从
Dump
表中选择一列。如果将查询分开,则必须将每个查询连接起来,这是一件痛苦的事情,并且会产生更多的错误。作为一个查询,它看起来像:
INSERT INTO [Output]
(
SERVICE_REQUEST_NO,
EMERTEL_NOss,
LOGGED_DATEss,
PART_NOss,
PART_DESCss,
STATUS_DESCss,
STATUS_DATEss
)
SELECT DISTINCT
SERVICE_REQUEST_NO,
Concatrelated(
"EMERTEL_NO",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """")
AS EMERTEL_NOss,
Concatrelated(
"LOGGED_DATE",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """")
AS LOGGED_DATEss,
Concatrelated(
"PART_NO",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """")
AS PART_NOss,
Concatrelated(
"PART_DESC",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """")
AS PART_DESCss,
Concatrelated(
"STATUS_DESC",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """")
AS STATUS_DESCss,
Concatrelated(
"STATUS_DATE",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """")
AS STATUS_DATEss
FROM [Dump]
我不太清楚为什么在每次查询中都使用DISTINCT
,而没有看到实际数据。为了回答这个问题,我假设您使用它是为了避免[Output
。我的选择列表顶部的单个DISTINCT
解决了这一问题。首先,您应该将其合并到一个查询中。按照您的处理方式,每个查询只从转储
表中选择一列。如果将查询分开,则必须连接每个查询,这是一件痛苦的事情,并且会造成错误出现错误的机会更多。作为一个查询,它看起来像:
INSERT INTO [Output]
(
SERVICE_REQUEST_NO,
EMERTEL_NOss,
LOGGED_DATEss,
PART_NOss,
PART_DESCss,
STATUS_DESCss,
STATUS_DATEss
)
SELECT DISTINCT
SERVICE_REQUEST_NO,
Concatrelated(
"EMERTEL_NO",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """")
AS EMERTEL_NOss,
Concatrelated(
"LOGGED_DATE",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """")
AS LOGGED_DATEss,
Concatrelated(
"PART_NO",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """")
AS PART_NOss,
Concatrelated(
"PART_DESC",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """")
AS PART_DESCss,
Concatrelated(
"STATUS_DESC",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """")
AS STATUS_DESCss,
Concatrelated(
"STATUS_DATE",
"Dump",
"SERVICE_REQUEST_NO = """ & [SERVICE_REQUEST_NO] & """")
AS STATUS_DATEss
FROM [Dump]
我不太清楚为什么在每次查询中都使用DISTINCT
,而没有看到实际数据。为了回答这个问题,我假设您使用它是为了避免[Output
中出现完全重复的行。我选择列表顶部的单个DISTINCT
解决了这个问题