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

エクセルVBAからaccessにクエリを送る際のselectクエリの書き方について教えてください。

VBAから指定する文字列strが、accessのカラムa,b,cのハイフン区切りの文字列と一致した場合のみselectしたいのですが、select文はどのように書けばよいでしょうか?
(VBAでstrをハイフンなしにばらさない場合)
-------------------
str='0-1-2'

select * from aaa where カラムa=0 and カラムb=1 and カラムc=2

「and」なしで書く場合は?
-------------------

A 回答 (2件)

こんにちは。



結構素直に書いてよいかと思います。

select * from aaa where カラムa + '-' + カラムb + '-' + カラムc = '0-1-2';

ただし、カラムa~cが数値型の場合は、trimやstrを使います。
select * from aaa where trim(str(カラムa)) + '-' + trim(str(カラムb)) + '-' + trim(str(カラムc)) = '0-1-2';
TrimやStrはAccessのSQLで使えるようです(これは確認済み)。

SQL発行の際は、
sSql = "select~ カラムc = '" & str & "'"
でOKかと思います。

Excelからの動作確認は行っていません。ごめんなさい。
    • good
    • 0
この回答へのお礼

sql_str = "select * from aaa where a+'-'+b+'-'+c='0-1-2'"
教えていただいたように、↑でいけました。
ありがとうございました。

お礼日時:2005/05/19 18:27

select * from aaa


where カラムa & '-' & カラムb & '-' & カラムc = '0-1-2';

でどうでしょう?
    • good
    • 0
この回答へのお礼

&ではなく+で試したら、成功しました。
ありがとうございました。

お礼日時:2005/05/19 18:29

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