我有一个非常令人沮丧的问题。我有一个插入查询,如果你从访问内部运行它会运行良好(需要大约2分钟才能完成)但是当我尝试通过ADO以Excel编程方式运行它时,.execute行动作在几秒钟内没有错误,但是实际上并没有在表格中插入任何数据。
我使用的ADO如下:
With objCommand
.ActiveConnection = p_moConn
.CommandType = adCmdStoredProc
.CommandText = "[" & strQueryName & "]"
.Execute
End With
我也尝试过:
p_moConn.Execute strSQL, adCmdText
具有完全相同的结果。 (strQueryName是保存过程的名称,strSQL是原始SQL)
顺便说一下,在我们进入它之前,我没有使用DAO,因为这是一个原型,将从Access迁移到“主”数据库系统,唯一需要的代码更改应该连接字符串......手指交叉......感谢任何帮助!
由于
马特
答案 0 :(得分:0)
欢呼帮助,这与这5个查询有关。我不能发布SQL(除了其他任何东西,它很长......)但由于长度和复杂性,访问是"摆弄"在内部。即它在查询的最后添加了一些内容:
AS [%$##@_Alias];
当我改为:
AS [test];
ADO代码完美运行!顺便说一句,我相信我没有得到任何错误的原因是因为我正在查看VBA错误对象,而不是我认为它发现的ADO:
.ActiveConnection.Errors()
但这是未经测试的
再次感谢你们!
马特
顺便说一句,我发现这要归功于Wayne G. Dunn,因为当我查看代码以查看我是否可以在发布之前对其进行消毒我终于注意到Access已经改变的最后一行......所以欢呼; - )