VB与ACCESS做仓储管理系统,中的修改有问题,求助。
PrivateSubCommand2_Click()'IfNotIsNumeric(Text4.Text)OrVal(Text4.Text)=0Then'编号字段是Acc...
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 = "" 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=E:\xxcc\xxcc.mdb;"
Str3 = "Jet OLEDB:Database Password="
conn.Open Str1 & Str2 & Str3
strSQL = "select * from Goodsinfo where goods_id=" & Val(Text1.Text) & ""
rs.Open strSQL, conn, 3, 3 ‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’调试说这里有问题,怎么改??????????????????????????????????????????????????????????????????????
If rs!goods_id = Val(Text1.Text) Then
'由于系统数据库使用的是自动编号作为主键
'因此以编号字段的内容作为判断的依据
'如果rs!编号 = Val(Text4.Text)说明数据库中有此记录,
'才会修改其它三个字段的内容
'否则给出“不存在此记录”的提示信息并关闭数据连接
rs!goods_id = Text1.Text rs!goods_name = Text2.Text
rs!amount = Text3.Text
rs!jingjia = Text4.Text
rs!lingshoujia = Text5.Text
rs!mfrs = Text6.Text
rs!mfrs_data = Text7.Text
rs!baizhiqi = Text8.Text
rs.Update
rs.Close
conn.Close
MsgBox ("修改记录成功!")
Adodc1.Refresh '刷新数据源,MSHFlexGrid控件会实时刷新显示数据
Else
MsgBox ("不存在此记录!")
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
rs.Close
conn.Close
Exit Sub
End If
End If
'以下四条语句的作用是在操作完成后将文本框置空
Text1.Text = "" Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
End Sub 展开
'If Not IsNumeric(Text4.Text) Or Val(Text4.Text) = 0 Then
'编号字段是Access的自动编号,为自然数'因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程
'MsgBox "记录号是大于0的自然数,请输入正确的编号!"
'Exit Sub
'End If
If Text1.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=E:\xxcc\xxcc.mdb;"
Str3 = "Jet OLEDB:Database Password="
conn.Open Str1 & Str2 & Str3
strSQL = "select * from Goodsinfo where goods_id=" & Val(Text1.Text) & ""
rs.Open strSQL, conn, 3, 3 ‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’调试说这里有问题,怎么改??????????????????????????????????????????????????????????????????????
If rs!goods_id = Val(Text1.Text) Then
'由于系统数据库使用的是自动编号作为主键
'因此以编号字段的内容作为判断的依据
'如果rs!编号 = Val(Text4.Text)说明数据库中有此记录,
'才会修改其它三个字段的内容
'否则给出“不存在此记录”的提示信息并关闭数据连接
rs!goods_id = Text1.Text rs!goods_name = Text2.Text
rs!amount = Text3.Text
rs!jingjia = Text4.Text
rs!lingshoujia = Text5.Text
rs!mfrs = Text6.Text
rs!mfrs_data = Text7.Text
rs!baizhiqi = Text8.Text
rs.Update
rs.Close
conn.Close
MsgBox ("修改记录成功!")
Adodc1.Refresh '刷新数据源,MSHFlexGrid控件会实时刷新显示数据
Else
MsgBox ("不存在此记录!")
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
rs.Close
conn.Close
Exit Sub
End If
End If
'以下四条语句的作用是在操作完成后将文本框置空
Text1.Text = "" Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
End Sub 展开
3个回答
展开全部
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 = "" Then
'对八个文本框的内容进行校验,不接收空值
MsgBox "请输入完整的网站信息!"
Exit Sub
End If
Dim sc As Integer
sc = MsgBox("确实修改这条记录吗?", vbOKCancel, "提示信息")
If sc = 1 Then
'庆亩运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1
Adodc1.RecordSource = "select * from Goodsinfo where goods_id=" & Text1.Text
Adodc1.Refresh
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.AddNew
Adodc1.Recordset.fields("goods_name") = Text2.Text
Adodc1.Recordset.fields("amount") = Text3.Text
Adodc1.Recordset.fields("jingjia") = Text4.Text
Adodc1.Recordset.fields("lingshoujia") = Text5.Text
Adodc1.Recordset.fields("mfrs") = Text6.Text
Adodc1.Recordset.fields("mfrs_data") = Text7.Text
Adodc1.Recordset.fields("baizhiqi") = Text8.Text
Adodc1.Recordset.Update
MsgBox ("修改记录成功!")
Adodc1.RecordSource = "select * from Goodsinfo "
Adodc1.Refresh '刷新誉滑森数据源,MSHFlexGrid控件会让拍实时刷新显示数据
Else
Adodc1.RecordSource = "select * from Goodsinfo "
Adodc1.Refresh '刷新数据源,MSHFlexGrid控件会实时刷新显示数据
MsgBox ("不存在此记录!")
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
rs.Close
conn.Close
Exit Sub
End If
End If
'以下四条语句的作用是在操作完成后将文本框置空
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
End Sub
'If Not IsNumeric(Text4.Text) Or Val(Text4.Text) = 0 Then
'编号字段是Access的自动编号,为自然数'因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程
'MsgBox "记录号是大于0的自然数,请输入正确的编号!"
'Exit Sub
'End If
If Text1.Text = "" Then
'对八个文本框的内容进行校验,不接收空值
MsgBox "请输入完整的网站信息!"
Exit Sub
End If
Dim sc As Integer
sc = MsgBox("确实修改这条记录吗?", vbOKCancel, "提示信息")
If sc = 1 Then
'庆亩运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1
Adodc1.RecordSource = "select * from Goodsinfo where goods_id=" & Text1.Text
Adodc1.Refresh
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.AddNew
Adodc1.Recordset.fields("goods_name") = Text2.Text
Adodc1.Recordset.fields("amount") = Text3.Text
Adodc1.Recordset.fields("jingjia") = Text4.Text
Adodc1.Recordset.fields("lingshoujia") = Text5.Text
Adodc1.Recordset.fields("mfrs") = Text6.Text
Adodc1.Recordset.fields("mfrs_data") = Text7.Text
Adodc1.Recordset.fields("baizhiqi") = Text8.Text
Adodc1.Recordset.Update
MsgBox ("修改记录成功!")
Adodc1.RecordSource = "select * from Goodsinfo "
Adodc1.Refresh '刷新誉滑森数据源,MSHFlexGrid控件会让拍实时刷新显示数据
Else
Adodc1.RecordSource = "select * from Goodsinfo "
Adodc1.Refresh '刷新数据源,MSHFlexGrid控件会实时刷新显示数据
MsgBox ("不存在此记录!")
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
rs.Close
conn.Close
Exit Sub
End If
End If
'以下四条语句的作用是在操作完成后将文本框置空
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
End Sub
唯智信息技术(上海)股份有限公司_
2023-08-26 广告
2023-08-26 广告
作为唯智信息技术(上海)股份有限公司的工作人员,我推荐唯智信息旗下的唯智仓储管理系统。该系统结合了仓储管理、订单管理、批次管理等多种功能,能够满足各类仓库的管理需求。该系统还支持多种设备,包括移动设备、条码设备等,提高了仓库管理的效率和准确...
点击进入详情页
本回答由唯智信息技术(上海)股份有限公司_提供
展开全部
一般是rs数据集对象已经打开了 你要先close关闭后才能再打开 或者是conn数据库连接未成功
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
strSQL = "辩腔陪select * from Goodsinfo where goods_id=" & Val(Text1.Text) & ""
这圆掘一句错了,要用单引号把值括起来,表示字符携蠢串
strSQL = "select * from Goodsinfo where goods_id= '" & Val(Text1.Text) & "' "
希望选为满意答案,急需
这圆掘一句错了,要用单引号把值括起来,表示字符携蠢串
strSQL = "select * from Goodsinfo where goods_id= '" & Val(Text1.Text) & "' "
希望选为满意答案,急需
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询