2016-11-23 7 views
0

ExcelとSQL間のリンクを確立しようとしていますが、VBAコードを実行しているときに「コマンドオブジェクトにコマンドテキストが設定されていません」というエラーメッセージが表示されます。私はVBAにはとても新しいです、誰かが私が間違っていてどこに行けばいいか分かりますか?SQLとExcelの接続

FYI私はここで

は私のVBAコードである( "A2")Sheet2.RangeにSQLコードをコピーしています。

Sub Update() 

Dim link As New ADODB.Connection 
Dim login As String 
Dim SQLSyntax As String 
Dim Basket As New ADODB.Recordset 

login = "DRIVER=SQL Server Native Client 10.0;SERVER=xxxxxx;UID=sa;PWD=xxxxx;APP=2007 Microsoft Office system;WSID=PC3;DATABASE=ST_L1;" 
SQLSyntax = Sheet2.Range("A2").Text 

link.Open login 
Basket.Open SQLSyntax, link 

Basket.Close 
link.Close 

End Sub 

私のSQLコード(SQLではうまくいきます)。

Select P.spn as [Number],P.[Group],P.Name, isnull(T.Calls,0) as [Calls in last 2 months (excluding internals)], isnull(L.[Internal Calls],0) as [Internal Calls] ,isnull(M.[Last call],0)as [Last call] from ST_L1.dbo.Numbers P 
left join 
(Select COUNT(*)as [Calls],SPN from ST_L1.dbo.Main where CLI not in (Select CLI from ST_L1.dbo.internalCLI) 
and start between convert (date,getdate()-62)and convert (date,getdate()) 
group by SPN)T on T.SPN = P.spn 
left join (Select max(start)[Last call],SPN from ST_L1.dbo.Main 
group by SPN)M on M.SPN = P.spn 
left join 
(Select COUNT(*)as [Internal Calls],SPN from ST_L1.dbo.Main where CLI in (Select CLI from ST_L1.dbo.internalCLI) 
and start between convert (date,getdate()-62)and convert (date,getdate()) 
group by SPN)L on L.SPN = P.spn 
where LEFT(P.spn,4) not in ('0870') and P.[Group] in 
('BlaBla', 'BlaBla2') 
order by T.Calls asc,M.[Last call] 
+0

エラーを返す行はどれですか?それは 'Basket.Open SQLSyntax、link'ですか? –

+0

はい、申し訳ありませんが、Basket.Open SQLSyntax、linkはエラーを返します。 –

答えて

0

あなたは決してレコードセットを開きませんか?

Set basket = link.Execute("SELECT * FROM Table1;") 
+0

こんにちは@DougCoatsご返信ありがとうございます。上記のVBAコードで 'Basket.Open SQLSyntax、link'を' Set Basket = link.Execute(SQLSyntax) 'に置き換えました。それは同じ "コマンドオブジェクトにコマンドテキストが設定されていませんでした"というエラーが発生しました:( –

+0

@ASuperTrampフォームワークシートを引っ張る代わりにVisual Studioで直接SQLを解析する必要がありますか?おそらくフォーマット問題が発生しています –

+1

書式設定の問題でした。ありがとうございました。 –

関連する問題