1

感谢您的支持以了解以下代码有什么问题:

SELECT [Name] As Milestone, [Start], [Outgoing tasks] As OTask 
FROM [Sheet1$] 
WHERE [Main project] = 'Company A' AND [Main link] = 'Project 1' 
AND [Task class] = 'Company' 
AND [Start] > (SELECT [Start] 
               FROM [Sheet1$] 
               WHERE [Main project] = 'Company A' 
               AND [Main link] = 'Project 1' 
               AND [Name] = OTask 
               AND [Incoming tasks] = Milestone)

我实际上想要做的是获取Name在其继任者 ( ) 之后发生的注册表 ( Outgoing tasks)。

我的参数(里程碑和 OTask)有问题吗?

ERROR: NO VALUE GIVEN FOR ONE OR MORE REQUIRED PARAMETERS

谢谢!!!

4

1 回答 1

2

问题是您在 where 条件中使用了别名。

它应该看起来像这样

SELECT [Name] As Milestone, [Start], [Outgoing tasks] As OTask 
FROM [Sheet1$] 
WHERE [Main project] = 'Company A' AND [Main link] = 'Project 1' 
AND [Task class] = 'Company' 
AND [Start] > (SELECT [Start] 
               FROM [Sheet1$] 
               WHERE [Main project] = 'Company A' 
               AND [Main link] = 'Project 1' 
               AND [Name] = [Outgoing tasks]
               AND [Incoming tasks] = [Name])

你必须OTask替换[Outgoing tasks]_Milestone[Name]

于 2012-10-03T19:41:51.613 回答