MS Access 报告字段值作为标题,表下方有其他字段值
Posted
技术标签:
【中文标题】MS Access 报告字段值作为标题,表下方有其他字段值【英文标题】:MS Access Report Field Value as Heading with Other Field Values Beneath in Table 【发布时间】:2017-08-10 16:16:00 【问题描述】:在 Microsoft Access 报表中,如何将字段的每条记录显示为列标题,而该列中其他字段的记录位于其下方。
我的查询提供了以下格式的数据:
| ID | Item | Item Characteristic 1 | Item Characteristic 2 | Other Fields |
|:--:|:------:|:---------------------:|:---------------------:|--------------|
| 22 | Code 1 | Blue | 48 | … |
| 22 | Code 2 | Red | 50 | … |
| 22 | Code 3 | Green | 99 | … |
我希望我的报告看起来像这样:
| 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】:表需要一个唯一的记录标识符 - 应提供自动编号类型字段,然后考虑以下内容。
查询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;
查询2:
TRANSFORM First(Query1.Data) AS FirstOfData
SELECT Query1.ID, Query1.Category
FROM Query1
GROUP BY Query1.ID, Query1.Category
PIVOT Query1.RecID;
【讨论】:
【参考方案2】:为了后代,我通过设置一个未绑定标签表来解决这个问题。
我给这些标签中的每一个都赋予了 x-y 的控件名称,其中 x 是列号,y 是行号。
然后我遍历每一列和每一行并将标签的标题更改为我的 RecordSet 中的值。
(Form("FormName").Controls.Item(x & "-" & y)).Caption = .Fields("FieldName")
【讨论】:
以上是关于MS Access 报告字段值作为标题,表下方有其他字段值的主要内容,如果未能解决你的问题,请参考以下文章
如何以格式化 ID 值作为报告名称将 MS Access 报告导出为 PDF?