如何解决访问更新 SQL
我正在尝试更新我的表(引用)字段名称(引用日期)类型日期 使用输入框进行更新,其中用户通过输入框传递数字,然后传递给这个数字以引用日期给我日期 + 2 天的结果。 (例如:输入框2天,加2天到20-12-2020结果是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
解决方法
根据文档 (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 在语句中只出现一次。
,包括 DateAdd 并且不要忘记空格:
If Val(S) > 0 Then
DoCmd.RunSQL "UPDATE Referral " & _
"SET referdate = DateAdd('d'," & Val(S) & ",referdata) " & _
"WHERE SRSno = " & Me.SRSno & ""
End If
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。