• ベストアンサー

InputBoxを抽出条件にしたSQL文

MicroSoftのAccessを使用してSQL文を作成しています。 VisualBasicに用意されているInputBox関数を利用して、 それを抽出条件として当てはめたいのですが、どうも 上手くいきません。 詳細を書きますと、InputBox関数で4桁の数字を入力 します。それは年月を表します。例えば平成14年11月なら 1411と入力します。 テーブルの中に「扱月」という列があり、それに合致 しているものを抽出したいのですが、変数に入ってく れません。 InputBoxで入れた数の変数はresという名の中に入れて いるのですが、それをSQL文内で使用しても、どうも 望む数字が入っていないようなのです。 クォーテーションで囲んでみてもだめでした。 どのようにすれば宜しいのでしょうか。

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

  • ベストアンサー
  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.2

SQL = "select * from T_通常分給付台帳 where 給付月 = " & res もしくは SQL = "select * from T_通常分給付台帳 where 給付月 = '" & res & "'" とやってみてはいかがでしょうか?

J-SYS
質問者

お礼

SQL = "select * from T_通常分給付台帳 where 給付月 = '" & res & "'"の文で問題なくいけました。 本当にありがとうございました。

その他の回答 (2)

回答No.3

まず検索対象は、扱月ではなく給付月ですね。 給付月のデータ型は何になってますか? 数値ならば、 SQL = "select * from T_通常分給付台帳 where 給付月 = " & res で問題ないように思えるのですが。 もしも文字列なら、 SQL = "select * from T_通常分給付台帳 where 給付月 = '" & res & "'" だと思います。 また、給付月フィールドは、平成14年11月を表す場合にはちゃんと1411が入っていますか?

J-SYS
質問者

お礼

SQL = "select * from T_通常分給付台帳 where 給付月 = '" & res & "'"の文で問題なくいけました。 本当にありがとうございました。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

どのようにプログラムを書いてるのか出さないと さっぱりわかりません。

J-SYS
質問者

補足

疑問部分だけ抜き出します。 res = InputBox("集計月入力", Title, Format(DateAdd("m", -1, Date), "eemm")) Set rsQ = New ADODB.Recordset SQL = "select * from T_通常分給付台帳 where 給付月 = ????" rsQ.Open SQL, CurrentProject.Connection 上の?部分をInputBoxで入力した数字として 当てはめることをしたいと思っています。

関連するQ&A