как выполнить хранимую процедуру сервера Sql с помощью формы Ms-Access, передав параметры - PullRequest
2 голосов
/ 26 марта 2012

Мне нужно разработать форму доступа для передачи параметров для вызова хранимой процедуры Sql Server. И показать выходные данные. Пример: у меня есть два параметра «Дата начала» и «Дата окончания» Из формы доступа мне нужно передать эти даты и excute Sql server Хранимая процедура и вывод должен отображаться ..

Пожалуйста, помогите мне ... Пожалуйста, помогите мне шаг за шагом, я новичок в этом приложении доступа

Ответы [ 2 ]

3 голосов
/ 26 марта 2012

Это зависит от типа вывода вашей хранимой процедуры, но в основном, скажем, вы хотите отобразить результат вашей хранимой процедуры myProc на консоли отладки, вы можете сделать что-то вроде:

Sub printMyProcResults(startDate as Date, endDate as Date)
    Dim db as DAO.Database
    Dim qf as DAO.QueryDef
    Dim rs as DAO.Recordset

    Set db = CurrentDb()        
    Set qf = db.CreateQueryDef("")
    ' Set to true if your stored procedure returns something, otherwise, '
    ' set to False '
    qf.ReturnsRecords = True

    ' You need to adjust this to whatever your SQL server instance name is '
    ' and whatever your database name is '
    ' This connection string will use the local machine's user credentials '
    ' to connect to the server, change as appropriate '
    qf.Connect = "ODBC;DRIVER=SQL Server;SERVER=MYSERVER;Trusted_Connection=Yes;DATABASE=MYDATABASE;"

    ' We construct the SQL to call the procedure. Update this to suit your '
    ' actual proc name '
    qf.SQL = "myStoredProc '" & Format(startDate, "dd mmm yyyy") & "'," & _
                          "'" & Format(endDate, "dd mmm yyyy") & "'" 

    ' Open the recordset to access the results '
    Set rs = qf.OpenRecordSet()

    ' Print the result to the debug console '
    ' Of course, you need to adapt this to your own case '
    Do While Not rs.EOF
       debug.print rs(0)
       rs.MoveNext
    Loop
    rs.Close
    ' Cleanup ' 
    Set rs = Nothing
    Set qf = Nothing
    Set db = Nothing
End Sub

Для строки подключения вам может потребоваться адаптировать ее к вашим собственным настройкам, в зависимости от того, как настроен ваш SQL Server: http://connectionstrings.com/sql-server-2008

0 голосов
/ 26 марта 2012

Я делал нечто подобное в доступе несколько лет назад.Вам нужно посмотреть на проход через запросы ODBC.Это позволит вам выполнить хранимую процедуру SQL из Access.

Пожалуйста, перейдите по этой ссылке: http://support.microsoft.com/kb/303968

Я не уверен, как вы будете передавать параметры, хотя я уверен, если вы Google "пройти через параметры хранимой процедуры доступа odbc запроса"вы найдете несколько подсказок.Извините, моя память немного потускнела из-за точных деталей.

...