如何在 ms Access 报告中使用别名
Posted
技术标签:
【中文标题】如何在 ms Access 报告中使用别名【英文标题】:How do I use an Alias in my Acess report 【发布时间】:2016-04-20 14:00:59 【问题描述】:我在我的 Access SQL 查询中创建了一个别名,当我运行我的查询时它显示为有效列,但是当我尝试在我的报告中使用该字段时,它恢复为原始名称和值。如何让报告提取在我的记录堆栈中返回的别名的值?我是否必须通过 VBA 执行此操作?
这是我报告的记录来源的查询:
SELECT
ISO_ID.ISOID,
ISO_Stats.TransactionCount,
ISO_Stats.TerminalCount,
ISO_Stats.MonthEnd,
m2.TerminalCount,
m2.TransactionCount,
m2.MonthEnd,
m3.TerminalCount,
m3.TransactionCount,
m3.MonthEnd
FROM
(((ISO_ID
INNER JOIN ISO_Stats AS m2
ON ISO_ID.[ISOID] = m2.[ISOID])
INNER JOIN ISO_Stats
ON (ISO_ID.ISOID = ISO_Stats.ISOID) AND (ISO_ID.InstNbr = ISO_Stats.InstNbr))
INNER JOIN ISO_Stats AS m3
ON ISO_ID.[ISOID] = m3.[ISOID])
WHERE
(((ISO_Stats.MonthEnd)=DateSerial(Year(Date()),Month(Date()),0))
AND ((m2.MonthEnd)=DateSerial(Year(Date()),Month(Date())-1,0))
AND ((m3.MonthEnd)=DateSerial(Year(Date()),Month(Date())-2,0))
AND ((ISO_ID.Cancelled)<>"Y") )
ORDER BY ISO_ID.ISOName;
【问题讨论】:
是的。我进入报告属性并从数据源获取查询。它显示为可用字段并在设计视图中正确显示。但是,当我查看报告时,它会显示原始字段的值。当我返回设计视图时,该标签的数据源会反映原始字段。 实际上我已经创建了三个,使用内部连接,我可能应该提到过,所有三个都以相同的方式运行。 选择 ISO_ID.ISOID, ISO_Stats.TransactionCount, ISO_Stats.TerminalCount, ISO_Stats.MonthEnd, m2.TerminalCount, m2.TransactionCount, m2.MonthEnd, m3.TerminalCount, m3.TransactionCount, m3.MonthEnd跨度> FROM (((ISO_ID INNER JOIN ISO_Stats AS m2 ON ISO_ID.[ISOID] = m2.[ISOID]) INNER JOIN ISO_Stats ON (ISO_ID.ISOID = ISO_Stats.ISOID) AND (ISO_ID.InstNbr = ISO_Stats.InstNbr)) INNER JOIN ISO_Stats AS m3 ON ISO_ID.[ISOID] = m3.[ISOID]) WHERE (((ISO_Stats.MonthEnd)=DateSerial(Year(Date()),Month(Date()),0)) AND ((m2.MonthEnd)=DateSerial(Year(Date( )),Month(Date())-1,0)) AND ((m3.MonthEnd)=DateSerial(Year(Date()),Month(Date())-2,0)) AND ((ISO_ID.Cancelled )"Y") ) 按 ISO_ID.ISOName 排序; 【参考方案1】:您的查询的SELECT
列列表包含重复的列名。使用别名,使查询结果集中的列名不同:
SELECT
ISO_ID.ISOID,
ISO_Stats.TransactionCount AS [TransactionCount_i],
ISO_Stats.TerminalCount AS [TerminalCount_i],
ISO_Stats.MonthEnd AS [MonthEnd_i],
m2.TerminalCount AS [TerminalCount_2],
m2.TransactionCount AS [TransactionCount_2],
m2.MonthEnd AS [MonthEnd_2],
m3.TerminalCount AS [TerminalCount_3],
m3.TransactionCount AS [TransactionCount_3],
m3.MonthEnd AS [MonthEnd_3]
您将需要修改报告以使用这些别名列名,但是当处理重复的列名时,您应该能够避免报告混淆。
【讨论】:
完美!效果很好。以上是关于如何在 ms Access 报告中使用别名的主要内容,如果未能解决你的问题,请参考以下文章
即使没有结果,如何在分组的 MS Access 报告中显示类别
如何使用存储在数据库字段中的相对路径在 ms access 2013 报告中显示图像
如何在 Oracle 身份验证中使用 MS Access 连接字符串