首次使用Access并希望创建一个使用变量作为其表名的更新查询。现在,我已经把自己变成了一个没有任何好处的网络。当我到达需要SQL代码的部分时,我得到Runtime error 3075 - Missing operator in '(((" + enteredid + ".todayDate)=Format(Now()','""Short Date"")))'
我从未在SQL中编码,所以我不知道需要什么操作符。
我的代码:
strSQL = "UPDATE " + enteredid + " SET " + enteredid + ".signIn = Format(Now(),""Short Time"") WHERE (((" + enteredid + ".todayDate)=Format(Now()','""Short Date"")));"
答案 0 :(得分:2)
我的建议:
您可以使用Format()
函数避免WHERE子句中的整个Date()
问题,而不是仅尝试提取Now()
的日期部分。
由于您在单个表上执行UPDATE,因此可以使用不带TableName.
前缀的字段(列)名称。
为了使您的代码更加健壮,请将表名括在方括号中,以便在表名包含空格或其他“有趣”字符时不会崩溃。
因此,修改后的代码看起来更像是这样:
strSQL = _
"UPDATE [" + enteredid + "] SET " + _
"signIn = Format(Now(),""Short Time"") " + _
"WHERE todayDate = Date()"