【发布时间】:2015-01-27 22:36:27
【问题描述】:
我一直在这个论坛上寻求 VBA 帮助,但这是我第一次自己发帖。
我正在尝试制作一份报告,提供存储在 Access 中的各种警报的摘要。我想每天提供每个警报的简单计数。我使用了一些 SQL 查询,但没有真正使用任何 Access。我认为 Access 可以从 Access 本身执行数据透视表。如果有更好的方法,请告诉我。
Set CommandQuery.activeConnection = conn
commandQuery.CommandText = _
"TRANSFORM Count(FixAlarms.[Alm_NativeTimeLast]) AS CountOfAlm_NativeTimeLast " & _
"SELECT FixAlarms.Alm_Tagname, FixAlarms.Alm_Desc " & _
"FROM FixAlarms " & _
"WHERE ((FixAlarms.Alm_Tagname) <> """")) AND FixAlarms.Alm_NativeTimeIn > CellTime " & _
"GROUP BY FixAlarms.[Alm_Tagname], FixAlarms.Alm_Descr " & _
"PIVOT Format([Alm_NativeTimeIn],""Short Date"")"
rec.Open commandQuery
这是我正在使用的代码。我不得不重新输入它,所以请原谅任何错字。它完成了我想要的大部分工作,但它没有给我任何关于每列是哪一天的指示。我需要在每一列上都有一个标题,以防有一天没有警报。我认为答案在于 PIVOT 的 IN 部分,但如果没有语法错误,我无法让它工作。我以为我所要做的就是添加
PIVOT Format([Alm_NativeTimeIn],""Short Date"") IN 01/20/15"
如果可以的话,请帮忙。
谢谢。
【问题讨论】:
标签: sql excel vba ms-access pivot