- ベストアンサー
Accessクエリについて教えてください。
Accessクエリについて教えてください。 日付を入力すると抽出したく下記のように作成したのですが、 フォームを使い、年と月だけ入力することはできますでしょうか?(2010/3/*) Between [Forms]![F_AAA]![入力1] And [Forms]![F_AAA]![入力2] (フォームAAAの入力1に、2010/03/01、入力2に2010/03/31)と入力して2010年3月分を抽出する。 ↓(下記のようにしたい) フォームAAAの入力1に2010、入力2に3と入力すると、2010年3月分を抽出する。 教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 >入力2を01と入力するようにするか、入力2に1と入力しても抽出される方法はありますでしょうか?? こういった処理はできればフォームのコントロールのイベントで対応した方が手っ取り早いです。(可能であれば) '入力桁が一桁の場合 If Len([Forms]![F_AAA]![入力2]) = 1 Then '入力値が1以上9以下の場合 If [Forms]![F_AAA]![入力2] >= 1 And [Forms]![F_AAA]![入力2] <= 9 Then '頭に0埋め [Forms]![F_AAA]![入力2] = "0" & [Forms]![F_AAA]![入力2] End If End If 月の妥当性チェックなどをした方がいいかもしれませんが、とりあえず上記を[Forms]![F_AAA]![入力2]の「フォーカス喪失」または「更新後」のイベントに入れてあげれば頭に0埋めはされます。
その他の回答 (2)
- root_16
- ベストアンサー率32% (674/2096)
お使いのテーブルから、全てのフィールドを含むクエリを作成します。 新しいフィールドに 年:Year([日付]) と入力します。 また、新しいフィールドに 月:Month([日付]) と入力します。 年のフィールドの抽出条件に[Forms]![F_AAA]![入力1] 月のフィールドの抽出条件に[Forms]![F_AAA]![入力2] と入れれば、やりたい抽出ができると思います。
- sykt1217
- ベストアンサー率34% (277/798)
中間一致ということでしょうか? Like [Forms]![F_AAA]![入力1] & "/" & [Forms]![F_AAA]![入力2] & "*"
補足
Like [Forms]![F_AAA]![入力1] & "/" & [Forms]![F_AAA]![入力2] & "*" でできました!ありがとうございます。 ちなみにもう1点聞きたいのですが、、 入力2が月なのですが、クエリが2010/01/10とかなので、入力2に1としても抽出されません、 入力2を01と入力するようにするか、入力2に1と入力しても抽出される方法はありますでしょうか??