2017-08-31 29 views
0

こんにちは、私はVBAにはかなり新しく、パスワードで保護されたデータベースとの接続を構築しようとしています。これは私のコードです。パスワードで保護されたDBに接続するVBA

Sub CostEntry() 
    ActiveWorkbook.Sheets.Add.Name = "SAP Sheet" 

    sConnString = "SourceType:=0, Source:=ODBC;DSN=SAPDATA32;Description=DATA;UID=shareuser;Jet OLEDB:Database Password=1234;APP=Microsoft Office 2016;WSID=AT;DATABASE=DATA" 

    ' Create the Connection and Recordset objects. 
     Set conn = New ADODB.Connection 
     Set rs = New ADODB.Recordset 

    ' Open the connection and execute. 
     conn.Open sConnString 
     Set rs = conn.Execute("SELECT MBEW.BWKEY, MBEW.STPRS, MBEW.MATNR" & Chr(13) & "" & Chr(10) & "FROM SAPDATA.dbo.MBEW MBEW" & Chr(13) & "" & Chr(10) & "WHERE (MBEW.BWKEY='1010')") 

    ' Check we have data. 
     If Not rs.EOF Then 
    ' Transfer result. 
      ActiveWorkbook.Sheets("SAP Sheet").range("A1").CopyFromRecordset rs 
    ' Close the recordset 
      rs.Close 
     Else 
      MsgBox "Error: No records returned.", vbCritical 
     End If 

    ' Clean up 
     If CBool(conn.State And adStateOpen) Then conn.Close 
     Set conn = Nothing 
     Set rs = Nothing 

End Sub 

私もインターネットからコピーしました。私はまた、それがstackoverflowからだと思います。私はまた、エラーメッセージ "ランタイムエラー '-2147467259(8000400)':インストール可能なISAMを見つけることができませんでした"。私は行を挿入してProvider=Microsoft.ACE.OLEDB.12.0 しかし、それは私に別のエラーメッセージを与えた。 あなたはすべて前もって詮索してください。

答えて

0

私はちょうどPWを追加する必要が出てFoundプロパティの値

Provider='Microsoft.ACE.OLEDB.12.0' 
+0

私はこのsConnString =「のSourceTypeのようにこれを追加しました:= 0、出典:= Microsoft Office 2016、WSID = AT000616、DATABASE = SAPDATA " 、Microsoft SQL Server 2005の場合は、 "Run-time error '-2147467259(8000400)':インストール可能なISAMが見つかりませんでした" –

0

のための単一引用符を提供してください:1234フィールド

関連する問題