クエリでデータが無い場合の足し算について

このQ&Aのポイント
  • クエリのフィールドに、1月、2月、3月、・・・・とあり、それぞれの月で累計させた場合の式として、例 3月) 3月: [1月] +[2月]とした場合、7月のデータが無い場合(基のテーブルで7月分のデータの行が無い場合)、1月から6月までは上の式で累計されますが、7月から空白になります。これをIff関数で回避しようとした場合、式ビルダの式は、~もし7月のデータが存在しなければ0を、そうではなく存在するならば通常の計算式をとしたいのですが、
  • 7月: IIf([07]=Null,0,[01]+[02]+[03]+[04]+[05]+[06])この式では成功しません。
  • この、~データが存在しなければ、の部分をどのように表現したらよいのでしょうか?
回答を見る
  • ベストアンサー

クエリでデータが無い場合の足し算について

ご指導ください。 クエリのフィールドに、 1月、2月、3月、・・・・とあり、 それぞれの月で累計させた場合の式として、 例 3月) 3月: [1月] +[2月] とした場合、 例えば7月のデータが無い場合(基のテーブルで7月分のデータの行が無い場合)、 1月から6月までは上の式で累計されますが、7月から空白になります。 これをIff関数で回避しようとした場合、 式ビルダの式は、 ~もし7月のデータが存在しなければ0を、そうではなく存在するならば通常の計算式をとしたいのですが、 7月: IIf([07]=Null,0,[01]+[02]+[03]+[04]+[05]+[06]) この式では成功しません。 この、~データが存在しなければ、の部分をどのように表現したらよいのでしょうか?

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

  • ベストアンサー
  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

[07] IS NULL か [07]="" かな?

masterjr
質問者

お礼

[07] IS NULL → 成功 [07]="" → 7月全てが0となった IS null ですね。 大変大変ありがとうございます。

関連するQ&A

  • アクセスのクエリでの抽出条件

    アクセスのクエリでの抽出条件で フィールド1とフィールド2とフィールド3 にデータがなければ1とフラグを立てるようにしたいのですが うまくいきません。 IIf([フィールド1]=Null and [フィールド2]=Null and [フィールド3]=Null,1,0) としてみたのですがうまくいきません。 ご指導お願い致します。

  • アクセス チェックボックスとクエリ

    いつもお世話になっております。アクセス初心者です。 あるフォームのチェックボックスのオンオフとコンボボックス、 クエリの選択条件が思うように連携できなくて困っています。 やりたいことは、、、フォームのチェックボックスが、 ON(True)ならば、 フィールドにコンボボックスのキーワードを含むレコードおよびフィールドが空白のレコードを抽出し、 OFF(False)ならば、 フィールドにコンボボックスのキーワードを含むレコードのみでフィールドが空白のレコードは抽出しない、 としたいのですが…。 IIfやSwitchで式を書きましたが、チェックを入れても外しても、どちらも抽出件数が0件になります。 クエリの実行は、コマンドボタンで別のフォームを開いています。 (IIfでは、エラーが出ているのか、チェックを入れた時『~キャンセルされました』と出ます。  IIf(…,…,IIf(…,…,…)) という感じで書きました。) Switchの時のクエリの抽出条件の式は、次のような感じです。 Switch([Form]![チェックボックス]=True,([テーブル名].[フィールド名]) Like "*" & [Form]![コンボボックス] & "*" Or Is Null,[Form]![チェックボックス]=False,([テーブル名].[フィールド名]) Like "*" & [Form]![コンボボックス] & "*") ( Like の前の『([テーブル名].[フィールド名])』は、式をビルドすると、勝手に追加されてきます。) このようなことはできないのでしょうか? 別の方法が必要でしょうか? すみませんが、教えてください。宜しくお願い致します。

  • ACCESSクエリエラーの原因

    ACCESS2007を使用しています。 作成時はうまくいってたはずのクエリが最近きちんと動作しなくなり 原因を探してますが分からず皆様のお知恵をお借りしたいと思っています。 問題のクエリではクエリ実行時にある条件のフィールドに「#error」と出力されています。 (英語版のACCESSですので、もしかしたら日本語版だと少し違うかもしれません。) そのクエリフィールドの内容は、 IIf([weight]<>"",IIf([weight]<[SD3n],3,IIf([weight]<[SD2n],2,IIf([weight]<[SD2p],1,IIf([weight]<[SD3p],4,5)))),9) このクエリで参照しているのは1つのクエリで、その中に weight, SD3n, SD2n, SD2p, SD3p というフィールドがあります。 簡単に説明すると、各人の体重(weight)を元にその体重がどのレベル(太りすぎとか痩せ気味とか)にあるかを 1~5のグループに分けるというものです。 各人の年齢や性別によってSD3n, SD2n, SD2p, SD3pは違うものが入っています。 また、体重が入力されていないものは「9」を返します。 で、問題の「#error」が返されるのは、体重が入力されている全てで、体重が空白のレコードには きちんと「9」を返してくれます。 ちなみに、最初にIIF関数の条件部分を「is Null」に変えて、 IIf([weight] is Null,IIf([weight]<[SD3n],3,IIf([weight]<[SD2n],2,IIf([weight]<[SD2p],1,IIf([weight]<[SD3p],4,5)))),9) とした場合は、体重が入力されているレコードについて全て「5」が返されます。 本来はデータの内容的には全て「3」を返すはずです。 また、元のクエリのweight, SD3n, SD2n, SD2p, SD3pの参照元のテーブルでは 全てのフィールドについて数値型にしています。 最初、ダミーデータ等でテストをしていたときはうまくいっていたので、何かがおかしくなったのだと 思うのですが、よくわからず、もしも、アドバイス等ありましたら教えて下さい。

  • ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ

    ACCESSで空白のデーターをクエリで判定/識別する方法を教えてください。 EXCELでは空白を""で判定/識別表していますがACCESSではどうなるのでしょうか。 下の例はフィールドに試験番号があればその番号を、空白なら”欠席”と表示しようとしています。 IIf(([試験番号]="空白の場合何を入れる?"),[試験番号],"欠席")

  • アクセス クエリでの関数について

    テーブルのフィールド1にテキスト形式で クダモノリンゴ クダモノオレンジ などが入っています。 クエリで 区別:IIF([フィールド1]="クダモノリンゴ",1,2) という感じで式を入れたのですが 結果はすべて2が表示されます。 別テーブルを作って フィールド1にクダモノリンゴなどの項目(頭に必ずクダモノが付きます) フィールド2に1や2などの種類別の値を入れてクエリでリレーションで関連づけても空白が返されます。 どこがおかしいのかまったくわからず困っています。アドバイスお願いします。

  • ACCESSのクエリの抽出

    ACCESS2003を使っています。フォームのコンボボックスに入っているデータを見てクエリで抽出したいと思っています。 フォームのコンボボックスにデータが入っているときは、そのデータで抽出を行い、nullのときは抽出をやめてすべてのデータを表示させたいです。 抽出項目には、null値はありません。 クエリの抽出欄に下記の式を入れましたがうまくいきません。 IIf(IsNull([Forms]![フォーム名]![コンボボックス名])=true , Is Not Null , [Forms]![フォーム名]![コンボボックス名]) コンボボックスにデータが入っている場合は、抽出はうまくいくのですが、nullのときは、何も表示されません。 どこか式が違っているのでしょうか? よろしくお願いします。

  • ACCESS2013  空白セルにデータをコピーす

    お世話になっております。 添付画像にあるクエリを作成しました。 黄塗りのセル(「商品コード」フィールドの1と「10」フィールドの交差する場所)が空白になっています。 この空白部に「10」フィールドの一つ前のフィールドの値をコピーしたいのですが関数式を教えてください(ここでは、「9」フィールドの16,500をコピーしたい)。 1.添付の上段の画像の場合は、以下の関数でいいのでしょうか?   iff([10]=" ", [9].[10]) 2.添付画像下段にあるような[10]フィールドの前のフィールド名が固定できない  場合は([9]フィールドではなく、[7]や他の名称に変わる場合)の関数式を教えてください。 よろしくお願いします。

  • Accessで値がnullの場合は計算せずにnullをかえす方法

    Accessについて、教えてください。 クエリで抽出しているときに、フィールド1とフィールド2の数値を掛け算した値をフィールド3に表示したいと思っています。(小数点1位まで表示) フィールド1とフィールド2は値がnullの場合もありますが、この場合は「0」として扱うのではなく、そのまま計算結果もnullにしたいと思っています。 最初は単純に フィールド3: ROUNDMS2(ROUNDMS([フィールド1],1)*ROUNDMS([フィールド2],1),1) とクエリに表記したのですが、この場合「フィールド1」や「フィールド2」がnullの場合は#ERRORが表示されました。 次に、IFでフィールド1やフィールド2がnullの場合は計算せずにnullをかえしてもらおうと下記のような文をつくりました。 フィールド3: IIf([フィールド1]=Null,Null,IIf([フィールド2]=Null,Null,ROUNDMS2(ROUNDMS([フィールド1],1)*ROUNDMS([フィールド2],1),1))) これでもやっぱり#ERRORが表示されます。 いろいろと検索したのですが、nullを0として扱う例は多数見つけられましたがnullのまま扱う例が見つけられませんでした。 勘違いしているところがあるかもしれませんが、アドバイスよろしくお願いいたします。

  • 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の時に返す値が判りません。 どうかよろしくお願いします。

  • クエリの抽出条件で困っています

    Access2007にて、クエリの抽出条件に下記を指定していますが、データが1件も抽出されません。 ※エラーは表示されません IIf([forms]![F_Home]![アンケート種別]="1級",1 Or Is Null,2 Or Is Null) この抽出条件をしているフォールドには"1"、"2"、nullのデータしか存在しません。 「アンケート種別」が"1級"の場合は、"1"とnullのデータをかえし、 それ以外の「アンケート種別」の場合は、"2"とnullのデータをかえしたいと思っています。 どのように条件を指定すれば、データを抽出できるようになるでしょうか。 宜しくお願い致します。

専門家に質問してみよう