为了防止重复插入数据,每插入一个数据前做一下判断,
其中的rs是Set rs = mdb.OpenRecordset(tableName(List1.ListIndex), 1)
可是结果还是插入了
代码如下:Set rs2 = mdb.OpenRecordset("select wenzhi from " & tableName(List1.ListIndex) & " where wenzhi=" & hanzi, 1)
If rs2.RecordCount = 0 Then
rs.AddNew
rs.Fields("bianma") = srm
rs.Fields("wenzhi") = hanzi
rs.Fields("number") = i + 1
rs.Update
End If
其中的rs是Set rs = mdb.OpenRecordset(tableName(List1.ListIndex), 1)
可是结果还是插入了
代码如下:Set rs2 = mdb.OpenRecordset("select wenzhi from " & tableName(List1.ListIndex) & " where wenzhi=" & hanzi, 1)
If rs2.RecordCount = 0 Then
rs.AddNew
rs.Fields("bianma") = srm
rs.Fields("wenzhi") = hanzi
rs.Fields("number") = i + 1
rs.Update
End If
If rs2.eof Then
rs.AddNew
rs.Fields("bianma") = srm
rs.Fields("wenzhi") = hanzi
rs.Fields("number") = i + 1
rs.Update
End If
那就換成 If rs2.RecordCount >0 Then
exit sub
else
rs.addnew
.....
rs.update
end if偶喜歡用這個判斷,從來沒有出錯噢^^
daisy8675(莫依) 的我想过退出,但是只能退出循环:)
有讨厌的管理员要熄灯了,明天来试
应该是这句话中的sql部分有问题
Set rs2 = mdb.OpenRecordset("select wenzhi from " & tableName(List1.ListIndex) & " where wenzhi=" & hanzi, 1)
调试中发现,结果总是nothing,故 rs2.RecordCount = 0恒成立, 当然持续插入
debug.print出一句sql语句如:select wenzhi from Zi1jm where wenzhi=我们
准确的应该是select wenzhi from Zi1jm where wenzhi='我们'吧
哈哈,在vb中sql语句的变量该如何处理,请指导!
谢谢几位的建议.
kissoflife(明月高楼休独倚,酒入愁肠,化作相思泪!)也应该可行的.
debug.print出来是select wenzhi from Zi1jm where wenzhi='我们'
可是rs还是nothing
????