类似crosstab的Access数据如何转换

How to transform Access data similar to crosstab

我有想要显示的数据,类似于交叉表查询,但不完全是。我的数据看起来像这样,每个数据段在不同的行上:

我希望将每个客户端的数据合并为一行,如下所示:

我尝试过使用交叉表查询进行此操作,但我不想对任何字段进行总计,并且每个产品都有多个数据点(类型、名称、购买日期等)。

非常感谢任何帮助!

这不是一个非常实用的数据演示,但它是可能的。需要一个唯一的标识符字段 - 自动编号应该服务 - 我称之为 RID。考虑:

查询 1:

SELECT RID, ID, FirstName, LastName, Dept, ProductType AS Data, "PT" AS Cat FROM Table1
UNION SELECT RID, ID, FirstName, LastName, Dept, ProductName, "PN" FROM Table1
UNION SELECT RID, ID, FirstName, LastName, Dept, PurchaseDate, "PD" FROM Table1
UNION SELECT RID, ID, FirstName, LastName, Dept, PurchaseCost, "PC" FROM Table1
UNION SELECT RID, ID, FirstName, LastName, Dept, DeliveryDate, "DD" FROM Table1;

查询 2:

TRANSFORM First(Query1.Data) AS FirstOfData
SELECT Query1.ID, Query1.FirstName, Query1.LastName, Query1.Dept
FROM Query1
GROUP BY Query1.ID, Query1.FirstName, Query1.LastName, Query1.Dept
PIVOT DCount("*","Query1","ID=" & [ID] & " AND Cat='" & [Cat] & "' AND RID<" & [RID])+1 & [Cat];

但是,有 255 个字段的限制,因此可能有更多的数据无法处理。