Вопрос по excel – Подключение Excel для доступа

2

Я пытаюсь подключиться к Excel в базе данных, в которой есть следующий запрос.

SELECT * FROM Products WHERE Order = [Enter Order]

но Excel не может найти этот запрос. Он показывает только фактическую таблицу и другие запросы, которые не используют параметры.

Есть ли способ подключить Excel по запросу, который использует параметры? Я использую MS-Excel 2007.

Я наконец получил это работает. Большое спасибо!!! Но если вы сможете показать мне, как это сделать на VBA, я буду признателен вам за это !!! Henry Taylor
Хорошо, веселись. Вы всегда можете использовать VBA / ADODB, если вам нужно использовать запросы параметров из Access, а не MS Query. Fionnuala
Если это не устраивает, сколько VBA вы готовы использовать? - Пока это работает. Henry Taylor
Ваше предложение сработало. Единственная проблема - база данных, которую я использую, - это база данных Access 2003, которая имеет защиту на уровне пользователя. Для открытия базы данных требуется файл рабочей группы, но, похоже, он не работает с Microsoft Query. Henry Taylor
& quot; Запросы параметров должны быть созданы в Microsoft Query. & quot;office.microsoft.com/en-us/excel-help/… А ТАКЖЕoffice.microsoft.com/en-us/excel-help/…, Если это не устраивает, сколько VBA вы готовы использовать? Fionnuala

Ваш Ответ

1   ответ
2

"Parameter queries must be created in Microsoft Query."

Настройте запрос параметров
Используйте Microsoft Query для извлечения внешних данных

ADODB & amp; 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

Похожие вопросы