
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のまま扱う例が見つけられませんでした。
勘違いしているところがあるかもしれませんが、アドバイスよろしくお願いいたします。
No.6
- 回答日時:
>値がnullの場合もありますが、この場合は「0」として扱うのではなく、そのまま計算結果もnullにしたい
演算子を使用して式の中の1つのフィールドの値がNullである場合は式全体の結果がNull値になりますのでNullしか返りません。
フィールド3:ROUND(ROUND([フィールド1],1)*ROUND([フィールド2],1),1)
で普通に演算できます。NullのフィールドがあるレコードはNullのまま返ります。
>フィールド3: ROUNDMS2(ROUNDMS・・・この場合「フィールド1」や「フィールド2」がnullの場合は#ERRORが表示
Accessの関数やスカラー関数にもROUNDMS2やROUNDMSという関数はありません。ROUNDMS2などをユーザー定義関数として作成して使用しているのであればPublic Functionに記述した定義に誤りがありエラー表示しているのではないでしょうか。Nullがあった場合の処理の記述がないとか。
アドバイスありがとうございます。
関数がおかしかったのでしょうか。
前任者から引き継いだものを修正しているので実はよくわからず、「ROUND」などと同じ種類の関数だと思っていました。
ありがとうございました。
No.5
- 回答日時:
Nullと空文字は見た目では判断できませんが
プログラム上では扱いが違います。
下記でどうでしょう。
ちなみに四捨五入は計算結果に行うだけでいいのでは。
---
フィールド3: IIf(Nz([フィールド1],"")="" or Nz([フィールド2],"")="","",round([フィールド1]*[フィールド2],1))
再度のアドバイス、ありがとうございます。
プログラム上では扱いが違うんですか!!!知りませんでした!!
同じものだと思ってました!!
先ほど、=nullではなく、IsNullにしてみたところ、できました!!!
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
IIF関数の使い方
Visual Basic(VBA)
-
アクセスの初心者の質問です(空白の場合に他のフィールドを表示させたい。)
Access(アクセス)
-
-
4
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
5
「#エラー」の回避
Access(アクセス)
-
6
アクセス エラーを数値「0」に変換するには
Access(アクセス)
-
7
アクセスで『0の値以外』を表示する方法
Access(アクセス)
-
8
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
9
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
10
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
-
11
iif関数で3つ以上条件を抽出したい場合
IT・エンジニアリング
-
12
OR関数
その他(Microsoft Office)
-
13
ACCESS 重複データを1つだけ表示したい(初心者です)
Access(アクセス)
-
14
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
15
Accessの数値から時間に変換する時点で困っています。
その他(データベース)
-
16
クエリで出来た表にチェックボックスを追加する
その他(Microsoft Office)
-
17
Accessクエリ 複数フィールドを対象に空白の場合は全件表示したい
Access(アクセス)
-
18
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
19
accessで空白の時の抽出
その他(データベース)
-
20
Accessのテーブルのフィールドに式を入れる方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelからAccessデータを検索す...
-
アクセスで入力したデータの順...
-
MS-WORDで、あるフィールドに入...
-
「#エラー」の回避
-
FileMakerで外部保存PDFを開く方法
-
ファイルメーカーProでの画像の...
-
ファイルメーカ 集計の表示
-
FileMakerで画像をまとめて書き...
-
WORDフィールドコード一括編集
-
ファイルメーカー10でのフィー...
-
ファイルメーカーでの階層化プ...
-
ACCESSのクエリの関数について
-
差し込み文書のルールで if the...
-
ACCESSでデータ変更箇所が分か...
-
Accessフォームで平均値の出し...
-
ファイルメーカーで英字だけ取...
-
MS-ACCESSで中央値(ME...
-
Access2007でSQLの複数列副問い...
-
Accessのクエリーのゼロデータ...
-
アクセスのレポートのヘッダー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「#エラー」の回避
-
ExcelからAccessデータを検索す...
-
アクセスで入力したデータの順...
-
差し込み文書のルールで if the...
-
MS-WORDで、あるフィールドに入...
-
accessのフィールドに10桁の数...
-
Accessでボタンを押すと今日の...
-
ACCESSでデータ変更箇所が分か...
-
「フィールド更新」が表示されない
-
FileMakerで画像をまとめて書き...
-
Accessで値がnullの場合は計算...
-
FileMakerで、フィールドの値が...
-
追加クエリ実行時に入力した文...
-
access フィールドのサイズ(文...
-
WORD差し込み印刷:日付の処理 ...
-
アクセス Access 時間の引き算
-
フィールドの中のテキストを分...
-
MS-ACCESSで中央値(ME...
-
ファイルメーカーでの質問
-
アクセス 入力した文字を自動...
おすすめ情報