gpt4 book ai didi

vba - Excel VBA 查询访问失败

转载 作者:行者123 更新时间:2023-12-02 10:53:51 26 4
gpt4 key购买 nike

我正在尝试使用 VBA 从 Excel 查询访问文件,但在 rs.Open queryStatement, conn, adOpenStatic, adLockOptimistic 行上出现错误。错误是“运行时错误‘-2147217904 (80040e10)’:没有为一个或多个必需参数给出值。”

Function queryAccess()
'inputs: filterID, desired output

Dim toSheet As Worksheet
Set toSheet = ThisWorkbook.Sheets("Sheet3")
Dim filterID As String
filterID = "CH0002"

Dim conn As ADODB.Connection
Dim rs As ADODB.recordSet
Dim connStr As String
Dim queryStatement As String
Dim cmd As ADODB.Command

connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\rtpwfil03\etu2\cat\projects\asbestos\STREAMS TO101\Testing\TO101 Testing Data.mdb;Persist Security Info=False;"
'conn.Provider=""Microsoft.Jet.OLEDB.4.0"


Set conn = New ADODB.Connection
Set rs = New ADODB.recordSet
Set cmd = New ADODB.Command

queryStatement = "SELECT Filters.NominalLoading FROM Filters WHERE Filters.FilterID=" & filterID & ";"

conn.Open connStr
Debug.Print connStr
Debug.Print queryStatement
rs.Open queryStatement, conn, adOpenStatic, adLockOptimistic



toSheet.Range(toSheet.Cells(1, 1)).CopyFromRecordset rs

conn.Close
rs.Close


End Function

当我在 connStr 和 queryStatement 上执行 debug.print 时,我分别得到:Provider=Microsoft.Jet.OLEDB.4.0;数据源=\\rtpwfil03\etu2\cat\projects\asbestos\STREAMS TO101\Testing\TO101测试数据.mdb;持久安全信息=False;

从过滤器中选择 Filters.NominalLoading WHERE Filters.FilterID=CH0002;

我从 http://www.connectionstrings.com/access-2007 获取了连接字符串“标准安全性”

关于如何修复此错误有什么想法吗?

最佳答案

您需要将查询中的 CH002 字符串用单引号引起来。变化:

queryStatement = "SELECT Filters.NominalLoading FROM Filters WHERE Filters.FilterID=" & filterID & ";"

queryStatement = "SELECT Filters.NominalLoading FROM Filters WHERE Filters.FilterID='" & filterID & "';"

关于vba - Excel VBA 查询访问失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7095447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com