UPDATE sql没有更新
Posted
技术标签:
【中文标题】UPDATE sql没有更新【英文标题】:UPDATE sql not updating 【发布时间】:2015-05-30 19:01:12 【问题描述】:我遇到了这个 UPDATE sql 的问题,由于某种原因它没有更新表 NOMI。我没有收到任何类型的错误。我正在使用另一个表中的值更新此表,Me.(...)
正在获取它们的值。当我做Debug.Print
时,我得到了这个:
UPDATE NOMI SET workername = 'Bob', dateassigned = #5/27/2015 8:52:52 PM#, actiondate = #5/30/2015 11:56:43 AM#, caseid = 'BO09999', lastname = 'Smith', firstname = 'Jane', Program = 'Awesome', language = 'English', Status = 'Unprocessed' WHERE ((IsNull([caseid]))<>False)
代码如下:
strSQL = "UPDATE NOMI SET workername = '" & Me.workername & "',
dateassigned = #" & Me.dateassigned & "#, actiondate = #" & Now & "#,
caseid = '" & Me.caseid & "', lastname = '" & Me.lastname & "',
firstname = '" & Me.firstname & "', Program = '" & Me.program & "',
language = '" & Me.language & "', Status = '" & Me.Status & "'
WHERE ((IsNull([caseid]))<>False)"
CurrentDb.Execute strSQL
【问题讨论】:
有多少行满足WHERE
条件? SELECT Count(*) AS row_count FROM NOMI WHERE ((IsNull([caseid]))<>False)
注意如果表是空的,你需要INSERT
而不是UPDATE
。
嗨@HansUp,你是对的。我将我的代码调整为一个 INSERT 查询,并且效果很好。谢谢!
【参考方案1】:
这个:
WHERE ((IsNull([caseid]))<>False)
基本意思是:
WHERE caseid is null
这对于表中的任何行可能都不是真的。当然如果caseid
是主键,它就不可能是null
。
【讨论】:
嗨@Andomar,实际上caseid
是Null,这是一个新表,所以表上还没有数据。我正在将此数据添加到表 NOMI 中。
哦!好吧,update
用于更新现有行。如果您尝试插入新行,请使用insert
命令。喜欢insert into YourTable (col1, col2) values 'value1', 'value2';
你是对的。我现在正在编写 INSERT
查询,但可以在这样的 INSERT 查询中使用 Me.(...)
吗?以上是关于UPDATE sql没有更新的主要内容,如果未能解决你的问题,请参考以下文章