追加查询故障
问题描述:
我有我的追加查询的最后一块麻烦。我有记录的产生,就像我想不会触发直到表达Event Date is <=Date()
除外。这是给我一个无与伦比的错误,当我放置<=Date()
在查询生成器的条件字段。我用DateSerial
和其他一些变化试了一下。我相信这与表达是相关的,而不是一个艰难的约会。任何援助将不胜感激。追加查询故障
INSERT INTO SchedulingLog (
UserID
, LogDate
, EventDate
, Category
, CatDetail
, [Value]
)
SELECT Roster.UserID
, Date() AS LogDate
, DateSerial(Year(Date()),Month([WM DOH]),Day([WM DOH])) AS EventDate
, SchedulingLog.Category
, SchedulingLog.CatDetail
, Max(tblAccrual!WeeksAccrual*Roster!Schedule) AS [Value]
FROM tblAccrual
, [Schedule Type]
, Category
INNER JOIN CatDetail
ON Category.CategoryID = CatDetail.CategoryID
, SchedulingLog
INNER JOIN Roster
ON SchedulingLog.UserID = Roster.UserID
WHERE (((tblAccrual.Years)<=Round((Date()-[wm doh])/365,2)))
GROUP BY Roster.UserID
, Date()
, DateSerial(Year(Date()),Month([WM DOH]),Day([WM DOH]))
, SchedulingLog.Category
, SchedulingLog.CatDetail
HAVING (((SchedulingLog.Category) Like "Vac*")
AND ((SchedulingLog.CatDetail) Like "Ann*"));
答
我认为这个问题没有明确地将用户输入日期转换为CDate。我怀疑这是罚款的大部分查询,因为[MW DOH]参数被直接提供给将其转换为日期函数。但是WHERE子句需要显式转换。
以下内容会生成错误“此表达式的输入方式不正确,或者过于复杂,无法评估。例如,数字表达式可能包含太多复杂的元素。请尝试通过将表达式的部分分配给变量“。
SELECT Date()-[userinput] AS something;
而下面的代码不
SELECT Date()-CDate([userinput]) AS something;
本身是否'SELECT'部分工作......当一个'INSERT'查询不包含的意思? – HansUp
它在两个实例中都返回相同的错误。 –
也这么想。简化问题,使其更易于解决。问题不是因为它是一个附加查询;问题是'SELECT'被破坏了。所以先解决。 – HansUp