vb中adodc.refresh出现错误? 对象'Refresh'的方法'IAdodc'失败
运行程序时,弹出窗口:实时错误'-2147217900(80040e14)'对象'Refresh'的方法'IAdodc'失败???程序:PrivateSubCommand...
运行程序时,弹出窗口:实时错误'-2147217900(80040e14)'
对象'Refresh'的方法'IAdodc'失败 ???
程序:
Private Sub Command1_Click()
If Combo1.Text = "" Then
MsgBox "请输入查询内容", 48, "提示"
Exit Sub
End If
If Text1.Text = "" Then
MsgBox "请输入关键字", 48, "提示"
Exit Sub
End If
Adodc1.Recordset.Close
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\恒通客车销售管理系统.mdb;Persist Security Info=False"
If Combo1.Text = "编号" Then '
Adodc1.RecordSource = " select * from 销售订单 where 订单编号 ='" & Text1.Text & "'"
Adodc1.CommandType = adCmdText
Adodc1.Refresh
Else
If Combo1.Text = "客户姓名" Then
Adodc1.RecordSource = "select * from 销售订单 where 客户姓名 ='" & Text1.Text & "'"
Adodc1.CommandType = adCmdText
Adodc1.Recordset.Requery
End If
If Adodc1.Recordset.EOF Then MsgBox "对不起没有你要找的数据!请检查是否输入正确"
End If
End Sub 展开
对象'Refresh'的方法'IAdodc'失败 ???
程序:
Private Sub Command1_Click()
If Combo1.Text = "" Then
MsgBox "请输入查询内容", 48, "提示"
Exit Sub
End If
If Text1.Text = "" Then
MsgBox "请输入关键字", 48, "提示"
Exit Sub
End If
Adodc1.Recordset.Close
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\恒通客车销售管理系统.mdb;Persist Security Info=False"
If Combo1.Text = "编号" Then '
Adodc1.RecordSource = " select * from 销售订单 where 订单编号 ='" & Text1.Text & "'"
Adodc1.CommandType = adCmdText
Adodc1.Refresh
Else
If Combo1.Text = "客户姓名" Then
Adodc1.RecordSource = "select * from 销售订单 where 客户姓名 ='" & Text1.Text & "'"
Adodc1.CommandType = adCmdText
Adodc1.Recordset.Requery
End If
If Adodc1.Recordset.EOF Then MsgBox "对不起没有你要找的数据!请检查是否输入正确"
End If
End Sub 展开
1个回答
展开全部
一般来说,Refresh失败,原因只有2个:
Adodc1.ConnectionString
Adodc1.RecordSource
而更多的原因是后者.
从最后的提示猜测,你的数据表里的"订单编号"字段是什么数据类型的?因为文本框里的数据类型默认是字符类型的.
假设"订单编号"是整数类型,就把
Adodc1.RecordSource = " select * from 销售订单 where 订单编号 ='" & Text1.Text & "'"
改为:
Adodc1.RecordSource = " select * from 销售订单 where 订单编号 =" & CInt(Text1.Text)
试试看.
Adodc1.ConnectionString
Adodc1.RecordSource
而更多的原因是后者.
从最后的提示猜测,你的数据表里的"订单编号"字段是什么数据类型的?因为文本框里的数据类型默认是字符类型的.
假设"订单编号"是整数类型,就把
Adodc1.RecordSource = " select * from 销售订单 where 订单编号 ='" & Text1.Text & "'"
改为:
Adodc1.RecordSource = " select * from 销售订单 where 订单编号 =" & CInt(Text1.Text)
试试看.
追问
还是不行啊 订单编号就是十个数字的号码
改为:
Adodc1.RecordSource = " select * from 销售订单 where 订单编号 =" & CInt(Text1.Text)
后 提示溢出……由于是新手,所以真的不知道怎么办了……
追答
你用的是什么数据库?查看一下
订单编号
是什么类型的?是数值型?
还是字符型?
哦溢出
改成
Adodc1.RecordSource = " select * from 销售订单 where 订单编号 =" & CLng(Text1.Text)
请你还是检查一下,数据库里该字段是什么类型?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询