SQL Server ODBC连接问题
我一直在尝试创建一个通过批处理文件运行的宏来生成报告,并且在连接SQL Server时遇到了一些非常恼人的问题,可能是因为我犯了一些愚蠢的错误 我创建连接的代码如下所示:SQL Server ODBC连接问题,sql,sql-server,excel,vba,excel-2007,Sql,Sql Server,Excel,Vba,Excel 2007,我一直在尝试创建一个通过批处理文件运行的宏来生成报告,并且在连接SQL Server时遇到了一些非常恼人的问题,可能是因为我犯了一些愚蠢的错误 我创建连接的代码如下所示: Dim dbs As Database Dim qdf As QueryDef Dim rst As Recordset Set dbs = OpenDatabase("", False, False, connect) Set qdf = dbs.CreateQueryDef("") 其中“connect”是包含连接详细
Dim dbs As Database
Dim qdf As QueryDef
Dim rst As Recordset
Set dbs = OpenDatabase("", False, False, connect)
Set qdf = dbs.CreateQueryDef("")
其中“connect”是包含连接详细信息的字符串
我的问题是,无论出于何种原因,Excel(2007)似乎对该块的最后一行有问题。我在dbs变量中添加了一个观察者,它看起来非常好,那么为什么它不喜欢qdf呢
更奇怪的是,如果我在宏的最开始处放置一个“Stop”命令,从批处理文件开始执行,然后在到达停止点时手动继续执行,那么它工作得很好,并且完全符合我的要求
我已尝试查看DBEngine.Errors,这表明我存在以下问题:
- 常规错误:无效的窗口句柄
- 连接未打开
注:如果这一点不清楚,请再看一看,它似乎在问同样的问题,但没有答案。因此,使用科学方法,我和一位同事能够找出问题是什么,尽管我不知道这有什么意义,也不知道它为什么会成为一个问题。宏的布局大致如下:
Dim dbs As Database
Dim qdf As QueryDef
Dim rst As Recordset
Set dbs = OpenDatabase("", False, False, connect)
Set qdf = dbs.CreateQueryDef("")
- 测试数据库连接并关闭它
- 创建新工作簿
- 再次连接到数据库并通过数据库调用填充工作簿
- 创建新工作簿
- 测试数据库连接并关闭它
- 再次连接到数据库并通过数据库调用填充工作簿