sql - SQL中的UPDATE语句一半工作一半不做任何事情
问题描述
所以我一辈子都无法弄清楚我到底做错了什么。我想到了很多词。但是现在我已经完成了一半的UPDATE
工作,但无法让其余的工作。
DoCmd.SetWarnings True
If Me.butCompleteFlight.Value = True Then
SQL = "UPDATE tblFlightRecords SET strLand = values('" & Me.strStopTime & "') WHERE strWorkingRecord = TRUE"
SQL = "UPDATE tblFlightRecords SET strWorkingRecord = FALSE WHERE strWorkingRecord = TRUE"
DoCmd.RunSQL SQL
End If
DoCmd.SetWarnings True
strWorkingRecord 从切换TRUE
到FALSE
作品。我遇到的问题是 strLand 没有填充,我使用了与INSERT
数据库不同部分中使用的 sql 相同的语法,但无法找出我在这个问题上搞砸了什么。
谢谢
解决方案
SQL
是一个字符串,您一个接一个地为其分配 2 个值。当您执行DoCmd.RunSQL SQL
时,它包含您分配给它的最后一个值。
分别执行每条语句:
SQL = "UPDATE tblFlightRecords SET strLand = '" & Me.strStopTime & "' WHERE strWorkingRecord = TRUE"
DoCmd.RunSQL SQL
SQL = "UPDATE tblFlightRecords SET strWorkingRecord = FALSE WHERE strWorkingRecord = TRUE"
DoCmd.RunSQL SQL
或者您可以在 1 个语句中执行此操作,如下所示:
SQL = "UPDATE tblFlightRecords SET strLand = '" & Me.strStopTime & "', strWorkingRecord = FALSE WHERE strWorkingRecord = TRUE"
DoCmd.RunSQL SQL
语句中的VALUES
子句UPDATE
也是错误的。您只能在INSERT
语句中使用它。
推荐阅读
- powershell - Get-ADuser 定位所有组成员资格输出
- c# - C# - 从 .NET 应用程序访问 HTTPS URL(不导入服务器证书)不会引发 SSL 异常
- angular - 如何在 RxJs Observable 中捕获失败和取消的请求?
- javascript - NodeJS突变的ajax?
- linux - 编译curl后的路径问题
- vb.net - Gridview 的下拉列表会触发以选定行开头的所有行的 selectedindexchanged 事件,但我只希望它触发选定行
- javascript - RxJs,如何处理工作流?
- php - 代码点火器中的 where_in
- javascript - 尝试将数据发布到 mongodb 时无限加载
- tableau-api - Tableau 文件保存选项