小女子又有问题了,请高手们帮帮忙,在线等待。。。。

pangpanglove 2006-03-17 10:41:37
我在编写一程序时,在一数据库菜单,单击数据库菜单下的业务员数据表,总出现以下错误:
“连接无法执行此操作,在此上下文中它可能被关闭或无效。”光标停留在rst.open"businessman",db,,,adcmdtable上该申明的都在模块中已作申明。
程序代码如下:
单击业务员数据表时的代码:
Private Sub mnubusinessman_Click()
currenttable = "businessman"
businessmantableopened = True
tablemenuenable
frmbusinessman.Show
End Sub
frmbusinessman窗体的载入程序如下:
showstatus ("数据管理-- " & "务员数据表")
tablename = currenttable
Set rst = New ADODB.Recordset
rst.CursorType = adOpenStatic
rst.LockType = adLockPessimistic
rst.Open "businessman", db, , , adCmdTable
If rst.EOF Then
MsgBox "请添加业务员", , "业务员数据表"
txtid.Text = "b000000001"
cmdprevious.Enabled = False
cmdadd.Enabled = False
cmdsearch.Enabled = False
cmdsave.Enabled = False
cmdnext.Enabled = False
neworchange = True
Else
rst.MoveFirst
bshowfield rst
End If
End Sub
tablemenuenabler代码如下:
Public Sub tablemenuenable()
With frmmain
If businessmantableopened Then
!mnubusinessman.Enabled = False
Else
!mnubusinessman.Enabled = True
End If
...全文
131 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
fxj331072 2006-03-20
想不通,为什么加上个小女子就这么多人回复!
回复
pangpanglove 2006-03-20
编一程序
回复
of123 2006-03-17
如果你的 Connection 对象 db 已经打开,问题就在于它是某个窗体私有的。改在公共模块中将其声明为
Public db As ADODB.Connection

如果没有打开,在新窗口中应当声明并打开。
回复
jobs002 2006-03-17
不知道db是否已被打开?db是不是全局的?至少在窗体模块是.....
回复
xihongjian 2006-03-17
你试着在每个rst.open"",,前加上set rst=nothing(根据情况)
回复
lhappyb 2006-03-17
不好意思,打错了
回复
lhappyb 2006-03-17
去掉"rst.Open "businessman", db, , , adCmdTable" 中的"adCmdTable"


回复
rayxu 2006-03-17
你在代码的后面加上关闭语句看一下。
Set rst = nothing
rst.close
回复
cxianfa 2006-03-17
胖胖问了好多类似的问题,是在做论文还是?
回复
jobs002 2006-03-17
管理,输入密码,然后给分.....
回复
pangpanglove 2006-03-17
感谢各位的帮助,我刚刚已解决了我的问题,请问如何结贴送分。
回复
jobs002 2006-03-17
那如果你的模块中包含sub main 启动的时候应该从Sub Main 启动...
回复
pangpanglove 2006-03-17
db在模块中已申明过,是全局的。以上都不行。
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2006-03-17 10:41
社区公告
暂无公告