Office中国论坛/Access中国论坛

标题: 关于ADODB问题的请教 [打印本页]

作者: huangyz_xy    时间: 2010-9-14 00:16
标题: 关于ADODB问题的请教
本人对这方面非常薄弱,昨天看了一个高手编制的软件,自己弄的时候老是出关于ADODB的错误,请教大家一下:[attach]43471[/attach][attach]43472[/attach][attach]43473[/attach]    ,下面相关代码:
Public Sub main()
CR = Chr$(13)
stroutdir = CurrentProject.path
Set CN = CurrentProject.Connection
Set recconf = New ADODB.Recordset
Set recsave = New ADODB.Recordset
recconf.Open "Config", CN, adOpenStatic, adLockOptimistic, adCmdTable
recsave.Open "ConfSave", CN, adOpenStatic, adLockOptimistic, adCmdTable
recsave.MoveFirst
recconf.MoveFirst
recconf.Find "Name like " & "'" & recsave![ConfigName] & "'"
If recconf.EOF Or recconf.BOF Then
    recconf.MoveFirst
    recsave![ConfigName] = recconf![Name]
    recsave.Update
    recsave.MoveFirst
End If
End Sub

<如果原创者看到此贴,请多原谅>

作者: todaynew    时间: 2010-9-14 08:36
你在每个子程序或函数中有的设置了cn有的没有设置,所以便会出错。为了简单起见,你可以直接用:
recconf.Open "tbname", CurrentProject.Connection, adOpenStatic, adLockOptimistic, adCmdTable
这样就不必在折腾CN了。
作者: zhuyiwen    时间: 2010-9-14 08:58
确实。

估计 CN 是全局变量。
我想如果程序正常运行应该没什么问题,出问题的时候多半是之前编辑了VBA代码。

建议你按 todaynew  所说直接使用 Currentproject.Connection 。
作者: sxb2007    时间: 2010-9-14 08:58
把错误代码贴完整,没有看清是那里错了,
Public Sub main()过程后面应加入
        recconf.Close
        Set recconf= Nothing

        recsave.Close
        Set recsave= Nothing
按经验,可以是你把cn 链接程序关了,

按 todaynew 的方法也可以,把CN 改成 CurrentProject.Connection,也可以解决问题

作者: zhuyiwen    时间: 2010-9-14 08:59
确实。

估计 CN 是全局变量。
我想如果程序正常运行应该没什么问题,出问题的时候多半是之前编辑了VBA代码。

建议你按 todaynew  所说直接使用 Currentproject.Connection 。
作者: huangyz_xy    时间: 2010-9-14 16:58
多谢各位的高招,问题解决了!
作者: huangyz_xy    时间: 2010-9-14 18:55
多谢各位的高招,问题解决了!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3