访问联合查询奇数字符。
Access union query odd characters.
我有一个数据库,其中有一个联合查询正在为报告提取一些数据。这已经运行了一段时间,我不得不将 table 中的字段从短文本切换为带有富文本的长文本,以支持其他字体选项。这样做时,当我 运行 查询时,有问题的字段会返回有趣的字符。 table 称为 tbl_Process,字段为 Process。我曾尝试在该字段上设置索引,但没有帮助。我可以稍微摸索一下联合查询,但它们是一个弱点,我希望有人可以看一下查询,看看他们是否有任何建议。
SELECT tbl_Areas.Area_Detail AS Area, tbl_Areas.Product, tbl_Areas.Area_ID AS [Area Code], tbl_Areas.Revision AS [Area Book Revision], tbl_Processes.Group, tbl_Processes.Serial_Number AS [Process Serial Number], [Group] & "-" & [Product_Family] & [tbl_Products].[Size] & "-" & [tbl_Processes].[Serial_Number] & "-" & [tbl_Areas].[Area_ID] & "-" & [tbl_Processes]![Revision] AS [Document Name], tbl_Processes.Process, tbl_Processes.Revision AS [Process Revision], tbl_Finished_Product_Families.Common_Name AS [Product Family], tbl_Products.Size AS [Product Size], tbl_Models.Model_Definition AS [Product Model], tbl_ECN.Date_Published AS [ECN Date], Max(tbl_ECN.Revision) AS [ECN Revision], tbl_ECN.Engineer AS [Engineer of Record], tbl_Processes.Sequential_Position
FROM (tbl_Models INNER JOIN (tbl_Finished_Product_Families INNER JOIN tbl_Products ON tbl_Finished_Product_Families.Finished_Product_Family = tbl_Products.Product_Family) ON tbl_Models.Model = tbl_Products.Model) INNER JOIN (tbl_ECN RIGHT JOIN (tbl_Areas INNER JOIN tbl_Processes ON tbl_Areas.Area_ID = tbl_Processes.Area) ON tbl_ECN.Serial_Number = tbl_Processes.Serial_Number) ON tbl_Products.Product_ID = tbl_Processes.Product
GROUP BY tbl_Areas.Area_Detail, tbl_Areas.Product, tbl_Areas.Area_ID, tbl_Areas.Revision, tbl_Processes.Group, tbl_Processes.Serial_Number, [Group] & "-" & [Product_Family] & [tbl_Products].[Size] & "-" & [tbl_Processes].[Serial_Number] & "-" & [tbl_Areas].[Area_ID] & "-" & [tbl_Processes]![Revision], tbl_Processes.Process, tbl_Processes.Revision, tbl_Finished_Product_Families.Common_Name, tbl_Products.Size, tbl_Models.Model_Definition, tbl_ECN.Date_Published, tbl_ECN.Engineer, tbl_Processes.Sequential_Position
UNION SELECT DISTINCT tbl_Areas.Area_Detail, tbl_Areas.Product, tbl_Areas.Area_ID, tbl_Areas.Revision, "OP Book" AS Expr1, Null AS Expr2, "OP-" & [Product_Family] & [tbl_Products].[Size] & "-0000-" & [tbl_Areas].[Area_ID] AS [Document Name], Null AS Expr4, Null AS Expr3, tbl_Finished_Product_Families.Common_Name, tbl_Products.Size, tbl_Models.Model_Definition, Null AS Expr5, Null AS Expr6, Null AS Expr7, 100 AS Expr8
FROM (tbl_Models INNER JOIN (tbl_Finished_Product_Families INNER JOIN tbl_Products ON tbl_Finished_Product_Families.Finished_Product_Family = tbl_Products.Product_Family) ON tbl_Models.Model = tbl_Products.Model) INNER JOIN (tbl_Areas INNER JOIN tbl_Processes ON tbl_Areas.Area_ID = tbl_Processes.Area) ON tbl_Products.Product_ID = tbl_Processes.Product;
按照Don George 的建议,我发现如果我切换tbl_Processes.Process to First(tbl_Processes.Process) AS Process
它可以正确显示数据并且没有丢失任何东西。我确实需要调整几个引用此查询的查询,但现在一切正常。
当您对备注字段执行聚合函数时,您可能会得到一些奇怪的结果。此页面解释了问题 http://allenbrowne.com/ser-63.html
我有一个数据库,其中有一个联合查询正在为报告提取一些数据。这已经运行了一段时间,我不得不将 table 中的字段从短文本切换为带有富文本的长文本,以支持其他字体选项。这样做时,当我 运行 查询时,有问题的字段会返回有趣的字符。 table 称为 tbl_Process,字段为 Process。我曾尝试在该字段上设置索引,但没有帮助。我可以稍微摸索一下联合查询,但它们是一个弱点,我希望有人可以看一下查询,看看他们是否有任何建议。
SELECT tbl_Areas.Area_Detail AS Area, tbl_Areas.Product, tbl_Areas.Area_ID AS [Area Code], tbl_Areas.Revision AS [Area Book Revision], tbl_Processes.Group, tbl_Processes.Serial_Number AS [Process Serial Number], [Group] & "-" & [Product_Family] & [tbl_Products].[Size] & "-" & [tbl_Processes].[Serial_Number] & "-" & [tbl_Areas].[Area_ID] & "-" & [tbl_Processes]![Revision] AS [Document Name], tbl_Processes.Process, tbl_Processes.Revision AS [Process Revision], tbl_Finished_Product_Families.Common_Name AS [Product Family], tbl_Products.Size AS [Product Size], tbl_Models.Model_Definition AS [Product Model], tbl_ECN.Date_Published AS [ECN Date], Max(tbl_ECN.Revision) AS [ECN Revision], tbl_ECN.Engineer AS [Engineer of Record], tbl_Processes.Sequential_Position
FROM (tbl_Models INNER JOIN (tbl_Finished_Product_Families INNER JOIN tbl_Products ON tbl_Finished_Product_Families.Finished_Product_Family = tbl_Products.Product_Family) ON tbl_Models.Model = tbl_Products.Model) INNER JOIN (tbl_ECN RIGHT JOIN (tbl_Areas INNER JOIN tbl_Processes ON tbl_Areas.Area_ID = tbl_Processes.Area) ON tbl_ECN.Serial_Number = tbl_Processes.Serial_Number) ON tbl_Products.Product_ID = tbl_Processes.Product
GROUP BY tbl_Areas.Area_Detail, tbl_Areas.Product, tbl_Areas.Area_ID, tbl_Areas.Revision, tbl_Processes.Group, tbl_Processes.Serial_Number, [Group] & "-" & [Product_Family] & [tbl_Products].[Size] & "-" & [tbl_Processes].[Serial_Number] & "-" & [tbl_Areas].[Area_ID] & "-" & [tbl_Processes]![Revision], tbl_Processes.Process, tbl_Processes.Revision, tbl_Finished_Product_Families.Common_Name, tbl_Products.Size, tbl_Models.Model_Definition, tbl_ECN.Date_Published, tbl_ECN.Engineer, tbl_Processes.Sequential_Position
UNION SELECT DISTINCT tbl_Areas.Area_Detail, tbl_Areas.Product, tbl_Areas.Area_ID, tbl_Areas.Revision, "OP Book" AS Expr1, Null AS Expr2, "OP-" & [Product_Family] & [tbl_Products].[Size] & "-0000-" & [tbl_Areas].[Area_ID] AS [Document Name], Null AS Expr4, Null AS Expr3, tbl_Finished_Product_Families.Common_Name, tbl_Products.Size, tbl_Models.Model_Definition, Null AS Expr5, Null AS Expr6, Null AS Expr7, 100 AS Expr8
FROM (tbl_Models INNER JOIN (tbl_Finished_Product_Families INNER JOIN tbl_Products ON tbl_Finished_Product_Families.Finished_Product_Family = tbl_Products.Product_Family) ON tbl_Models.Model = tbl_Products.Model) INNER JOIN (tbl_Areas INNER JOIN tbl_Processes ON tbl_Areas.Area_ID = tbl_Processes.Area) ON tbl_Products.Product_ID = tbl_Processes.Product;
按照Don George 的建议,我发现如果我切换tbl_Processes.Process to First(tbl_Processes.Process) AS Process
它可以正确显示数据并且没有丢失任何东西。我确实需要调整几个引用此查询的查询,但现在一切正常。
当您对备注字段执行聚合函数时,您可能会得到一些奇怪的结果。此页面解释了问题 http://allenbrowne.com/ser-63.html