• ベストアンサー

【VB】VBでのSQL文の書き方が今一わからない

表題通りなのですが、いくつかの条件でクエリを行いたいのですが、書き方が今一わからずエラーに悩まされています。 SELECT * FROM テーブル WHERE 条件 条件のところに 出荷日付 A日~B日 フィールド1の文字列=CDEF フィールド2の文字列=GHIJ すべてに当てはまる条件を入れたい場合、どう書けばいいのですか? どうかお助けください。(m_m)

質問者が選んだベストアンサー

  • ベストアンサー
  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.3

AND でつなげてOKですよ。 書き方は2の方の回答を参照してくださいね。 出荷日付がDateTime型の場合、時間も関係してくるかも知れませんので、 出荷日付 between 'yyyy-mm-dd 00:00:00' and 'yyyy-mm-dd 23:59:59' としておいたほうがよいかも。

sineminna
質問者

お礼

あれから試行錯誤の上なんとかできました。 どうもありがとうございます。

その他の回答 (2)

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.2

質問の意図が全く分からないのでなんともいえないのだが・・・・。 Dim sql As String sql = "select" sql = sql & " *" sql = sql & " from" sql = sql & " テーブル" sql = sql & " where" sql = sql & " 出荷日付 between '" & Format$(A, "yyyy-mm-dd") & "' and '" & Format$(B, "yyyy-mm-dd") & "'" If f1dat <> "" Then sql = sql & " and フィールド1='" & f1dat & "'" End If If f2dat <> "" Then sql = sql & " and フィールド2='" & f2dat & "'" 質問をする時は、可能な限り ・言語(正確に! 例えばVBとVBAとVBSとVB.NETは全て違う) ・データベース接続コンポーネント(バージョンまで正確に! DAO3.6やADO2.7sp1やODBC) ・データベース(バージョンまで正確に! SQL Server 2000、Oracle 9.0.2、MySQL 4.x、PostgreSQL7.x、PostgreSQL8.x) などを明記してあげると良い。

sineminna
質問者

補足

言葉足らずですみません。 バージョンはVB6 コンポーネントはADO Data Control 6.0 データベースはMicrosoft Jet 4.0 OLE DB Provider です。 WHEREのあとに 条件1 AND 条件2 AND 条件3..... でいいのでしょうか。

  • A98JED
  • ベストアンサー率28% (221/778)
回答No.1

条件を and でつなげてください。

関連するQ&A