ms access - вернуть записи из sql хранимой процедуры - PullRequest
0 голосов
/ 01 февраля 2012

У меня есть доступ 2010, и я хочу вызвать хранимый протокол sql на сервере sql 2008 и вернуть результаты в набор записей или напрямую связать их с отчетом.

Приведенный ниже метод возвращает ошибку «feture not available in ADP» или что-то в этом роде - он работает с формой, но не с отчетом.

Как мне это сделать?

Dim cn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim cm As New ADODB.Command

'Use the ADO connection that Access uses
Set cn = CurrentProject.AccessConnection
With cn
    .Provider = "Microsoft.Access.OLEDB.10.0"
    .Properties("Data Provider").Value = "SQLOLEDB"
    .Properties("Data Source").Value = "dsidsw923"
    .Properties("Integrated Security").Value = "SSPI"
    .Properties("Initial Catalog").Value = "Promotions_Dev_DSI"
    .Open
End With

'Create an instance of the ADO Recordset class, and
'set its properties
Set rs = New ADODB.Recordset

With cm
    .ActiveConnection = cn
    .CommandText = "spCheckProdWkConsist"
    .CommandType = adCmdStoredProc

    Set rs = .Execute()
End With

'Set the form's Recordset property to the ADO recordset
Set Me.Recordset = rs

Set rs = Nothing
Set cn = Nothing
Set cm = Nothing

1 Ответ

0 голосов
/ 01 февраля 2012

Рассмотрите возможность создания представления, чтобы обернуть результаты хранимой процедуры (exec usp_whatever), а затем создать связанную таблицу для нового представления.

Кроме того, вы можете создать сквозной запрос (exec usp_whatever), который выполняет вашу хранимую процедуру и возвращает ваши результаты напрямую.Затем просто привяжите свой отчет или форму к запросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...