将Excel连接到Access

将Excel连接到Access,excel,ms-access,Excel,Ms Access,我正在尝试连接具有以下查询的数据库上的excel SELECT * FROM Products WHERE Order = [Enter Order] 但是excel似乎找不到这个查询。它只显示实际的表和其他不使用参数的查询 有没有办法在使用参数的查询上连接excel?我正在使用MS Excel 2007。一些注释 “必须在Microsoft Query中创建参数查询。” ADODB&VBA ''Ref: Microsoft ActiveX Data Objects x.x Library

我正在尝试连接具有以下查询的数据库上的excel

SELECT * FROM Products WHERE Order = [Enter Order]
但是excel似乎找不到这个查询。它只显示实际的表和其他不使用参数的查询

有没有办法在使用参数的查询上连接excel?我正在使用MS Excel 2007。

一些注释


“必须在Microsoft Query中创建参数查询。”


ADODB&VBA

''Ref: Microsoft ActiveX Data Objects x.x Library
Dim cmd As New ADODB.Command
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim prm As ADODB.Parameter
Dim strConn As String

strConn = "Provider = Microsoft.ACE.OLEDB.12.0;" _
        & "Data Source=z:\docs\test.accdb"

conn.Open strConn

cmd.ActiveConnection = conn
cmd.CommandText = "Query4"
cmd.CommandType = adCmdStoredProc
Set prm = cmd.CreateParameter("EnterText", adVarWChar, adParamInput, 50)
cmd.Parameters.Append prm
cmd.Parameters("EnterText").Value = ActiveWorkbook.Sheets("Sheet5").[A2]

'Execute the Stored Procedure
Set rs = cmd.Execute
ActiveWorkbook.Sheets("Sheet8").Cells(2, 1).CopyFromRecordset rs
'Close the connection
conn.Close

“必须在Microsoft Query中创建参数查询。”和。如果不适合,您愿意使用多少VBA?如果不适合,您愿意使用多少VBA?-只要行得通,你的建议行得通。只有一个问题,我使用的数据库是Access 2003数据库,它具有用户级安全性。它需要一个工作组文件来打开数据库,但在Microsoft Query上似乎无法让它工作。我终于让它工作了。谢谢!!!但如果你能告诉我如何在VBA上做这件事,我会很感激!!!好的,玩得开心。如果需要使用Access中的参数查询,而不是MS查询,则始终可以使用VBA/ADODB。