ADODB错误:'没有给出一个或多个必需参数的值'

时间:2014-12-23 14:29:22

标签: excel vba adodb

我正在尝试使用ADODB和VBA从另一个Excel电子表格中获取一些数据。这是我第一次尝试使用ADODB,我为自己的无知道歉。

这可以从工作表中提取所有数据:

rst1.Open "SELECT * FROM [NAVAUM$A1:IU60000];", cnn1, adOpenStatic, adLockReadOnly

这可以获取我想要的字段,但没有字段名称:

rst1.Open "SELECT F2,F3 FROM [NAVAUM$A2:IU60000] WHERE F1 = 'Return' AND F3 LIKE '" & SearchString & "';", cnn1, adOpenStatic, adLockReadOnly

这不起作用

rst1.Open "SELECT F2,F3 FROM [NAVAUM$A1:IU60000] WHERE F1 = 'Return' AND F3 LIKE '" & SearchString & "';", cnn1, adOpenStatic, adLockReadOnly

(不同之处在于包含第1行,其中字段名称为。)

应该注意,第2行全部为空白。 (这是文件来找我的方式,无法更改。)我该怎么解决这个问题?

编辑:我知道了!!!

我没有更改查询以反映我实际上现在有字段名称的事实。因此,F2和F3成为[基金ID]和[基金名称]。我不聪明。

感谢您将螺丝松开StackOverflow !!

1 个答案:

答案 0 :(得分:5)

我想通了......我没有更改查询以反映我实际上现在有字段名称的事实。因此,F2和F3成为[基金ID]和[基金名称]。 (F1仍未在我的数据中命名。) 我不聪明。

感谢您将螺丝松开StackOverflow !!

此...

rst1.Open "SELECT F2,F3 FROM [NAVAUM$A1:IU60000] WHERE F1 = 'Return' AND F3 LIKE '" & SearchString & "';", cnn1, adOpenStatic, adLockReadOnly

应该......

rst1.Open "SELECT [Fund ID],[Fund Name] FROM [NAVAUM$A1:IU60000] WHERE F1 = 'Return' AND [Fund Name] LIKE '" & SearchString & "';", cnn1, adOpenStatic, adLockReadOnly

再次感谢!