• ベストアンサー
  • すぐに回答を!

ACCESS クエリ 日付の条件でフラグ立て

ACCESSクエリ上で [売上日][B][C] と言う並びのフィールドがあります。 [B]のフィールド条件に  ・[売上日]のデータが作業日の月の先月に属せば1を。   そうでなければ0を返す。 [C]のフィールド条件に  ・[売上日]のデータが作業日の月の先々月に属せば1を。   そうでなければ0を返す。 と言う指定したいと考えておりますが、上手くいきません。 Year([SalesDate])* 12 + DatePart("m", [SalesDate]) = Year(Date())* 12 + DatePart("m", Date()) - 1 では日付を返してしまうため、IIFと組み合わせようとしましたが上手くいきません。 上手いやり方を御存じの方がいらっしゃいましたら、何卒ご教授頂きたく存じます。 よろしくお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数2200
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.1

[B] IIf(Format([SalesDate],"yyyymm")=Format(DateAdd("m",-1,Date()),"yyyymm"),1,0) [C] IIf(Format([SalesDate],"yyyymm")=Format(DateAdd("m",-2,Date()),"yyyymm"),1,0)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご教授ありがとうございました! Format を使うんですね。大変参考になりました。

関連するQ&A

  • accessクエリの抽出条件

    access初心者です。 フィールド:「年」 数値型 フィールド:「月」 数値型 があり クエリの抽出条件に 年:2001 月:11 でクエリが実行できます。 これを当月分をクエリ実行できるように 年:year(date()) 月:month(date()) のように入れて当月のレコードを抽出したいのですが 「式に未定義関数dateがあります」というメッセージが出ます。どこが間違っているか助言をいただけると助かります。

  • ACCESS2003 追加クエリの条件設定について

    ACCESS2003 追加クエリの条件設定について 条件設定用のフォーム"A"があり、 その"A"で指定された条件を元にテーブル"B"から値を抽出し、 テーブル"C"に書き込む追加クエリを作成しています。 フォーム"A"には ・「対象日」フィールド ・「月で出力」チェックボックス テーブル"B"には ・「試験開始日」 ・「試験終了日」 ・他多数項目フィールド 追加クエリではフォーム"A"の情報を元に、テーブル"B"から 「試験開始日」:<=[Forms]![F_A]![試験開始日] 「試験終了日」:>=[Forms]![F_A]![試験開始日] と、月をまたがって実施される試験が殆どのため、「対象日」に入力された日付を 網羅するデータを取り出しています。 新たに作りたいのは、フォーム"A"の「月で出力」チェックボックスにチェックがついた 時に、フォーム"A"の「対象日」フィールドから月を取り出し、テーブル"B"の「試験開始日」 「試験終了日」それぞれで月を比較し、同じ月のデータを抽出したいのですが 追加クエリの抽出条件に下記の通り記述した所、データをヒットさせる事が出来ません。 試験開始日フィールドの抽出条件 IIf([Forms]![F_A]![月で出力]=True,Year([試験開始日])=Year([Forms][F_A]![対象日]) And Month([試験開始日])=Month([Forms]![F_A]![対象日]),[試験開始日]<=[Forms]![F_A]![対象日]) 試験終了日フィールドの抽出条件 IIf([Forms]![F_A]![月で出力]=True,Year([試験終了日])=Year([Forms][F_A]![対象日]) And Month([試験終了日])=Month([Forms]![F_A]![対象日]),[試験終了日]>=[Forms]![F_A]![対象日]) どこが問題なのでしょうか… どなたかご教授お願い致します。

  • Access 日付の書式について

    いつもお世話になっております。 Accessの中での日付の書式設定について教えて下さい。 「受注日」というフィールドがあります。 データ型は、「日付/時刻型」で、既定値にDate()を設定し、新規データ入力時を受注日に自動的に登録できるようにしました。 次に、そのフィールドのデータをクエリで 「年:Year([受注日])]」というようにして、 「年」「月」「日」を別々に取り出しました。 「2005」「10」「14」という数字を取り出すことができました。ただ、「年」は年号の数字が必要なので、クエリの「年:Year([受注日])]」のフィールドの書式を「ee」にしました。 書式を設定していない時は「2005」と正しい数値を取り出すことができたのですが、「ee」の書式を設定すると 「38」というふうに表示してしまいます。試しに「yyyy」にすると「1905」と表示してしまいます。 どのようにすれば必要な数字「17」を取り出すことができるでしょうか? よろしくお願いします。

  • Accessでクエリの抽出条件がうまくいきません…

    お忙しいところ、恐れ入ります。 Accessで1年間の日付の入った、テーブルがあります。 それをクエリで、月単位で(一か月分)表示させたいのですが、うまくいかないので、何がいけないのか、教えていただけますでしょうか。 現在、クエリの抽出条件には、Year(Now()) And Month(Now())と記入しています……

  • Access抽出クエリの基本的なこと

    お世話になります。 初心者で苦労しながらもAccess2000でデータベースを作成しています。 非常に基本的な質問だと思うのですが、どなたかご教授願います。 日付を含むフィールドがあるテーブルがあり、クエリにてその日付から 年と月を拾っています。 ID   入力日   年:Year([入力日])   月:Month([入力日]) 1   2001/07/06    2001          6 2   2002/06/07    2002          6 3   2002/07/19    2002          7 別に作成したフォームに年と月を絞り込むためのコンボボックスをそれぞれ配置し、 入力された値によって上記クエリの抽出条件に反映させたいのですが、コンボに何も 入力されていないときは全てのデータを表示したいんです。 「コンボ月=2002」&「コンボ月=6」でID=2のデータのみを、 「コンボ月=(Null)」&「コンボ月=6」でID=1と2のデータを表示したいんです。 (判りにくくてすみません。。) このような場合、抽出条件に記述する式はどのように設定したら良いのでしょうか? IIfでIsNullの条件式を組んだのですが、Nullの時に返す値が判りません。 どうかよろしくお願いします。

  • ACCESS クエリ 「先々月末日」 を求める関数

    ACCESSのクエリ上にて 作業をする日が属する月の「先々月末日」を返す関数を教えて頂きたく存じます。 先々月初は 「 DateSerial(Year(Date()),Month(Date())-2,1)」 で求める事が出来ましたが、先々月末日がうまくいきません。 何卒よろしくお願いいたします。

  • Access 2003 iif [日付フィールド] is null のあとで<>がうまく働かない

    Access 2003です。 [Start Date], [End Date]を入力するフォームで日付が入力されていなければ、 iif([Start Date] is null,<[End Date],>[Start Date]) のようにクエリ条件を設定したいのですが、 iif [Start Date] is null を使うと、続く条件の中で<>がうまく働かないという現象が起きます。 (クエリでなにも抽出されない) iif([Start Date] is nullの条件を入れなければ(つまり[Start Date],[End Date]はブランクにならないという前提ならば) 1. >[Start Date] 2. <[End Date] 3. Between [Start Date] And [End Date] などどれも問題なく動きますし、 iif([Start Date] is null~の条件を入れても続く条件の中で<>を使わなければ iif([Start Date] is null,[End Date],[Start Date]) はちゃんと動きます。 どうしてこのような現象が起こるのか、また回避する方法をご存知のかたがいらっしゃいましたら、どうぞご教示ください。 よろしくお願いします。

  • ACCESS 日付が複数ある場合のクエリについて

    おつかれさまです。 ご指導をお願い致します。 [製品]/[番号]/[日付MAIN]/[日付2]/[日付3] の 5フィールドがあるクエリで、下記のようなものを作り たく投稿させて頂きました。 1、[日付MAIN]に日付が入るとデータを表示させたい 2、[日付2]/[日付3]に日付が入るとそのデータは、表示しない このようなクエリを作りたいのですが、どのように作るかを 教えて下さい。 1番の方は、条件に Is Not Null で実現できるのですが、2番目 をどのようにやるべきか悩んでおります。 宜しくお願い致します。

  • Accessの選択クエリーについて教えて下さい。

    Access2002です。 フイールド名DATEには01/01~12/31まで日付型(mm/dd)で入っています。 このデーターベースからクエリーで今日(MonthとDay)をクエリー実行で取り出すにはフイールドDATEの抽出条件はどのように書けばよいのでしょうか。よろしくお願いします。

  • Access2013で翌日のデータのみのクエリ

    お世話になります。 Access2013を使用しており、2つの日付フィールドを比較して 翌日のレコードのみ抜き出したい場合のクエリについて質問で ございます。 日付Aフィールド と 日付Bフィールドが あり、それぞれ日付と時刻が書式yyyy/mm/dd hhmmss で格納されております。 このうち、クエリで抽出したいのは、 日付Bフィールドに格納されている、 日付Aフィールドの翌日のレコードのみを 抽出したいです。 その際、時刻(hhmmss)は無視して翌日のレコードを 抽出したいです。 例えば、 日付Aフィールドに 2016/08/24 15:00:00 2016/08/24 16:00:00 2016/08/24 17:00:00 というデータが格納されていて、 日付Bフィールドに 2016/08/25 00:00:00 2016/08/25 17:00:00 2016/08/26 00:00:00 というデータが格納されていた場合、 日付Bフィールドの 2016/08/25 00:00:00 2016/08/25 17:00:00 のみ抽出したいです。 この場合のクエリの設定方法を教えてください。 どうぞ宜しくお願いいたします。