VB运行后rs.Open strSQL, conn, 3, 3报错 求解答

'"修改记录"按钮(command2)的click事件代码:PrivateSubCommand2_Click()IfNotIsNumeric(Text4.Text)OrV... '"修改记录"按钮(command2)的click事件代码:
Private Sub Command2_Click()
If Not IsNumeric(Text4.Text) Or Val(Text4.Text) = 0 Then
'编号字段是Access的自动编号,为自然数
'因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程
MsgBox "记录号是大于0的自然数,请输入正确的编号!"
Exit Sub
End If
If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then
'对三个文本框的内容进行校验,不接收空值
MsgBox "请输入完整的网站信息!"
Exit Sub

End If

Dim sc As Integer

sc = MsgBox("确实修改这条记录吗?", vbOKCancel, "提示信息")

If sc = 1 Then

'运行时如果用户点击的是MsgBox提示框的"确定"按钮,返回值是1

Dim conn As New ADODB.Connection

Dim rs As New ADODB.Recordset

Dim Str1 As String

Dim Str2 As String

Dim Str3 As String

Str1 = "Provider=Microsoft.Jet.OLEDB.4.0;"

Str2 = "Data Source=wzdz.mdb;"

Str3 = "Jet OLEDB:Database Password="

conn.Open Str1 & Str2 & Str3

strSQL = "select * from wzdz where 编号=" & Val(Text4.Text) & ""

rs.Open strSQL, conn, 3, 3

If rs!编号 = Val(Text4.Text) Then

'由于系统数据库使用的是自动编号作为主键

'因此以编号字段的内容作为判断的依据

'如果rs!编号 = Val(Text4.Text)说明数据库中有此记录,
'才会修改其它三个字段的内容

'否则给出"不存在此记录"的提示信息并关闭数据连接

rs!网站名称 = Text1.Text
rs!网站地址 = Text2.Text
rs!网站描述 = Text3.Text

rs.Update

rs.Close
conn.Close
MsgBox ("修改记录成功!")
Adodc1.Refresh '刷新数据源,MSHFlexGrid控件会实时刷新显示数据
Else
MsgBox ("不存在此记录!")
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
rs.Close
conn.Close
Exit Sub
End If
End If
'以下四条语句的作用是在操作完成后将文本框置空
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub

'如果rs!编号 = Val(Text4.Text)说明数据库中有此记录并进行删除操作
'否则给"不存在此记录"的提示信息并关闭数据连接
rs.Delete
rs.Close
conn.Close
MsgBox ("删除记录成功!")
Adodc1.Refresh '刷新数据源,MSHFlexGrid控件会实时刷新显示数据

Else
MsgBox ("不存在此记录!")
Text4.Text = ""
rs.Close
conn.Close
Exit Sub

End If

End If
'以下四条语句的作用是在操作完成后将文本框置空
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub

VB运行后rs.Open strSQL, conn, 3, 3报错
我将
If rs!编号 = Val(Text4.Text) Then
改成了
if rs.RecordCount>0 then
还是出现错误在
rs.Open strSQL, conn, 3, 3
展开
 我来答
NicoleYoungO
2012-05-28 · TA获得超过236个赞
知道小有建树答主
回答量:159
采纳率:100%
帮助的人:107万
展开全部
是不是因为Str3中密码没有填写,如果本就没有密码,就看看 把 strSQL = "select * from wzdz where 编号=" & Val(Text4.Text) & ""
改成 strSQL = "select * from wzdz where 编号='" & Val(Text4.Text) & "'"在编号后面加个单引号。
追问
应该不是没有密码的问题
我可以添加 但是修改和删除就不行
还是一样报错
rs.Open strSQL, conn, 3, 3
启帆信息
2024-11-19 广告
启帆信息是英伟达中国区代理商,原厂授权代理,提供全面的软件技术解决方案以及NVIDIA以太网产品、交换机等产品,欢迎前来咨询!... 点击进入详情页
本回答由启帆信息提供
laodanaocan
2017-09-07
知道答主
回答量:54
采纳率:0%
帮助的人:16.9万
展开全部
你可以试着将“编号”改成“ID”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式