- ベストアンサー
Access レポートでNull値を含む足し算
- AccessレポートでNull値を含む足し算について教えてください。
- Win7とAccess2013を使用しています。メインレポートとサブレポートがあり、同行者の費用合計をメインレポートの代表者の費用合計に足し算する方法を教えてください。
- Nzなどを使用してもエラーメッセージが表示され、うまく計算できません。どのようにすれば良いでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
このくらいで。 =IIf(IsNumeric([サブレポート名].[Report].[費用合計]),[サブレポート名].[Report].[費用合計],0)+Nz([メインレポート費用],0)
その他の回答 (2)
- kazewind777
- ベストアンサー率70% (41/58)
ちょっとうろ覚えなので、以下の式ではどうでしょうか? = iif(iserror(VAL(Nz([サブレポート名].[Report]![コントロール名],0))),0,Nz([サブレポート名].[Report]![コントロール名],0)) + iif(iserror(VAL(Nz([メインレポート費用],0))),0,Nz([メインレポート費用],0))
- kazewind777
- ベストアンサー率70% (41/58)
以下の式で実装するか =Nz([サブレポート名].[Report]![コントロール名],0)+Nz([メインレポート費用],0) Null判定されるかわかりませんが。。。 もしくは、 プロシージャ化してIsNumeric関数にて判定すればいけると思います。 Function fnHiyouGoukei () fnHiyouGoukei = 0 ifIsNumeric([サブレポート名].[Report]![コントロール名]) = true then fnHiyouGoukei = [サブレポート名].[Report]![コントロール名]+[メインレポート費用] else fnHiyouGoukei = [メインレポート費用] end if End Function 該当コントロールからは、fnHiyouGoukei()を呼び出す形です。
補足
kazewind777様 ご回答、ありがとうございます。「実装」の分で試してみましたら、 費用のあるサブフオームの合計は、メインフォームの[費用]の合計で 出てきましたが、サブフォームに費用のない合計は #Size! の エラーとなりました。 何とか、別の式で出来ないものでしょうか? ブローシャーはちょっと苦手で、すみません。
お礼
kazewind777様 度々のご回答誠にありがとうございます。 今後共、よろしくお願いいたします。 益々のご活躍をお祈りいたします。