2014-11-06 2 views
0

SQL Sever에서 테이블을 만들고 업데이트하기위한 Proc가 있습니다. 결과 테이블은 MS 액세스 FE에 연결됩니다. 전에는 MS Access에서 쿼리와 관련된 매크로에 의해 만들어졌습니다. 어떻게 MS Access FE로부터 Proc를 호출하거나 실행할 수 있습니까?SQL Server에서 Proc 실행을위한 MS 액세스

이 코드를 시도했지만 아무런 결과도 얻지 못했습니다.

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 코딩을 처음 사용합니다. 어떤 도움이나 단서도 크게 감사하겠습니다.

답변

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 
+0

를 실행합니다 "하위 또는 함수에 잘못된 속성이",하지만 당신은 하위 외부에서 선언 한 나는 왜 그것이이 오류를 던지고 있는지 전혀 모른다. – AllPigsREqual

+0

오류가 발생한 줄은 무엇입니까? – Gareth

+0

On Private Const – AllPigsREqual

0

간단히 명령을 패스 스루 쿼리로 저장하십시오. 따라서 쿼리는 다음과 같습니다

UPDATE_DATA 

그런 다음이 코드 한 줄 내가 오류가 해당 쿼리

CurrentDb.QueryDefs("MyPass").Execute 
+0

ODBC 호출에 실패했습니다 "SQL Server 클라이언트 11.0."Mypass "# 102에서 잘못된 구문도 있습니다. CurrentDb.QueryDefs ("MyProc ") 실행 – AllPigsREqual

+0

테이블이 SQL Server에 있기 때문에 나는 proc 더 나은 솔루션을 누른 다음 Access에서 실행합니다. 일부 재 작업 않았다 및 통과 쿼리를 나를 위해 일을하고있다. 최종 테이블 결과를 몇 수천 n 수백만 아닙니다 때문에. 그래서 링크 테이블 작업을 않습니다 . – AllPigsREqual