3
Excelでは、IDの列があります。 ID列の値を条件とするテーブルから値を選択したいと思います。これまでのところ、私はエラーを取得するws.Cells(I、10)は、カラム内の行の各値にK.VBAからSQLを呼び出すときの動的なWHERE条件
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array(_
"ODBC;DSN=xxxx;Description=xxxxx;UID=xxx;APP=2007 Microsoft Office system;WSID=xxx" _
), Array("56;DATABASE=xxx;Trusted_Connection=Yes")), Destination:=Range(_
"$M$3")).QueryTable
For i = 1 To 691
sText = "SELECT Instrument.ID, Instrument.MATURITY FROM xxxx.dbo.Instrument Instrument WHERE Instrument.ID=" & ws.Cells(i, 10).Value & ""
.CommandText = Array(sText)
Next
End With
指し、これを、持っている「424」の行STEXTに、エラーメッセージ "Object required"。
私はまた、これを行うための最良の方法ではありません。ある列からWHERE条件を使用してSQLを実行するための簡単な設定が必要です。
ありがとうございました!
は定義されていますか? –
Excelには、Excelがデータベースと直接対話できるようにするための組み込みの接続、または少なくともプラグインがあると思います。また、文字列を連結することにも注意してください - SQLインジェクションは面倒です。 –
データベースはSQL Serverですか?そうであれば、OpenRowsetが適合するかもしれません。同時に、SQLデータベースとExcelの両方からデータを取り出すことができます。 – Fionnuala