• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access 日付/時間型を検索するには?)

Access 日付/時間型の検索方法について

このQ&Aのポイント
  • Accessで日付/時間型のデータを検索する方法について教えてください。
  • 自分なりに検索用フォームを作成しましたが、日付だけで検索しても全データが抽出されてしまいます。
  • どこが間違っているのか、ご指摘いただけますか?

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

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

#1です 補足読んだのですが、かなり複雑怪奇な話になります テーブル名:Tbl不明 処理番号:テキスト型 件名  :テキスト型 年月日 :日付/時刻型 をベースに「Q処理検索」を作ったとします で、記載すると、大変な話になるので、SQLビューに切り替えて、SQL文を張りますので、テーブル名だけは、修正してください Q処理検索 SELECT Tbl不明.* FROM Tbl不明 WHERE (Tbl不明.処理番号 Like "*" & [Forms]![F処理検索]![処理番号] & "*") AND (Tbl不明.件名 Like "*" & [Forms]![F処理検索]![件名] & "*") AND (([Forms]![F処理検索]![開始] Is Null AND [Forms]![F処理検索]![終了] Is Null) OR (Tbl不明.年月日 >= [Forms]![F処理検索]![開始] AND [Forms]![F処理検索]![終了] Is Null ) OR (Tbl不明.年月日 < [Forms]![F処理検索]![終了]+1 AND [Forms]![F処理検索]![開始] Is Null) OR (Tbl不明.年月日 >= [Forms]![F処理検索]![開始] AND Tbl不明.年月日 < [Forms]![F処理検索]![終了]+1)); と、言う感じかな? 少し、[開始]だけじゃなくて、[終了]だけ、入ってる場合も、対応するように、記載してみたけど・・・

saiwai
質問者

補足

回答誠にありがとうございます。 早速貼り付けて動作確認をした結果、「終了」へ入力すると 「式が正しく入力されていないか、複雑過ぎるために評価できません。」 とエラーメッセージが出ます。 やっぱり複雑怪奇すぎるんでしょうか… 終了以外はすべて完璧に動きました。

その他の回答 (4)

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

#1です すみません データを入れて、検証したら、同じメッセージが出ましたね;; < [Forms]![F処理検索]![終了]+1 を <= [Forms]![F処理検索]![終了] にすれば、 > 「式が正しく入力されていないか、複雑過ぎるために評価できません。」 が、表示されず、行けます ただし、これは、時間までのところが、0時までしか、検出できません NN日+XX時、は、NN日では、引っ張れなくなります この対処としては、フォーム側で、演算を細工する事になるかな?

saiwai
質問者

お礼

回答ありがとうございます。 <= [Forms]![F処理検索]![終了]で表示が消えました。 上司と相談の結果、時間は検索にしなくて良いと許可が出たので この形で落ち着きました。 複雑怪奇な問題に取り組んでいただき、誠にありがとうございました。 完成まで長い仕事ですが、Dxakさんのおかげで希望が見えてきました。

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

#1です 気になるとすれば・・・ > [Forms]![F処理検索]![処理番号] > [Forms]![F処理検索]![件名] の2つ、要は、検索用コントロールと、抽出結果を出すコントロールが、同じ名前を使用しているとは、考えにくく、名前が間違ってるとか? > 「式が正しく入力されていないか、複雑過ぎるために評価できません。」 は、大体、SQL文が、間違ってる場合、もしくは、矛盾がある場合に、出るもの 要は、テーブル名の書き換えを失敗したとか、私が、想像しているコントロール配置などが違う可能性 どっちにしても、自力で、何がどう違うのか?、見直していく以外ないね

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

例えばフィールド(aaa)に日付/時間型となっていた場合に、 今日(3/10)のデータを抽出するなら抽出条件に、 Format([aaa],"yyyy/mm/dd")="2009/03/10" で出来ました。 ここ"2009/03/10" が [Forms]![F処理検索]![開始] にあたるのではないでしょうか? ⇒条件に時間までが必要なのかどうなのか・・・? Access使用は皆無なので違ったらごめんなさい。

saiwai
質問者

お礼

Excel(マクロ)ではお世話になっております。 結果、時間は無しになりました。 まだまだExcelもAccessも修行が足りずに悪戦苦闘しております。 ご意見ありがとうございました。

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

う~ん、意図してる通りだと思うよ 日付のカラムに日付が入ってようが、入って無くても・・・ > 「処理番号」と「件名」の抽出条件(1行目)には > 「Like"*"&[Forms]![F処理検索]![処理番号]&"*"」 > 「Like"*"&[Forms]![F処理検索]![件名]&"*"」と記述 が動作、当然日付しか、入力してないから、フリーパスで、全部抽出 どう抽出したいのか?もう少し詳しく記載してね

saiwai
質問者

補足

回答ありがとうございます。 説明不足で申し訳ありません。補足させていただきます。 検索の仕方としては、下記のパターンになります。 (1)処理番号のみで検索する (2)件名のみで検索する (3)年月日のみで検索する (4)(1)と(2)を組み合わせて検索する (5)(1)と(3)を組み合わせて検索する (6)(1)・(2)・(3)全てあわせて検索する (7)(2)と(3)を組み合わせて検索する ※全てあいまい検索が出来る状態で行いたい 年月日においては、「開始日のみ」で検索したい場合があります。(あえて終了日は入れない場合があります) 以上になります。宜しくお願いします。

関連するQ&A