为什么会是“应用程序所需的对象操作不允许”?

sspanzervor 2003-04-06 01:18:46
大体要实现的功能如下:要打开存书表进行操作,如果Access数据库存书表中的“是否借出”项为True的话,就进行借出操作,否则的话,提示本书以借出,部分代码如下:
'对存书表进行操作并存储相应的记录项
rst.Open "select * from 存书 where 书号='" + Text2.Text + "'", cnn, adOpenDynamic, adLockOptimistic

If rst.EOF = True Then
MsgBox "输入的书号不存在!", vbOKOnly, "错误"
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
Else
If rst.Fields(5) = "No" Then
'将当前记录的“书号字段”和“书名”字段赋值给变量
booknum = rst.Fields(0)
bookname = rst.Fields(1)
'判断是否书借出
rst.Fields(5) = "Yes"
Else
MsgBox "此书已借出!", vbOKOnly, "警告!"
End If
End If
rst.Close
为什么总在rst.close处提示错误,但是如果不对“是否借出”域进行操作,这个模块就不会出问题,请问各位大虾,这是怎么回事?是不是和access数据库的设置有关?因为我的“是否借出”域开始设的是“是/否”型,但是后来我改成文本后,还是出现相同的问题,很郁闷。
...全文
48 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
chenyu5188 2003-04-06
楼主你没有更新,你将新的值给了field(5),你要更新后才有用的。

rst.CursorLocation=adUseClient'使用客户端游标
rst.Open "select * from 存书 where 书号='" & trim(Text2.Text) & "'", cnn, adOpenDynamic, adLockOptimistic

If rst.EOF Then
MsgBox "输入的书号不存在!", vbOKOnly, "错误"
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
Else
If rst.Fields(5) = "No" Then
'将当前记录的“书号字段”和“书名”字段赋值给变量
booknum = rst.Fields(0)
bookname = rst.Fields(1)
'判断是否书借出
rst.Fields(5) = "Yes"
rst.update'
Else
MsgBox "此书已借出!", vbOKOnly, "警告!"
End If
End If
rst.Close



回复
sxs69 2003-04-06
不知为什么?我测试没问题
回复
sspanzervor 2003-04-06
根本不行!不知道楼上的依据是什么?
回复
sxs69 2003-04-06
booknum = rst.Fields(0)
bookname = rst.Fields(1)
'判断是否书借出
rst.Fields(5) = "Yes"
rst.update
回复
sspanzervor 2003-04-06
改了,还是不行(rst.update)!
回复
whale 2003-04-06
改变字段的值后,应该调用Update
回复
相关推荐
发帖

1187

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2003-04-06 01:18
社区公告
暂无公告