パソコンのトラブル、インターネットのトラブル、中古パソコンの購入など、自分の体験した物から、調べたことをまとめています。

TopAccess【ACCESS】年月で絞込み

【ACCESS】年月で絞込み

何年の何月分のデータだけを絞り込んで表示したいんだけど、
調べてみてもない。

月の最初の日から、翌月の最初の日を求めて、当月の最終日を求めて
フィルター文字列を作って、フィルターをかける。

こんな感じかな
   
'日付/時刻型に変換しています。   
   vardate1 = CDate(vardate1)
vardate2 = DateAdd("m", 1, vardate1) '翌月の一日を求める
vardate2 = DateAdd("d", -1, vardate2) '月末の日付を求める

'Where句を作成します。' --- D
varFilter = "日付 BETWEEN #" & vardate1 & " # AND # " & vardate2 & "# "
Me.Form.Filter = varFilter
Me.Form.FilterOn = True

これが面倒だから、もっと楽な方法はないかなと思って、

   DoCmd.ApplyFilter , "Format([日付],'yyyy/mm')=" & Me.リスト2
て、やってみた。
リスト2には、2006/03のような文字列が入っている。(たぶん文字列)

だけど、これだと抽出できない。
フィルタの編集で確認してみると、
抽出条件が 2006/3 になっている。クエリとして保存して抽出条件を "2006/03" てぐあいに
コーテーションで囲むとうまくいく。

ためしに、
DoCmd.ApplyFilter , "Format([日付],'yyyymm')=" & Me.リスト2
にしてみた。
もちろん、リスト2から送られる文字列も 200603 に変更。

そしたら、うまく抽出できた。

どうして?誰か教えてほしい。



投稿日:2007年04月09日|カテゴリー:Access このエントリーをはてなブックマーク

関連記事はカテゴリー・アーカイブから→ カテゴリー「Access」のアーカイブ

Sponcerd Link

免責事項

当サイトに掲載されている情報に関しては、正確な情報になるよう細心の注意を払っておりますが、その信用性、正確性、妥当性等について保証するものではありません。当サイトおよびそのリンク先のサイトに掲載されている情報等により生じたトラブル並びに被った損害については、当サイトは一切の責任を負いかねます。