dポイントプレゼントキャンペーン実施中!

以下のcsvファイルから例えば、「name」列が「aaa」の行を取得するVBScriptを作成したのですが、うまくいきません。ご教授お願いいたします。
---------------
name,id
aaa,1
bbb,2
ccc,3
---------------

作成したVBScriptは以下のものになります。
(SQL文のWhere句に直接、「where name= 'aaa'」と打つとうまくいきますが、変数を指定したいです。)
-------------------------------------------
Option Explicit

Dim objADO
Dim objRS
Dim strName

strName = "aaa"

'ADOオブジェクトを作成
Set objADO = CreateObject("ADODB.Connection")

'ADOを使いCSVファイルを扱う準備(オープン)を行う
objADO.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
"DBQ=C:\sagyou\;" & _
"ReadOnly=1"

'SQLを実行し、当該タスクのデータを抽出します
Set objRS = objADO.Execute("select * from test.csv where name= strName")

'レコードセットをクローズobjRS.Close
objRS.Close

'ADOオブジェクトをクローズ
objADO.Close

A 回答 (2件)

VBA みたいに "" を使うとダメみたいですね。

失礼しました。
Set objRS = objADO.Execute("select * from test.csv where name='" & strName & "'")
としてみてください。
    • good
    • 2
この回答へのお礼

動作確認して、正常に動くことを確認しました。
夜分遅くに、親身になって教えていただきましてありがとうございました。

お礼日時:2007/06/21 00:26

Set objRS = objADO.Execute("select * from test.csv where name= strName")


のところを
Set objRS = objADO.Execute("select * from test.csv where name=""" & strName & """")
にしてみてはどうでしょうか。
    • good
    • 0
この回答へのお礼

返信ありがとうございます。

早速ためさせていただいたのですが、下記のエラーが出てしまいました。
「パラメータが少なすぎます。1を指定してください。」

自分でももう少し、試行錯誤してみます。

お礼日時:2007/06/21 00:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています