微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对象已关闭vba excel ADODB

如何解决对象已关闭vba excel ADODB

关闭对象时出现错误提示

为什么会出现此错误? [错误位置] [2]

连接没有问题。

我可以在同一个cmd连接上执行SQL查询,而它们没有问题。

只有这个查询使我困惑。

我通常不使用Set搜索路径或表的短名称,只是以防万一 这次非常详细。

当我在Postgresql中运行相同的查询时,我得到的结果是:

[同一SQL查询的postgres输出] [1]

我已经在Google周围搜寻了几个小时,但找不到任何答案。 它与驱动程序有关系吗? 我怎么知道我为Excel使用什么驱动程序? 我应该使用什么驱动程序? 如何更改驱动程序?

[我使用的参考文献] [3]

  1. https://i.stack.imgur.com/R4nLe.png
  2. https://i.stack.imgur.com/k4uJo.png
  3. https://i.stack.imgur.com/Ytrlk.png

CODE

Public Function getDBArray(cmd,strsql)
    Dim recordID As Long,recordamount As Long,totalFields As Integer,fieldID As Integer
    Dim rs As New ADODB.Recordset
    
    Set rs = CreateObject("ADODB.Recordset")
    cmd.CommandText = strsql '' << this is the strsql i copy pasted directly to pgadmin and it worked
    Set rs = cmd.Execute
    totalFields = getTableAmount(rs.Fields)
    recordamount = getTableAmount(rs) ' << error in this function
    recordID = 0

解决方法

显然我不是应该使用SET SEARCH PATH

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。