У меня есть вкладка-кросс запрос, как показано ниже:ИНЕКЕ имеет действительный недопустимый параметр
TRANSFORM Sum([Raw Scores].[Raw Score]) AS SumOfScore
SELECT [Raw Scores].PlayerID, [Raw Scores].[First Name], [Raw Scores].[Last Name], [Raw Scores].[Round Number], Sum([Raw Scores].Score) AS [Final Score], Sum([Raw Scores].[Raw Score]) AS [Total Shots]
FROM [Raw Scores]
WHERE [Round Number] = [Enter Round Number:]
GROUP BY [Raw Scores].PlayerID, [Raw Scores].[First Name], [Raw Scores].[Last Name], [Raw Scores].[Round Number]
PIVOT [Raw Scores].[Hole ID];
[Raw Scores].[Round Number]
представляет собой столбец в другой таблице, которая имеет в нем данные.
this.[Enter Round Number:]
Однако, это параметр.
Проблема:
То, что я пытаюсь сделать, это отсортировать все баллы по раунду, что они были в приобретенных, однако, положение WHERE
, кажется, есть проблема.
Всякий раз, когда используется имя не колонки, он выплевывает следующее сообщение об ошибке:
Но, когда определенное значение используется вместо (один написан в запросе, а не параметр) используется, запрос выполняется отлично.
TRANSFORM Sum([Raw Scores].[Raw Score]) AS SumOfScore
SELECT [Raw Scores].PlayerID, [Raw Scores].[First Name], [Raw Scores].[Last Name], [Raw Scores].[Round Number], Sum([Raw Scores].Score) AS [Final Score], Sum([Raw Scores].[Raw Score]) AS [Total Shots]
FROM [Raw Scores]
WHERE [Round Number] = 1
GROUP BY [Raw Scores].PlayerID, [Raw Scores].[First Name], [Raw Scores].[Last Name], [Raw Scores].[Round Number]
PIVOT [Raw Scores].[Hole ID];
Примечание:[Raw Scores]
является запрос. Добавление предложения WHERE
с параметром к этому запросу дает результаты совершенно точно, но при использовании в сочетании с вышеуказанным запросом отображает сообщение об ошибке (показано на рисунке выше) ...
Вот [Raw Scores]
Запрос, с параметр, который работает (и имеет неизвестную переменную в ней):
SELECT Scores.PlayerID, Scores.Score AS [Raw Score], Scores.[Hole ID], Holes.Par, IIf([Raw Score]=0,Holes.Par,[Raw Score]-Holes.Par) AS Score, Players.[First Name], Players.[Last Name], Scores.[Round Number], Players.Country
FROM (Scores INNER JOIN Holes ON Scores.[Hole ID] = Holes.[Hole Number]) INNER JOIN Players ON Scores.PlayerID = Players.[Player ID]
WHERE [Round Number] = [Enter Round Number:];
Update: не определяющий параметр, как поле, кажется, решить эту проблему, но для удобства чтения, я до сих пор это нужно отображать правильное имя ,
TRANSFORM Sum([Raw Scores].[Raw Score]) AS SumOfScore
SELECT [Raw Scores].PlayerID, [Raw Scores].[First Name], [Raw Scores].[Last Name], [Raw Scores].[Round Number], Sum([Raw Scores].Score) AS [Final Score], Sum([Raw Scores].[Raw Score]) AS [Total Shots]
FROM [Raw Scores]
WHERE [Round Number] = ?
GROUP BY [Raw Scores].PlayerID, [Raw Scores].[First Name], [Raw Scores].[Last Name], [Raw Scores].[Round Number]
PIVOT [Raw Scores].[Hole ID];
Вопрос:
Как получить запрос на работу; спросить цену?
Erm .. Как это сделать?(Я знаю, что в запросе 'Raw Scores',' [Enter Round Number:] 'является параметром, но как я могу сделать его в моем <Запрос в самом верхнем> '' [Enter Round Number:] 'one?) – aytimothy
@aytimothy: - Вы используете .net, если да, то vb.net или что? –
Я делаю это с .NET в C# и внутри самого Access. (Как и в: Подстановка того, что '1' с переменной на C# является простой, но не такой-то в Access, поскольку она запутывается). – aytimothy