MS访问SQL Server中执行Proc

时间:2014-11-06 12:57:55

标签: sql-server vba ms-access

我有一个用于在SQL Sever中创建和更新表的Proc。结果表链接到MS ACCESS FE。它是由Macro创建的,涉及MS Access中的查询。我怎么能从MS Access FE调用或执行Proc。

我尝试过这段代码但不会产生任何结果。

Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
cmd.ActiveConnection = "Provider=SQLNCLI11.1;Security=SSPI;Initial Catalog=MYDB;Server=MyServer;Integrated Security=SSPI;"
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "UPDATE_DATA"
cmd.Execute

我是VBA Coding的新手。任何帮助或线索将不胜感激。

2 个答案:

答案 0 :(得分:1)

在您的代码中,您尚未打开与数据库的连接。首先打开一个连接,如下面的代码所示:

Private Const gcConn As String = "Provider=SQLNCLI11.1;Security=SSPI;Initial Catalog=MYDB;Server=MyServer;Integrated Security=SSPI;"

Sub UpdateProc()

Dim oDB As ADODB.Connection
Dim oCM As ADODB.Command

Set oDB = New ADODB.Connection
oDB.Open gcConn
Set oCM = New ADODB.Command

With oCM
    .ActiveConnection = oDB
    .CommandType = adCmdStoredProc
    .CommandText = "UPDATE_DATA"
    .Execute
End With

oDB.Close
Set oDB = Nothing

End Sub

答案 1 :(得分:0)

只需将命令保存为传递查询即可。您的查询是:

UPDATE_DATA

然后这一行代码将运行该查询

CurrentDb.QueryDefs("MyPass").Execute