- ベストアンサー
アクセス2003の検索クエリーについて
今、アクセス2003で色々勉強しています。 氏名とか住所はクエリーの曖昧検索で式を書いて動いたのですが。 期間・・何年何月何日~何年何月何日で検索する式がわかりません。 どのような式を書けばいいのでしょうか? ちなみに曖昧検索はIIf(IsNull([Forms]![検索画面]![住所]),True,[住所] Like "*" & [Forms]![検索画面]![住所] & "*")と書いて動きました。 うまく表現が出来ないので、わからないかもしれませんがよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>売上金額は左側の□が売上で右の□は売上2という名前にしてもちろん非連結にしてあります。 この場合、一行目の条件に 売上金額条件: between[Forms]![検索画面]![売上金額]and[Forms]![検索画面]![売上金額2]と書くのでしょうか? 式の書き方に問題は無いと思われます。。。 ※そのエラーがどうやったらでるか試してみたのですが、"!"を全角で記述 したらでたのですが、スペースや[等は全て半角でしょうか? 又 確認として、このコメントの書き方の所でBETWEENと[Forms]の間に半角スペースが ありませんが実際にはありますよね?(通常自動修正かかるので問題ないと思いますが。。) あと、コントロールの2つが「金額」と「金額2」となっていて、条件 のコントロール名が「売上金額」と「売上金額2」となっていますが ここは合わせないといけないのですが、実際記述は如何でしょうか? 尚、実際私が動かしている検査データ抽出の日付~日付の記述 を画面添付してみますね。(何かヒントになれば・・)
その他の回答 (3)
- tag1701
- ベストアンサー率54% (67/123)
ごめんなさい。まだ完全に理解できなくて・・・ 住所のあいまい検索条件は検索クエリの住所列の条件欄に書いてるんですよね? であれば日付抽出は日付のデータ形式をyyyy/mm/ddにして検索フォーム の□の形式も同様に合わせて、クエリの日付の条件欄に between [Forms]![検索画面]![□] and [Forms]![検索画面]![□] (もちろん□は□~□)、 金額はクエリ金額列の条件に between [Forms]![検索画面]![金額1] and [Forms]![検索画面]![金額2] でどうでしょうか? 基本的に検索条件のフォームに絞り込みたい項目を作成し保存。 検索クエリはそのフォームの条件を入れ込むと複数条件はクリア できるはずです。 がんばってください。 (でも、簡単にするには前述のクエリのbetween **/**/**・・・を between [いつから] and[いつまで]と書いて金額も between [いくらから] and[いくらまで]と書いてクエリを 作成し、そのクエリを基にフォームやレポートを作成すると フォームやレポートを開く際に[いつから?]などと聞いてくるので 4/1等と入れていくだけで結果がでますよ)
お礼
何度もありがとうございます。 住所の曖昧検索もクエリの一番上の行に 住所条件: IIf(IsNull([Forms]![検索画面]![住所]),True,[住所] Like "*" & [Forms]![検索画面]![住所] & "*") と書きました。 同じように年月日、売上金額を検索できればと思いました。 フォームの検索画面では何年何月何日~何年何月何日、いくらから~いくら、と入力できるように作りました。 売上金額は左側の□が売上で右の□は売上2という名前にしてもちろん非連結にしてあります。 この場合、一行目の条件に 売上金額条件: between[Forms]![検索画面]![売上金額]and[Forms]![検索画面]![売上金額2]と書くのでしょうか? betweenの前の記述を色々やってみたのですが、指定した式の構文が正しくないと出てしまいました。 何度も初心者におつきあいいただけ大変申し訳ありません。 よろしくお願いします。
- tag1701
- ベストアンサー率54% (67/123)
検索条件に合ったデータだけ見たいというのであれば クエリを開いて画面上部に「フォームフィルタ」(アイコンに マウスをあわせれば表示されるハズ)をクリックし、 条件付けたい列に検索条件を書く。(例えば日付ならbetween **/**/** and **/**/**,でok、金額列なら between 10000 and 20000等、 住所等曖昧なものの列は like *愛知* 等) そして「フィルタの実行アイコン」をクリックすれば見られます。 もしフォームというのであれば基本的に時間のやり方と同じです。 時間でないのでただの数字ですが・・・ ただフォームでひっかかるデータが複数ありそれを表示させるので あれば検索用フォームと抽出データ表示用のサブフォームの作成が 必要となり、検索用フォームに再クエリ実行用のボタンを作る等の 作業が必要となるかもしれません。
お礼
回答ありがとうございます。 またもわたしの表現が充分でなかったことをお詫びします。 現在、入力用フォームと検索フォーム、そして検索結果フォームとあります。検索は検索クエリーから検索結果フォームが帳票で表示されるようにしてあります。 項目としては、住所、氏名、電話、見積日、売上金額、担当者と書いてあります。 その中で任意の日から任意の日までどれだけ見積を出したか検索したかったのです。 また、金額も例えば10万から20万までとか任意の金額の幅で検索できれば、と考えておりました。 もちろん複数件数が検索されるのですが。そんな式があるのであれば使ってみたいと考えていた次第です。 ご存じでしたらよろしくお願い致します。
- cistronezk
- ベストアンサー率38% (120/309)
http://office.microsoft.com/ja-jp/access/HA100666111041.aspx の「日付/時刻型フィールドの抽出条件」が参考になるかもしれません。
お礼
早速のお返事有り難うございます。 詳しく見てみます。 尚、これって例えば、\10、0000~\30,0000を検索する、なとと言うのにも活用できるのでしょうか? ちなみに検索フォームは□~□として左側と右側の□に、いくらから~いくら、と入力するように作りました。
お礼
ありがとうございます。 クエリー自体も違うような・・・・わたしはフィールドの所に記述して抽出条件の所をtrueにして書いておりました。実際住所などはコレで検索できていた物で・・・ エラーメッセージは指定した式の構文が正しくありません。 下の所には、「たとえば、値または識別子が前にないのにカンマを指定しています。」と出ています。 実際書いてあるのは フィールドに売上金額条件: between [Forms]![検索画面]![売上金額]and[Forms]![検索画面]![売上金額2] もう一度色々やってみます。ファイルを貼り付けて見て頂ければどこが悪いかすぐにわかるのでしょうが、文面だけですとなかなか難しいですね。まったく泣けてきます。 ありがとうございました。
補足
色々やってみましたがやはりダメでした。 何度もお手数おかけしまして申し訳ありませんでした。 他の方法で何か考えるしかないのかもしれません。 もし、ご都合よろしければですが、私はbakuhatu21ヤフーメールで届きます。ありがとうございました。