【发布时间】:2011-12-24 22:34:43
【问题描述】:
我正在制作一个表格来向我的数据库中添加一些记录,但我遇到了一些问题。如果用户填写名为“产品”的字段,我想通过显示一张图片来通知他该产品在数据库中。 (我只是想告诉他-不要禁止添加选项)
我有这段代码,不幸的是它给了我一个错误(运行时错误没有运算符)
Private Sub ProductText_LostFocus()
Dim cnn as New ADODB.Connection
Dim strSQL as String
Dim rs as New ADODB.Recordset
Set cnn = CurrentProject.Connection
strSQL = "Select Product FROM Shopping WHERE Product = " & ProductText.Value
Set rs = cnn.Execute(strSQL)
If rs.RecordCount > 0 then
ShowPicture.Visible = True
End if
End sub
我做错了什么?
【问题讨论】:
-
如果“Pruduct”不是数字,则该值需要用单引号括起来。
...WHERE Product = '" & ProductText.Value & "'" -
好的,谢谢它没有提示任何错误,但我看不到效果 - 图片仍然不可见(无论产品是否在数据库中),例如颜色TextField 不会变红。怎么了?!
-
测试 rs.EOF 不是 Recordcount。如果没有匹配,则 rs.EOF 将为 True。
-
不要假设 Access(ACE、Jet 等)对SQL injection 免疫。
标签: sql vba ms-access-2003