Access Nz関数の問題:値引きのテキストボックスが常に0の状態になってしまう

このQ&Aのポイント
  • Accessのフォーム上で値引きのテキストボックスが常に0の状態になってしまう問題が発生しています。
  • フォームフッターには小計、値引き後小計などの項目がありますが、値引きがない場合に値引きの項目が空になり、その後の金額が表示されません。
  • Nz関数を使って値引きのテキストボックスを常に0の状態にし、値引き後の項目も表示させたいのですが、うまくいきません。
回答を見る
  • ベストアンサー

access Nz関数が出来ません。

すいません、教えてください。 仕様環境 WinXP access2002 おそらくNz関数の問題だと思いますが・・ フォーム上の詳細に 「数量」「単位」「単価」「金額」とあります。 そしてフォームフッターに    「小計」・・(以下すべて通貨型のテキストボックス)    「値引き」    「値引後小計」    「消費税」    「合計」 とあります。 「小計」は=sum([数量]*[単価])でsum関数で出しています。 ただ値引きがない場合は「値引き」の項目は空(きっとNULL値?)になっていて、「値引後小計」以降の金額が表示されません。 (「値引き」に直に"0"を打ち込むと表示されるんですが) 「値引き」のテキストボックスが、常に”0”の状態にして「値引き」後の項目も出るようにしたいのですが、どうしたらよいのでしょうか? 必要な時に入力する感じにしたいのです。 Nz関数を使えば良いみたいなので、いろいろ調べて試したのですが、 どうも出来ません。 よろしくお願いします!

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

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

テーブル側で、「値引き」の既定値に0を設定すれば、終わりだと思うけど? もしくは、表示書式で・・・ 正の表示書式;負の表示形式;0の表示形式;NULL値の表示形式 となるので、表示形式で対処するか? で、Nz関数を使用する 値引後小計 : =Nz([小計],0)+Nz([値引き],0) 消費税 : [値引後小計]*0.05 合計 : [値引後小計]*1.05 と、言う感じ?

23tomo-u
質問者

お礼

Dxak 様 回答ありがとうございます! できました! テーブルには値引きフィールドを作ってないので、 フォームの「値引き」テキストボックスの規定値を"0"にして、 値引後小計 =Nz([小計],0)-Nz([値引き],0)で できました! 独学は大変です。 ありがとうございました!

関連するQ&A

  • Access 小計について

    いつもお世話になっております。 小計方法について教えてください。 請求フォームなるものを作成し サブフォームにて商品を入力する イメージで捉えていただきたく。 フォームの詳細にて 商品IDと単価、数量を表示させ フォームフッターにて小計計算をしたいのです。 単価は商品IDに紐づいているので、 コントロールソース欄で 商品ID.column(2)にて 表示させています。(商品マスタは存在する) そのためか、フォームフッターに 小計のテキストボックスを配置し コントロールソース欄にて =Sum([単価]*[数量])と入力しても 「#エラー」と表示されます。 =Sum([商品ID.column(2)]*[数量]) でもだめでした。 ご教授ください。

  • access 帳票形式での Sum関数について

    お世話になります、 access2003を使っています、 テーブル商品があり、以下3つの列があります 商品名 単価 数量 フォーム集計をテーブル商品を元に帳票形式で作りました 帳票の1行にテキストボックス”金額”を追加してそのコントロールソースの値を [単価]*[数量]にしました。 帳票の1行づつは 商品名 、単価、 数量、金額([単価]*[数量]) の4つの列が並びます。 上記までは一行づつ計算して金額の値は正確に表示されます。 このフォームのフッターに帳票の各業の金額の合計を求めるため テキストボックス”合計金額”をつくり コントロールソースを =Sum([金額]) にしたのですが、明らかに合計金額が違った数値が出てきます。 出てきた金額が何をどう計算して出てきたのか見当が付きません どのようにしたら正確な合計金額が得られるのでしょうか? 何方かお教えいただけますようお願い致します、

  • access 関数で出した合計に文字を挿入

    初心者です、よろしくお願いします。 仕様環境 WinXP Access2002 レポートで請求書を作っているのですが、 [商品][数量][単位][単価][金額]とあり、 商品が複数あった場合の小計は =sum([数量]*[単価])となりますが、 更に消費税をつけると =sum([数量]*[単価])*0.05を足して 合計金額は=sum([数量]*[単価])+sum([数量]*[単価])*0.05 で出て来ます。 ちなみに書式は「通貨型」です。 そこで、合計金額を\10,500だとして それを”税込み合計金額 \10,500-”と表記できるようにしたいと思っています。 つまり関数で出した合計の前に”税込み合計金額”を そして最後に"-"をつけたいのです。 ラベルを貼ってしまえば出来ますが、 金額が千円台から百万円台まで対応させたいため 体裁をよくする上でラベルを貼るのは避けたいです。 請求書の定型の都合上で申し訳ないのですが、 こういうことは出来るのでしょうか? お知恵をおかしください。

  • エクセル関数で・・・

    助けてください。 数量×単価=金額 の表を作成してるのですが、金額欄の合計(小計)を、下の欄で設けているのですが、関数で表示させるとき、なにも数字が入って無い場合に 0 が表示されないようにしたいのですが・・。 sum でやると、なにも数字が入って無い場合 0 が表示されてしまいます。教えてください (*- -)(*_ _) ちなみに 数量×単価=金額 の場合は、金額欄に 0 が表示されないように出来ました。 

  • Accessのグループ化合計

    VB→ストアド→Accessでデータ表示 Accessのレポートで質問です テーブルはリンク ------------------------------------------------------ Accessのレポートには単価と数量という項目があります それをグループ化します グループ化で得意先という項目の合計をもとめます 単価:テキスト型 数量:テキスト型 区分番号:数値 区分番号が1のとき単価を-(マイナス)で表示する 得意先合計と総合計の計算のときマイナスも含まれて計算されるので エラーになる 抽出条件が一致しませんと出る エラーが出ずに計算するにはどうしたらいいですか またグループかで計算するときにマイナスの項目ははずして合計を出したい これってVBA使わないと出来ないんですか? 使うならどうしたら出来ますか? [レポートフッター] ------------------------------------------- [ページフッター] ------------------------------------------- [得意先番号ヘッダー] ------------------------------------------- [詳細] 単価 数量  区分番号 ------------------------------------------- [得意先番号フッター] ------------------------------------------- 得意先合計 (=sum(単価 * 数量)) [ページフッター] ------------------------------------------ [レポートフッター] 総合計 (=sum(単価 * 数量)) -------------------------------------------

  • NULLを 0 として計算する方法は?

    NULL は 0 として扱って欲しい時はどうすればよいのでしょうか? select (単価 * 数量 - 値引) as 小計 from 注文 値引がNULLだと小計が全てNULLになってしまいます。 Access関数のNz(値引)のようなのあるでしょうか?

    • ベストアンサー
    • MySQL
  • アクセス2003のsum([金額])でエラー!!

    クエリからフォームを作成しフッタの場所に集計として、Sum([金額])を置いたのですが、なぜかエラーが表示 され集計できません。金額以外の数字項目を集計しても(Sum([単価]))でもエラーでした。作り直して見ましたが何度やっても同じでした、なぜか分かりません

  • Accessでサブフォームの合計をメインフォームに

    Access2007で開発しています。 メインフォームにサブフォームを貼り付けており、 サブフォームに入力した「数量」「単価」から「金額」を計算して表示し、 その合計金額をメインフォームのテキストボックス(非連結)に表示しようと しています。 サブフォームは行単位で追加、削除が可能です。 サブフォームの更新結果が正しくメインフォームに表示されずに困っています。 おわかりの方、おられましたらお教え頂きたく、よろしくお願い致します。 【サブフォーム】   ・レコードソース:T_明細   ・[詳細]項目:数量・・・レコードソース=T_明細・数量        単価・・・    〃    =T_明細・単価        金額・・・数量および単価のAfterUpdateで計算して表示。    [フォームフッター]項目:金額計・・・コントロールソース=Sum([金額])   ・Vbaコード:   Private Sub Form_AfterUpdate()   Forms![メインフォーム].合計計算   End Sub   Private Sub Form_Delete(Cancel As Integer)   Forms![メインフォーム].合計計算   End Sub 【メインフォーム】  ・テキストボックス:「合計金額」(非連結) Public Sub 合計計算()    Me.サブフォーム.Requery   方法1: Me!合計金額 =DSum("金額", "T_明細", (キー項目指定 記述省略))   方法2: Me!合計金額 = Me![サブフォーム].[Form].[金額計] End Sub ここで、 方法1の場合:数量、単価の変更入力及び行追加は正しく動作するが、          行削除の後、メインフォームの「合計金額」が再計算されず、変更前のまま。 方法2の場合:数量、単価の変更入力及び行追加すると、「合計金額」が”0”になる。          行削除しても「合計金額」は変わらず、変更前のまま。 どちらも、サブフォオームの「金額計」は正しく表示されています。 以上、よろしくお願い致します。

  • Access2007のnz関数について

    nz関数が使用できる環境について、誰か詳しい方がいたら教えて下さい。 環境 Windows7、Access2007で 試験用と本番用の2台を使用 フォームで、合計欄を作成し、nz関数を使用しています。 試験用では、合計値が問題なく表示されますが、 本番用では、表示されません。 試しに、本番用PCのnz関数をはずすと合計値は表示されます。 試験用と本番用の違いは、ハードウェアの性能だけで、 ソフトウェアを同じものをインストールしています。 (本番用の方が、性能が上です) Accessのインストールが失敗しているのでしょうか? それとも他になにか足りないものがありのでしょうか? 詳しい方がいたらアドバイスをお願いします。

  • Access テキストボックスの通貨型

    お世話になります。 フォームA   リストボックスがあり、その中の項目として[金額]があります。   そこに表示しているソースのテーブルの[金額]フィールドは通貨型です。 フォームB   [金額]テキストボックスがあり、書式は通貨にしてます。 フォームAのリストボックス上でダブルクリックするとフォームBが開き、フォームAで選択した金額がフォームBの[金額]テキストボックスにコピーするようにしてます。 Forms[フォームB]![金額] = Forms![フォームA]![リスト].Column(3) 金額のコピー自体は問題なくできておりますが、通貨型になりません(\やカンマが付かない)。 但し、テキストボックスに直接数字を入力すると通貨型で表示されます。 フォームAをダブルクリックするときに、 Forms[フォームB]![金額] = Format(Forms![フォームA]![リスト].Column(3),"\\#,###")とすれば、表示上はOKなのですが、このようにしないと通貨型でコピーは出来ないのでしょうか。 ご教授の程、宜しくお願い致します。

専門家に質問してみよう