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

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数据库的设置有关?因为我的“是否借出”域开始设的是“是/否”型,但是后来我改成文本后,还是出现相同的问题,很郁闷。
...全文
76 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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