在Microsoft Access报表中,如何将字段的每条记录显示为列标题,并在其下方的列记录中显示其他字段的记录。
我的查询以下列格式提供数据:
| Heading | Data True to All Records1 | More Data True to All Records2 | |
|:---------------------:|:-------------------------:|:------------------------------:|:------------:|
| ------------ | ------------ | ------------ | ------------ |
| Item | Code 1 | Code 2 | Code 3 |
| Item Characteristic 1 | Blue | Red | Green |
| Item Characteristic 2 | 48 | 50 | 99 |
| Other Fields | … | … | … |
| ------------ | ------------ | ------------ | ------------ |
| Footer | Data True to All Records3 | More Data True to All Records4 | |
我希望我的报告看起来像这样:
| Heading | | |
|:-------:|:-----:|:--:|
| ---- | | |
| Code 1 | Blue | 48 |
| | | |
| Code 2 | Red | 50 |
| | | |
| Code 3 | Green | 99 |
| --- | | |
| Footer | | |
目前,我只能以以下格式获取数据:
{{1}}
每条记录都会产生一个新的'行'在报告中。
有人可以帮忙吗?
答案 0 :(得分:0)
表需要一个唯一的记录标识符 - 应该提供自动编号类型字段,然后考虑以下内容。
查询1:
SELECT RecID, ID, "Item" AS Category, Item AS Data FROM Tablename
UNION SELECT RecID, ID, "ItemChar1", ItemChar1 FROM Tablename
UNION SELECT RecID, ID, "ItemChar2", ItemChar2 FROM Tablename;
QUERY2:
TRANSFORM First(Query1.Data) AS FirstOfData
SELECT Query1.ID, Query1.Category
FROM Query1
GROUP BY Query1.ID, Query1.Category
PIVOT Query1.RecID;
答案 1 :(得分:0)
对于后人,我通过设置一个未绑定标签表来解决这个问题。
我为这些标签中的每一个赋予了控制名称x-y,其中x是列号,y是行号。
然后我遍历每个列和行,并将标签的标题更改为我的RecordSet中的值。
(Form("FormName").Controls.Item(x & "-" & y)).Caption = .Fields("FieldName")