Access2000のクエリーで以下のようなフィールドを作成しています。

・家賃
・駐車料
・消費税
・支払額
・共益費
・総支払額

家賃、駐車料、共益費は入力しますが、
消費税は「駐車料*0.05」
支払額は「駐車場+消費税」
総支払額は「家賃+支払額+共益費」
というのが大体の内容です。

消費税の式は
「(IIf(IsNull([駐車料]),"",(CInt([駐車料]*0.05))))」
支払額の式は
「IIf(IsNull([駐車料]),"",([駐車料]+[消費税]))」
です。

最後に総支払額に合計を入れようとしているのですがうまくいきません。
「IIf((Nz([家賃])+Nz([駐車料])+Nz([共益費]))=0,"",Nz([家賃])+Nz([駐車料])+Nz([消費税])+Nz([共益費]))」

「IIf((Nz([家賃])+Nz([駐車料])+Nz([共益費]))=0,"",Nz([家賃])+Nz([支払額])+Nz([共益費]))」
という式だと、家賃のみが入っている場合・共益費だけが入っている場合にエラーになります。
すべて入っている場合、駐車場だけが入っている場合、家賃と駐車場代、駐車場代と共益費など、駐車場に金額が入っている場合はきちんと合計が出ます。

一体なぜでしょうか?

またNz関数の中にもうひとつの関数を入れたいのですができません。
具体例をあげると
Nz(CInt([消費税]*0.05))
です。
こういうことはできないのでしょうか?

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

消費税・支払額の式に""というのが入っているのが問題なのではないでしょうか。


nullならばNz関数で処理できるとしても、""はnullではありませんから、
足し算しようとしても、できないですよね。
    • good
    • 0
この回答へのお礼

本当にそうですよね!
言われてきづきました(笑)。
自分でやってると気づかないものですね・・・。
おかげで問題解決しました。
ありがとうございました。

お礼日時:2001/12/11 08:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aと関連する良く見られている質問

Q[Oracle][IBM DB2][SQL Server]の違いと適性

現在、Accessで業務アプリケーションを作成しているのですが、そろそろパフォーマンス的にも限界で、というかC/S環境でAccessを使っていること自体危険ですね…

ここでデータベースをグレードアップしようと思っています。
しかし、データベースと言ってもたくさんあり、どれがいいのか
迷っています。

現在、商用RDBMSでは[Oracle][IBM DB2][SQL Server]がメインとの
ことですが、これらの違いが分かりせん。

うちの規模は社員数が40人程度です
Oracleは大規模システム向けと聞いた事があるのですが、
それであれば、IBM DB2かSQL Serverなのでしょうか

御教授宜しくお願いします。

Aベストアンサー

SEじゃないですけど、現状でどの辺りがボトルネックになっているかまず分析する必要がありますよ、案外ハード(サーバー本体)の方がいっぱいいっぱいてこともありますから、仮にHDDのディスクアクセスの場合シリコンディスクに置き換える、メインメモリの増設などがあります。逆にソフト側(MSアクセス)で同時接続多・同時更新多・データ肥大化の場合はやはりDBエンジンを変更するしかないでしょう。自社で開発するなら(情報量の多い)SQLServer。外注の場合は先方によって得手不得手がありますので一概には言えませんがオラクルでしょうこれしかないです(規模は関係なし)。DB2は使ったことがありません。他にもたくさんデータベースエンジンがありますので・・・

参考URL:http://ja.wikipedia.org/wiki/関係データベース管理システム

Q「[Microsoft][ODBC SQL Server Driver]COUNT フィールドが正しくありません。」えらーについて

おせわになります、

JavaからMSDEに対してSELECT UPDATE等の処理を行っているのですが。以下のSQLエラーが出てしまいます。
どのような意味なのでしょうか?
雰囲気としてはUPDATE文でおこっているような感じなのですが…

----エラーメッセージ------
[Microsoft][ODBC SQL Server Driver]COUNT フィールドが正しくありません。

よろしくお願いします。

Aベストアンサー

こんな情報がありましたという報告です。

「COUNT フィールドが正しくありません。」
で、検索をしたら同じような事例がありました。

2件ほどヒットしたのですが、どちらもテーブルのフィールド名を英数字にすることで解決しているようでした。

何故かというのは私にもわかりません。
お役に立つと良いのですが・・・

ちなみにヒットしたのは、「Goo」と「Google」です。
一度調べてみてください。(個人の情報っぽいのでURLは載せません。)

Q[ACCESS][レポート]2列に印刷がしたい

ACCESSのレポートで、ひとつのテーブルの内容を、2列に印刷することは可能でしょうか?
たとえばA4ヨコの用紙で、印刷する項目が3つしかなかった場合、右に余白ができてしまうので、印刷する項目が用紙の下までいったら、次に右上からもう一列印刷をする、というようなことを実現したいのです。

Aベストアンサー

先日同じ質問に回答しました。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=250509

Q[ASP+SQLserver]空白フィールドのWHEREは?

こんにちわ。
ASPとSQLサーバで簡単なWebを作っています。

まず、以下のようなデータがあるとします。
(列名) 列A,列B,列C
(データ)aaaa,NULL,NULL
     bbbb,1111,NULL
※NULLは文字列ではなくNULLです。

そこでNULLであるレコードを取得したいので次のようなクエリで実行してみました。

SELECT * FROM sample WHERE(列B='') ORDER BY 列A

しかし、あえなく敗北・・・。
また、NULLでないレコードを取得するために、

SELECT * FROM sample WHERE(列B<>'') AND(列C<>'') ORDER BY 列A

しかし、こちらもあえなく敗北・・・。

こういうケースはどのようなクエリでやればいいのでしょうか?

お手数をお掛けいたしますが宜しくお願いいたします。

Aベストアンサー

SELECT * FROM sample WHERE(列B Is Null) ORDER BY 列A

SELECT * FROM sample WHERE(列B Is Not Null) AND(列C Is Not Null) ORDER BY 列A

Q[ASP+SQLserver]NULLではない空白の列をWHERE?

こんにちわ。

まず、お手数ですが↓をご覧ください。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=809910
これは前回私がここで書き込んだ内容です。
ここに記載されている内容でNULLの事は解決できました、、、しかし。

・・・省略
rsSample("namae") = ""
rsSample.Update

と = "" ← こうした場合このフィールドはすでにNULLではないと思われます。

この場合、クエリとしては NULL と表現できないと思いますが、どのようにしてやれば 該当するフィールドがNULLではなく空白であるレコードをWHEREできますか?

また、NULL又は空白であるレコードをWHEREしたい場合は・・・単純にANDで結んでやればいいのでしょうか?

お手数をおかけ致しますが宜しくお願い申し上げます。

Aベストアンサー

SELECT *
FROM sometable
WHERE attribute = "" OR attribute = NULL;

などでどうでしょうか。
NULLまたは空白はORですね。
NULLかつ空白はANDです。


人気Q&Aランキング

おすすめ情報