-PR-
締切り
済み

クエリで日付の抽出条件

  • すぐに回答を!
  • 質問No.94053
  • 閲覧数873
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 48% (125/258)

アクセスのクエリで日付の条件抽出をしたいのです。シャープ(#)が日付のリテラル値ということまではつき止めたのですが、ここで問題発生です。
文字列には*や?のような便利な文字が使えるのに、日付で使おうとするとエラーになってしまいます。
例えば#01/05/2?# のように2001年5月20日~29日を抽出しろ、としても出来ません。
日付抽出には*や?のような文字はないんでしょうか?
どうしてもないようなら関数でもしょうがないのですが、関数だと#01/1?/?3# (2001年10月~12月のうち、03、13、23日を抽出)みたいな複雑な命令が(簡単には)出来ないような気がするんです。

どなたかお助け下さい。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全3件)

  • 回答No.1

日付の範囲で抽出する場合は、 Between #2001/05/20# AND #2001/05/29# の方がいいですよ。 もうひとつの場合も、 WHERE (日付 Between #2001/10/01# AND #2001/12/31#) AND ((Day(日付)=03) OR (Day(日付)=13) OR (Day(日付)=23)) などのように複数の条件を組み合わせするとか ...続きを読む
日付の範囲で抽出する場合は、
Between #2001/05/20# AND #2001/05/29#
の方がいいですよ。

もうひとつの場合も、
WHERE (日付 Between #2001/10/01# AND #2001/12/31#)
AND ((Day(日付)=03) OR (Day(日付)=13) OR (Day(日付)=23))
などのように複数の条件を組み合わせするとか。



どうしてもワイルドカードを使う場合は

Format$([日付],"yyyy/mm/dd")で文字列型にしてから
Like演算子を使用してください。
この場合処理速度が遅くなりますが。
お礼コメント
celena

お礼率 48% (125/258)

ご回答ありがとうございます。
僕自身はいいのですが、このファイルを会社の人のためにできるだけ簡単に作らなければならないのです。なにしろマイツールという今となってはマニアックなソフトからMS Officeへの移行なので・・・
お答えを参考に検討させていただきます。
重ね重ねお礼申し上げます。
投稿日時 - 2001-06-22 21:10:53


  • 回答No.2
レベル11

ベストアンサー率 22% (56/252)

簡単に考えて見ましょう。 日付から年・月・日をそれぞれ違うフィールドに・・ year([日付]) month([日付])  day([日付])と分散してから、それぞれ、抽出条件を設定したらどうでしょう。それか、最初の設計で、年・月・日を分けて入力するようにして、必要で開けば、別のフィールドで、DateSerial([年],[月],[日])でくっつけるってのは、どうでしょう。  ...続きを読む
簡単に考えて見ましょう。
日付から年・月・日をそれぞれ違うフィールドに・・ year([日付]) month([日付])  day([日付])と分散してから、それぞれ、抽出条件を設定したらどうでしょう。それか、最初の設計で、年・月・日を分けて入力するようにして、必要で開けば、別のフィールドで、DateSerial([年],[月],[日])でくっつけるってのは、どうでしょう。 
お礼コメント
celena

お礼率 48% (125/258)

ご回答ありがとうございます。
なるほど、そういう考え方もあるんですね。CHOROLYNさんの解答欄にもあるようにごくごく単純化しなければならいので、i-haradaさんの回答は結構使えるかもしれませんね。
ただ、日付の項目がひとつではないので(届けた日、引き取った日など複数あります)、それだけ項目数が増えるという意味なんですよね。
お答えを参考にして検討したいと思います。
重ね重ねお礼申し上げます。
投稿日時 - 2001-06-22 21:26:37
  • 回答No.3
レベル11

ベストアンサー率 22% (56/252)

プロシージャとかを使わずに大体の事はできます。 フィールド数も、256個まではたしか「OK」ですから、頭の中だけで考えずに、フローチャートを作ってから進めば、頭から煙も出なくてすみます。後から見ても、他の人が見ても理解しやすいと思います。それを組み合わせれば、かなり大きな物も作れるようになります。管理表もあったほうが良いかも知れません。 私も、会社で使っている集計用を、上記のやり方で作りました。結構重 ...続きを読む
プロシージャとかを使わずに大体の事はできます。
フィールド数も、256個まではたしか「OK」ですから、頭の中だけで考えずに、フローチャートを作ってから進めば、頭から煙も出なくてすみます。後から見ても、他の人が見ても理解しやすいと思います。それを組み合わせれば、かなり大きな物も作れるようになります。管理表もあったほうが良いかも知れません。
私も、会社で使っている集計用を、上記のやり方で作りました。結構重宝されています。ただ、クエリーの数は多くなります。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ