首页 > 解决方案 > 访问更新 SQL

问题描述

我正在尝试使用输入框更新要更新的表(推荐)字段名称(推荐日期)类型日期,其中用户通过输入框传递数字,然后将数字传递给该数字以向我提供日期 + 2 天的结果。(例如:输入框2天,20-12-2020加2天结果是22-12-2020)我得到的错误(更新语句中的语法错误)我的访问版本是2013

我的代码如下:

Dim S As Integer
    
S = InputBox(" How many days to follow", "Number of Days !")

DoCmd.RunSQL "UPDATE Referral" & _
"SET referdate = referdate" & Me.referdate + S & _
"where SRSno = " & Me.SRSno

Me.Refresh

标签: ms-access-2013

解决方案


根据文档(https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/update-statement-microsoft-access-sql),您的陈述似乎可能包括与局部变量连接的现有列值。试试这个:

DoCmd.RunSQL "UPDATE Referral" & _
"SET referdate = " & Me.referdate + S & _
"where SRSno = " & Me.SRSno

区别很细微,但 Microsoft 示例显示了将值作为查询表达式的一部分添加到现有列值:

SET OrderAmount = OrderAmount * 1.1,

您的案例的替代语法可能是:

DoCmd.RunSQL "UPDATE Referral" & _
"SET referdate = referdate + " & S & _
"where SRSno = " & Me.SRSno

在任何一种情况下,请注意referdate在语句中只出现一次。


推荐阅读