2017-06-14 6 views
0

sqlとAccessを接続しようとしています。 私がしたいことは、単にselect文を使ってmssqlからデータを取得することです。 ここにコードがあります。私はこのコードを実行すると 『バージョン』は、テーブルのオブジェクトであるため、手続きの要求 『バージョンは』失敗した[Microsoft]の[ODBC SQL Serverドライバー] [SQL Server]」のようにvba mssql接続エラー

Sub ConnectSQLServer() 

Dim cmd As ADODB.Command 
Dim conn As ADODB.Connection 
Dim rs As ADODB.Recordset 
Dim strConn As String 
Dim par As ADODB.Parameter 
Dim strSQL As String 


strConn = "DRIVER=SQL Server;SERVER=CHU-AS-0004;DATABASE=RTC_LaplaceD_DEV;Trusted_Connection=Yes;" 

Set conn = New ADODB.Connection 
conn.Open strConn 

Set cmd = New ADODB.Command 
cmd.CommandText = "dbo.Version" 
cmd.CommandType = adCmdStoredProc 
cmd.ActiveConnection = conn 

strSQL = "SELECT * FROM dbo.Version" 


cmd.Execute 
conn.Close 

Set conn = Nothing 
Set cmd = Nothing 
End Sub 

、私はエラーを取得します。」

私は「dbo.Version FROMます。strSQL = SELECT *」の後に何かを追加する必要があることを知っているが、私は埋めるために正確にどのように知りません。 あなたはこれで私を助けていただけますか?それがどのように見える

答えて

1

。あなたが代わりにます。strSQLオブジェクトにコマンドを実行する必要があります

間違っているSPまたはSQLコマンドとしてdbo.Version を実行しているので、修正した後、あなたのコードは次のようになります。

strSQL = "SELECT * FROM dbo.Version" 

Set cmd = New ADODB.Command 
cmd.CommandText = strSQL 
cmd.CommandType = adCmdStoredProc 
cmd.ActiveConnection = conn 

EDIT 1

私は、次のコードを使用してMS SQL Serverからデータを読み出すためにMS Excelで同じ問題を複製し、それが私の仕事:

'Declare variables' 
    Set objMyConn = New ADODB.Connection 
    Set objMyRecordset = New ADODB.Recordset 
    Dim strSQL As String 

'Open Connection' 
    objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=HARSH-SHARMA\SQLEXPRESS;Initial Catalog=db1;User ID=sa;Password=pass001;" 
    objMyConn.Open 

'Set and Excecute SQL Command' 
    strSQL = "select * from Subject" 

'Open Recordset' 
    Set objMyRecordset.ActiveConnection = objMyConn 
    objMyRecordset.Open strSQL 

'Copy Data to Excel' 
    ActiveSheet.Range("A1").CopyFromRecordset (objMyRecordset) 

これを試してみてください。

+0

ありがとうございました!!!しかし、私がそのコードを修正すると、次のエラーが表示されます。... [Microsoft] [ODBC SQL Server Driver]構文エラーまたはアクセス違反。あなたもこのエラーを解決する方法を知っていますか? –

+0

Access/Excel(VB6)をMS SQL Serverに接続していますか? –

+0

はい、Accessとmssqlサーバーを接続しています –