OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

年月日を持つテーブルから年月を指定して抽出したいのですが

  • 暇なときにでも
  • 質問No.246914
  • 閲覧数945
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 33% (5/15)

ACCESSをつかっています。
年月日、氏名、その他のレコードを持つテーブルがあります。
フォーム、レコードで検索条件のコンボボックスがあるとします。
条件で、2002年4月を選ぶと、2002/04/01~2002/04/30
までのデータを出せるようにしたいのです。

他の質問にあるあいまい検索等を参考にしましたが、コンボボックス
と、テーブル、フォームの関係が頭の中でごちゃごちゃになって
つながりません。最終的にはフォームの上部にコンボボックスがあり、
下部(サブフォームでしょうか)に抽出されたデータがでればと
思っています。なにぶん初心者なもので質問自体もわかりにくいと
思いますがよろしくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル14

ベストアンサー率 51% (1179/2272)

こんにちは。maruru01です。

コンボボックス(cbo年月)のリストデータは、"2002年4月"のように日付で認識出来る文字列とします。
コンボボックスのClickイベントまたはChangeイベントに次のように書きます。

Dim startYM As Date
Dim endYM As Date
Dim myFilter As String

If Me!cbo年月.Value = "" Then
  '未選択
  Exit Sub
End If
'年月だけだと"○○○○/△△/1"と1日を返す
startYM = CDate(Me!cbo年月.Value)
'1ヶ月後の前日(つまり今月の末日)を返す
endYM = DateAdd("m", 1, startYM) - 1
'フィルタに設定する抽出条件文字列を作る
myFilter = "年月日 BETWEEN #" & startYM & "# AND #" & endYM & "#"
'フォームにフィルタをかける
Me.Filter = myFilter
Me.FilterOn = True

関数などの詳細はヘルプを参照して下さい。
では。
お礼コメント
ichiro-ichiro

お礼率 33% (5/15)

どうもありがとうございます。なるほど、という答えでした。
まだ完全にはできていませんが、とてもよいヒントとなり、
もう少しでできそうです。頑張ってみます。
投稿日時 - 2002-04-06 00:02:12
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル9

ベストアンサー率 53% (46/86)

月単位で良いのならACCESSではmonth関数が使えますから、 where month(年月日)=4 と言うような検索式を設定すればOKでしょう。もし年号が必要ならandでyear関数を追加すれば絞れますね。 当然コンボボックス内の条件「2002年4月」から年号と月のデータ抽出はする必要が有りますが。 ...続きを読む
月単位で良いのならACCESSではmonth関数が使えますから、

where month(年月日)=4

と言うような検索式を設定すればOKでしょう。もし年号が必要ならandでyear関数を追加すれば絞れますね。
当然コンボボックス内の条件「2002年4月」から年号と月のデータ抽出はする必要が有りますが。
お礼コメント
ichiro-ichiro

お礼率 33% (5/15)

ありがとうございました。ヒントになりましたので頑張って
やってみます。
投稿日時 - 2002-04-05 23:59:17
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ