使用MS Access执行SQL存储过程

时间:2015-07-07 00:27:52

标签: vba sql-server-2012 ms-access-2013

我需要在MS Access 2013中执行存储过程。我使用Access作为连接到两个数据库的前端接口。一个数据库有一些存储过程。我需要在Access中按下按钮来执行这些操作。

数据库通过SQL Server身份验证连接。我在Access中启动了一个按钮,这是此按钮后面的VBA代码。它是空的,只需要更多代码就可以运行它:

Private Sub UpdateItems_Click()     
End Sub

以下是建立连接和存储过程名称的参数:

服务器名称: BOX \ SQL2014
用户名: sa
密码: 123456PS
数据库: SixBit
存储过程名称: spRefreshItems

请不要向我推荐类似的问题。我不使用VBA代码,我无法模仿稍微不同但相似的例子。

1 个答案:

答案 0 :(得分:1)

试试这个:

Sub ExecSP()
    Dim connection As Object: Set connection = CreateObject("ADODB.Connection")
    Dim rs As Object: Set rs = CreateObject("ADODB.Recordset")
    With connection
        .ConnectionString = "DRIVER=SQL Server;SERVER=BOX\SQL2014;Trusted_Connection=Yes;APP=2007 Microsoft Office system;DATABASE=SixBit;User ID=sa;Password=123456PS"
        .CommandTimeout = 0
        .Open
    End With
    '<<Replace SchemeName by Scheme name of the SP>>'
    Set rs = connection.Execute("EXEC SchemeName.spRefreshItems") 
    connection.Close: Set rs = Nothing: Set connection = Nothing
    MsgBox "Done!"
End Sub