|
▼kai さん:
たぶんなさりたいことは
Nz(DSum("構成比","テーブルA","大分類 = '" & [大分類] & "' and 中分類 = '" & [中分類] & "' and 品目 = '" & [品目] & "' And 金額 > " & [金額]))+[構成比]
だと思いますがこれだと例の大分類が「◯」の場合のように商品以外が同じ(金額も同じ)
場合に両方とも「50%」になってしまいます。
それの対策も入れてみたものが
Nz(DSum("構成比","テーブルA","大分類 = '" & [大分類] & "' and 中分類 = '" & [中分類] & "' and 品目 = '" & [品目] & "' And 金額 > " & [金額]))+Nz(DSum("構成比","テーブルA","大分類 = '" & [大分類] & "' and 中分類 = '" & [中分類] & "' and 品目 = '" & [品目] & "' And 金額 = " & [金額] & " and 商品 < '" & [商品] & "'"))+[構成比]
になります。
一応「大分類 中分類 品目 商品」がキーでこれが同じレコードはないものとしています。
もう少し短くなる方法があるかもしれませんが私にはこれが精いっぱいでした。
|
|