怪事:谁能说说这是什么原因?

lurel 2003-10-17 09:37:23
Public Sub ConnectToDataBase()
'On Error GoTo HandleErr
Set ADOtj = New ADODB.Connection
With ADOtj
.Provider = "SQLOLEDB.1"
.Properties("Data Source").Value = "."
.Properties("Initial Catalog").Value = "tj"
.Properties("User ID").Value = "sa"
.Open
End With
End Sub



Public Function openqueryrecordset(sqlstring As String) As Boolean

Set ADOqry = New ADODB.Recordset
ADOqry.Open sqlstring, ADOtj

'If ADOqry.EOF = True And ADOqry.BOF = True Then
' openqueryrecordset = True
'Else
' openqueryrecordset = False
' End If
End Function

Public Sub CloseRecordset()
ADOqry.Close
Set ADOqry = Nothing
End Sub

Public Sub DisconnectFromDataBase()
ADOtj.Close
Set ADOtj = Nothing
End Sub


其中ADOqry,ADOtj在另一个模块中声明
Public ADOtj As ADODB.Connection
Public ADOqry As ADODB.Recordset
ado我也引用了

为什么在编译的时候告诉我在ADOqry.Close这行"对象变量或with块变量未设置"
...全文
57 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lurel 2003-10-17
  • 打赏
  • 举报
回复
可能大家都误会了
我是在用excel里面的vba,这是我的一个数据库模块,我想调用数据库时,只使用这几个函数就完了,这并不是一从头到尾执行下来了.
不过我知道我的问题所在了,我调试函数的时候单独执行了
Public Sub DisconnectFromDataBase()
ADOtj.Close
Set ADOtj = Nothing
End Sub

所以有错
lxcc 2003-10-17
  • 打赏
  • 举报
回复
DisconnectFromDataBase一般在确信不再使用数据库之后再使用
iget 2003-10-17
  • 打赏
  • 举报
回复
你在close之前有没有执行过openqueryrecordset?
strongfisher 2003-10-17
  • 打赏
  • 举报
回复
Public ADOtj As new ADODB.Connection
Public ADOqry As new ADODB.Recordset

Public Function openqueryrecordset(sqlstring As String) As Boolean


ADOqry.Open sqlstring, ADOtj

'If ADOqry.EOF = True And ADOqry.BOF = True Then
' openqueryrecordset = True
'Else
' openqueryrecordset = False
' End If
End Function
yoki 2003-10-17
  • 打赏
  • 举报
回复
同理ADOtj.Close
最好也改成
If ADOtj.State = adStateOpen Then ADOtj.Close
这样就不会存在关闭为打开的情况
yoki 2003-10-17
  • 打赏
  • 举报
回复
因为你没有打开
改成If ADOqry.State = adStateOpen Then ADOqry.Close
射天狼 2003-10-17
  • 打赏
  • 举报
回复
哪块出错了?

你不会是调用完了此函数之后又使用了吧!!
Public Sub DisconnectFromDataBase()
ADOtj.Close
Set ADOtj = Nothing
End Sub

7,763

社区成员

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

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