- ベストアンサー
InputBoxを抽出条件にしたSQL文
MicroSoftのAccessを使用してSQL文を作成しています。 VisualBasicに用意されているInputBox関数を利用して、 それを抽出条件として当てはめたいのですが、どうも 上手くいきません。 詳細を書きますと、InputBox関数で4桁の数字を入力 します。それは年月を表します。例えば平成14年11月なら 1411と入力します。 テーブルの中に「扱月」という列があり、それに合致 しているものを抽出したいのですが、変数に入ってく れません。 InputBoxで入れた数の変数はresという名の中に入れて いるのですが、それをSQL文内で使用しても、どうも 望む数字が入っていないようなのです。 クォーテーションで囲んでみてもだめでした。 どのようにすれば宜しいのでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
SQL = "select * from T_通常分給付台帳 where 給付月 = " & res もしくは SQL = "select * from T_通常分給付台帳 where 給付月 = '" & res & "'" とやってみてはいかがでしょうか?
その他の回答 (2)
- gonta_goma
- ベストアンサー率50% (37/73)
まず検索対象は、扱月ではなく給付月ですね。 給付月のデータ型は何になってますか? 数値ならば、 SQL = "select * from T_通常分給付台帳 where 給付月 = " & res で問題ないように思えるのですが。 もしも文字列なら、 SQL = "select * from T_通常分給付台帳 where 給付月 = '" & res & "'" だと思います。 また、給付月フィールドは、平成14年11月を表す場合にはちゃんと1411が入っていますか?
お礼
SQL = "select * from T_通常分給付台帳 where 給付月 = '" & res & "'"の文で問題なくいけました。 本当にありがとうございました。
- taknt
- ベストアンサー率19% (1556/7783)
どのようにプログラムを書いてるのか出さないと さっぱりわかりません。
補足
疑問部分だけ抜き出します。 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で入力した数字として 当てはめることをしたいと思っています。
お礼
SQL = "select * from T_通常分給付台帳 where 給付月 = '" & res & "'"の文で問題なくいけました。 本当にありがとうございました。