0
SQLクエリをExcelにコピーするために、VBAでマクロを作成または採用しようとしています。 私はそれを接続して実行しています。私はSQLで手動で実行すると、これはSQLのエラーコードです:VBAマクロを使用してSQLエラーコードをExcelにコピーする
Msg 3701, Level 11, State 5, Line 1
Cannot drop the table '#MSP_History3', because it does not exist or you do not have permission.
(8661 row(s) affected)
Msg 3701, Level 11, State 5, Line 1
Cannot drop the table '#MSP1', because it does not exist or you do not have permission.
(8661 row(s) affected)
Msg 3701, Level 11, State 5, Line 1
Cannot drop the table '#MSP_PBP', because it does not exist or you do not have permission.
(8661 row(s) affected)
Msg 3701, Level 11, State 5, Line 1
Cannot drop the table 'dbo.MSP_History', because it does not exist or you do not have permission.
Msg 262, Level 14, State 1, Line 1
CREATE TABLE permission denied in database 'master'.
はない偉大なクエリのように見えますが、何を私に興味は影響を受けた行の数です。ここで
は私よりも多くの業者がA1でテーブル結果を貼り付けるために働く別のクエリを使用していたことをVBAコードの後半部分である:
'Open the connection.
cn.Open strConn
'
'Set and Execute SQL Command
Set cmd1.ActiveConnection = cn
cmd1.CommandText = SQLquery
cmd1.CommandType = adCmdText
cmd1.Execute
'Open Recordset
Set rs1.ActiveConnection = cn
rs1.Open cmd1
'Paste Column Headers into Spreadsheet
For Col = 0 To rs1.Fields.Count - 1
Range("A1").Offset(0, Col).Value = rs1.Fields(Col).Name
Next
'Copy Data to Excel
ActiveSheet.Range("A2").CopyFromRecordset rs1
Cells.Select
Cells.EntireColumn.AutoFit
このコードは、適切に実行するために動作しますSQLクエリ。エラーメッセージをコピーする方法はありますか?
私がExcelのセルA1で望むのは理想的には "8661"です。
ありがとうございます!
編集:現在、「cmd1.Execute」行を実行時にVBAでのエラーメッセージは次のとおりです。
Run-time error '-2147217900 (80040e14)': Automation error
ありがとうございます! エラーコードは、SQLエラーコードの2行目を示しています。 "-2147217865テーブルが存在しないか、権限がないため、テーブル '#MSP_History3'を削除できません。 残りの部分を取得する方法や次の行についてのアイデアはありますか?影響を受ける行の数が私が探しているものです。 –
あなたの歓迎!それはあなたのために便利だったのでうれしい!そのクエリを実行するのに十分な権限がないようです...他のユーザーとログインしようとしましたか? –
私は分かりません...私はあなたをもっと助けることはできません...私はこのコードを一度見つけたので、あなたにとって役に立つと思いました... –