急!!!实时错误‘3021’ BOF或EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录

yuzhouer1122 2008-09-23 04:00:41


Dim dbconn As New ADODB.Connection
Dim mrc As New ADODB.Recordset
Dim connstr As String
Dim Acc As Boolean

Private Sub Command6_Click()
Set mrc = New Recordset
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=E:\testpaper\DB\testpaper.mdb"
' dbconn.Open connstr
txtsql = "select * from testdes"
Set mrc = dbconn.Execute(txtsql)
' If mrc.State <> adStateClosed Then mrc.Close
mrc.Open txtsql, connstr, adOpenKeyset, adLockOptimistic, adCmdText '打开数据库
mrc!code = Text1.Text '<----------这句话提示出来的。
mrc!stdes = Text2.Text
mrc!stanswer = Text3.Text
mrc!stmemo = Text4.Text
mrc!itemid = Combo1.Text
mrc!lecode = Combo2.Text
mrc!sttype = Combo3.Text
mrc.Update
mrc.Close
dbconn.Close
MsgBox "您确定要保存吗?", vbYesNo, "提示"
Form7.Adodc1.RecordSource = "select * from testdes order by code"
Form7.Adodc1.Refresh

Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Combo1.Text = ""
Combo2.Text = ""
'Combo3.Text = ""
Command1.Enabled = True
Command5.Enabled = True
Command6.Enabled = False
End Sub


mrc!code = Text1.Text '<----------这句话提示出来的。


大家帮帮忙!!!
...全文
102 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhone99 2008-09-23
  • 打赏
  • 举报
回复
Dim dbconn As New ADODB.Connection
Dim mrc As New ADODB.Recordset
Dim connstr As String
Dim Acc As Boolean

Private Sub Command6_Click()
Set mrc = New Recordset
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=E:\testpaper\DB\testpaper.mdb"
' dbconn.Open connstr
txtsql = "select * from testdes"
Set mrc = dbconn.Execute(txtsql)
' If mrc.State <> adStateClosed Then mrc.Close
mrc.Open txtsql, connstr, adOpenKeyset, adLockOptimistic, adCmdText '打开数据库
mrc.addnew

mrc!code = Text1.Text '<----------这句话提示出来的。
mrc!stdes = Text2.Text
mrc!stanswer = Text3.Text
mrc!stmemo = Text4.Text
mrc!itemid = Combo1.Text
mrc!lecode = Combo2.Text
mrc!sttype = Combo3.Text
if MsgBox ("您确定要保存吗?", vbYesNo, "提示")=vbyes then
mrc.Update
end if
mrc.Close
dbconn.Close
'MsgBox "您确定要保存吗?", vbYesNo, "提示"
Form7.Adodc1.RecordSource = "select * from testdes order by code"
Form7.Adodc1.Refresh

Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Combo1.Text = ""
Combo2.Text = ""
'Combo3.Text = ""
Command1.Enabled = True
Command5.Enabled = True
Command6.Enabled = False
End Sub
jhone99 2008-09-23
  • 打赏
  • 举报
回复
Dim dbconn As New ADODB.Connection
Dim mrc As New ADODB.Recordset
Dim connstr As String
Dim Acc As Boolean

Private Sub Command6_Click()
Set mrc = New Recordset
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=E:\testpaper\DB\testpaper.mdb"
' dbconn.Open connstr
txtsql = "select * from testdes"
Set mrc = dbconn.Execute(txtsql)
' If mrc.State <> adStateClosed Then mrc.Close
mrc.Open txtsql, connstr, adOpenKeyset, adLockOptimistic, adCmdText '打开数据库
mrc.addnew

mrc!code = Text1.Text '<----------这句话提示出来的。
mrc!stdes = Text2.Text
mrc!stanswer = Text3.Text
mrc!stmemo = Text4.Text
mrc!itemid = Combo1.Text
mrc!lecode = Combo2.Text
mrc!sttype = Combo3.Text
mrc.Update
mrc.Close
dbconn.Close
MsgBox "您确定要保存吗?", vbYesNo, "提示"
Form7.Adodc1.RecordSource = "select * from testdes order by code"
Form7.Adodc1.Refresh

Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Combo1.Text = ""
Combo2.Text = ""
'Combo3.Text = ""
Command1.Enabled = True
Command5.Enabled = True
Command6.Enabled = False
End Sub
xredhat 2008-09-23
  • 打赏
  • 举报
回复
.addnew
xredhat 2008-09-23
  • 打赏
  • 举报
回复
根据出错信息看 你应该检查一下数据库
jhone99 2008-09-23
  • 打赏
  • 举报
回复
哦,是填值

mrc.addnew
mrc!code
jhone99 2008-09-23
  • 打赏
  • 举报
回复
可能没有数据

mrc.Open txtsql, connstr, adOpenKeyset, adLockOptimistic, adCmdText '打开数据库
if mrc.recordcount>0 then
mrc!code = Text1.Text '<----------这句话提示出来的。
mrc!stdes = Text2.Text
mrc!stanswer = Text3.Text
mrc!stmemo = Text4.Text
mrc!itemid = Combo1.Text
mrc!lecode = Combo2.Text
mrc!sttype = Combo3.Text

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧