• ベストアンサー

アクセスのフォームで期間検索するには?

アクセスの検索フォームで、レコードを別フォームで表示して、表示したフォームでフィールド毎に検索しています。 日付の部分だけ、検索方法が分からず、なかなか出来ない状態です。 このフォームに、開始と終了のテキストボックスを設置しています。 ボタンを押して、開始と終了の期間のデータを表示出来ればと思います。 宜しくお願いします。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.5

>日付フィールドは、日付/時刻型でyyyy/mm/ddで入力しています。 ということですから Private Sub 期間検索_Click() Me.Filter = "日付 Between #" & Me.[開始] & "# And #" & Me.[終了] & "#" Me.FilterOn = True End Sub

1968masaru
質問者

お礼

対応ありがとうございます。 解決出来ました。

その他の回答 (4)

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.4

#1です すみません 肝心なの忘れてました > Me.Filter = "Between #" & _ Me.Filter = "[フォームのレコードソースに使われるフィールド] Between #" & _ > Format(Me.[開始],"yyyy/mm/dd") & "# And #" & _ > Format(Me.[終了],"yyyy/mm/dd") & "#" Betweenの前に、どのフィールドが!って指定して無いですね 他は、ぱっと見大丈夫そうですが・・・ 検索フォームと、表示したフォームって別物?

1968masaru
質問者

お礼

対応ありがとうございます。

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.3

#1です 立て続けで申し訳ない Me.Requery は、Acc97の場合は、必要だったと思うけど・・・Acc2000以降だと、2回フィルタが動作するので、消してね

1968masaru
質問者

補足

この様にしてみました。 Private Sub 期間検索_Click() Me.Filter = "Between #" & _ Format(Me.[開始], "yyyy/mm/dd") & "# And #" & _ Format(Me.[終了], "yyyy/mm/dd") & "#" Me.FilterOn = True End Sub 同じエラーが出てしまいます。。

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.2

#1です あらま^^;;; > Private Sub 期間検索_Click() > Between [開始] And [終了] > End Sub こう言う使い方するなら・・・ Private Sub 期間検索_Click() Me.Filter = "Between #" & _ Format(Me.[開始のコントロール名],"yyyy/mm/dd") & "# And #" & _ Format(Me.[終了のコントロール名],"yyyy/mm/dd") & "#" Me.FilterOn = True Me.Requery End Sub と、言う使用方法かな?

1968masaru
質問者

補足

Private Sub 期間検索_Click() Me.Filter = "Between #" & _ Format(Me.[開始],"yyyy/mm/dd") & "# And #" & _ Format(Me.[終了],"yyyy/mm/dd") & "#" Me.FilterOn = True Me.Requery End Sub この様に、作ってみましたが、エラーが出てしまいます。。 このオブジェクトに値を代入できません、と言うエラーが出てしまいます。

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

> このフォームに、開始と終了のテキストボックスを設置しています。 これが、曲者だね・・・日付としてデータがなってるのか?ただのテキストとしてデータが、入ってるのか? 期間として行うなら Between [開始] And [終了] で、抽出可能だけど・・・これは、日付として入力されている場合 テキストの場合は、日付に変換 Between CDate([開始]) And CDate([終了]) あたりで、簡単に行けばよいのだけど・・・ "20080901"あたりで、入ってれば、Format関数で形式を整えてとなるね

1968masaru
質問者

補足

日付フィールドは、日付/時刻型でyyyy/mm/ddで入力しています。 この様にやってみました。 Private Sub 期間検索_Click() Between [開始] And [終了] End Sub エラーが出て、表示できませんでした。。

関連するQ&A