VB中 连接无法用于执行此操作。在此上下文中它可能已被关闭或无效 求大神指导,详解。。。

'填充班级组合框,参数为组合框对象变量PublicSubaddclassitem(cboxAsComboBox)DimrstmpAsNewADODB.Recordsetr... '填充班级组合框,参数为组合框对象变量
Public Sub addclassitem(cbox As ComboBox)
Dim rstmp As New ADODB.Recordset
rstmp.Open "select 班级 from 学生信息" & _
"where 班级 <> null and 班级 <> ''", _
pubcnn, adOpenStatic, adLockOptimistic
'在组合框中添加班级
cbox.Clear
Do Until rstmp.EOF
cbox.AddItem rstmp("班级")
rstmp.MoveNext
Loop
Set rstmp = Nothing
End Sub
我声明了一个公共的addclassitem,为组合框添加班级信息,但是在运行的时候去提示
rstmp.Open "select 班级 from 学生信息" & _
"where 班级 <> null and 班级 <> ''", _
pubcnn, adOpenStatic, adLockOptimistic
这段代码 连接无法用于执行此操作。在此上下文中它可能已被关闭或无效。
我是用ado控件连接的access数据库
Private Sub form_load() '窗体加载
Call addclassitem(cboclass) '填充班级组合框
'建立连接
Public Sub createconnection()
pubcnn.CursorLocation = adUseClient
pubcnn.Open "provider=microsoft.jet.oledb.4.0;data source=student.mdb"

End Sub
展开
 我来答
mafeng111
2014-01-26 · TA获得超过260个赞
知道小有建树答主
回答量:247
采纳率:100%
帮助的人:210万
展开全部
ADODB.Recordset在Open的时候是不需要pubcnn的,给你一段代码作参考:

Dim sql as String

Dim sConn as String

sql = "Select * from XXX"

sConn = "" ​'sConn是数据库连接字符串

Set Rec = CreateObject("ADODB.Recordset")
Rec.CursorLocation = 3
Rec.Open sql, sConn, 3, 1

Do While Not Rec.EOF

​'你的代码

​Rec.MoveNext

Loop​

Rec.Close
网海1书生
科技发烧友

2014-01-26 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
pubcnn要设为全局变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式