Sql 突出显示Access交叉表查询中的选择单元格
当我运行以下语句时,我得到一个错误:transform语句中的语法错误。 有人能告诉我怎样才能修好它吗Sql 突出显示Access交叉表查询中的选择单元格,sql,ms-access,ms-access-2007,Sql,Ms Access,Ms Access 2007,当我运行以下语句时,我得到一个错误:transform语句中的语法错误。 有人能告诉我怎样才能修好它吗 TRANSFORM First([H_Project Calender Concat].[Project ID]) AS [FirstOfProject ID] SELECT [H_Project Calender Concat].Year, [H_Project Calender Concat].Month, [H_Project Calender Concat].Employee FROM
TRANSFORM First([H_Project Calender Concat].[Project ID]) AS [FirstOfProject ID]
SELECT [H_Project Calender Concat].Year, [H_Project Calender Concat].Month, [H_Project Calender Concat].Employee
FROM [H_Project Calender Concat]
GROUP BY [H_Project Calender Concat].Year, [H_Project Calender Concat].Month, [H_Project Calender Concat].Employee
PIVOT [H_Project Calender Concat].Day In IIf([H_Project Calender Concat].Month = 1, (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31), (IIf([H_Project Calender Concat].Month = 2, (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28),(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31)));
它将持续12个月,并且不包含闰年
更新:
我正在尝试创建一个日历,其中显示为特定日期分配的项目ID
示例数据:
Name | Date | Project ID
Bill | 1-29-2014 | P363
Jack | 2-03-2014 | P444
... | ... | ...
Tom | 3-30-2015 | P363
当我发布这篇文章时,我原本希望它看起来像这样:
Year | Month | Name | 1 | 2 | ... | 28 | 29 | 30 | 31
2014 | 1 | Bill | | | ... | | P363 | |
2014 | 2 | Jack | | | ... |
... | ... | ... | | | ... | | | |
2015 | 3 | Tom | | | ... | | | P363
然而,我意识到这没有多大意义。相反,是否有一种方法可以显示上述内容,但突出显示单元格,以显示月份已在这些天结束
示例:[~=高亮显示的正方形]
Year | Month | Name | 1 | 2 | ... | 28 | 29 | 30 | 31
2014 | 1 | Bill | | | ... | | P363 | |
2014 | 2 | Jack | | | ... | |~~~~~~|~~~~~~|~~~~~
... | ... | ... |...|...| ... |... | ... | ... | ...
2015 | 3 | Tom | | | ... | | | P363 |~~~~~
我目前有以下代码。它成功创建了交叉表查询,并将项目ID放置在正确的日期:
TRANSFORM First([H_Project Calender Concat].[Project ID]) AS [FirstOfProject ID]
SELECT [H_Project Calender Concat].Year, [H_Project Calender Concat].Month, [H_Project Calender Concat].Employee
FROM [H_Project Calender Concat]
GROUP BY [H_Project Calender Concat].Year, [H_Project Calender Concat].Month, [H_Project Calender Concat].Employee
PIVOT [H_Project Calender Concat].Day In (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);
您不能将IIF与IN一起使用。可以在VBA中生成查询。可以转换未选择的字段吗?我甚至不知道你想做什么,但看起来你在计算一个月的天数,在你的IIF声明中没有提到30。因此,即使您可以在SQL字符串中使用IIF,您的逻辑仍然有缺陷。你能重新构造你的问题,给我们期望的最终结果,包括一些样本记录(如果可能的话)、原始表格的布局(也包括一些样本记录)以及你迄今为止尝试过的代码吗?如果我们有这些信息,我们可能会提供帮助。@JohnnyBones很抱歉给您带来困惑。我已经更新了描述。谢谢你的澄清,休斯。这是一个很好的问题,我希望雷莫、汉苏普和/或戈德·汤普森能参与进来。我得仔细考虑一下,看看能不能想出什么办法。