■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#1296-0SQLの書き方についてMaki2001-12-19(水) 18:11
     #1297-0RE#1296:SQLの書き方について魔界の仮面弁士2001-12-19(水) 18:15
     #1298-0RE#1296:SQLの書き方についてレベル112001-12-19(水) 18:22
     #1299-0RE#1297:SQLの書き方についてMaki2001-12-19(水) 19:10
#1296-0
SQLの書き方について
はじめまして。
今回超初心者にもかかわらず、勤務先の受注管理を作成することになって
雑誌等読みながら必死に勉強をしております。
質問なのですが、

   rs.Open "SELECT * FROM t_受注情報 WHERE 客先名 = 'A'", cnn

とすると、客先名が A という会社が返されますが
'A'のところを変数にしたくて

   rs.Open "SELECT * FROM t_受注情報 WHERE 客先名 = strx ", cnn

とすると、エラーがでます。構文が違うのでしょうけど、よくわからないので
誰か、書き方を教えて下さい。
ほんとに初心者的な質問ですいません。

WIN98 VB6.0 ACCESS2000です。
#1297-0
RE#1296:SQLの書き方について
>   rs.Open "SELECT * FROM t_受注情報 WHERE 客先名 = strx ", cnn
こういう時は、&演算子で文字列連結して、SQLを生成します。

   "SELECT * FROM t_受注情報 WHERE 客先名 = '"  &   strx   &   "'"


なお、「WHERE 客先名='a'」「WHERE 客先名='b'」「WHERE 客先名='c'」…と、
次々に似たようなSQLを発行する場合は、Commandオブジェクトを使って、
パラメータクエリを利用すると、パフォーマンスが良くなります。
#1298-0
RE#1296:SQLの書き方について
> 'A'のところを変数にしたくて
> 
>    rs.Open "SELECT * FROM t_受注情報 WHERE 客先名 = strx ", cnn
> 
> とすると、エラーがでます。構文が違うのでしょうけど、よくわからないので
> 誰か、書き方を教えて下さい。
> ほんとに初心者的な質問ですいません。

SQLというより、文字列編集の問題ですね。
こんな感じです。

Dim strSql As String
strSql = "SELECT * FROM t_受注情報 WHERE 客先名 = '" & strx & "'"
MsgBox strSql
rs.Open strSql, cnn

MsgBoxを使っているのは、必要だからではありません。メッセージボックスの中身
を見て納得したら、この行は消してください。
#1299-0
RE#1297:SQLの書き方について
> >   rs.Open "SELECT * FROM t_受注情報 WHERE 客先名 = strx ", cnn
> こういう時は、&演算子で文字列連結して、SQLを生成します。
> 
>    "SELECT * FROM t_受注情報 WHERE 客先名 = '"  &   strx   &   "'"
> 
> 
> なお、「WHERE 客先名='a'」「WHERE 客先名='b'」「WHERE 客先名='c'」…と、
> 次々に似たようなSQLを発行する場合は、Commandオブジェクトを使って、
> パラメータクエリを利用すると、パフォーマンスが良くなります。

魔界の仮面弁士さん、レベル11さんレスありがとうございました。
あっさりできました。自分でもいろいろ試してる時に、こう書いた
つもりだったんですけど、だめだったんで、他に書き方があるのかと
思ってました。スペースの入れ方が悪かったみたいです。
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)