访问:SQL更新查询中的运行时错误3075(缺少运算符)

时间:2014-09-13 01:14:06

标签: sql ms-access ms-access-2013

首次使用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"")));"

1 个答案:

答案 0 :(得分:2)

我的建议:

  1. 您可以使用Format()函数避免WHERE子句中的整个Date()问题,而不是仅尝试提取Now()的日期部分。

  2. 由于您在单个表上执行UPDATE,因此可以使用不带TableName.前缀的字段(列)名称。

  3. 为了使您的代码更加健壮,请将表名括在方括号中,以便在表名包含空格或其他“有趣”字符时不会崩溃。

  4. 因此,修改后的代码看起来更像是这样:

    strSQL = _
            "UPDATE [" + enteredid + "] SET " + _
                "signIn = Format(Now(),""Short Time"") " + _
            "WHERE todayDate = Date()"