|
アクセス初心者です。
どうしてもわからないのでアドバイスお願いします
今、下記のようなテーブルが全部で10万件あります
品番 キー 数
A A 2
B A|B 2
C A|B|C 3
D D 1
E D|E 2
F D|E|F 2
A A 3
B A|B 3
W A|B|W 3
このテーブルを使用して、クエリで、数の集計をしたいと考えています
結果は、
品番 キー 数 総計
A A 2 2
B A|B 2 4
C A|B|C 3 12
D D 1 1
E D|E 2 2
F D|E|F 2 4
A A 3 3
B A|B 3 9
W A|B|W 3 27
こんな感じに総計欄に数字を入れていきたいのですが、うまくいきません
この総計の算出方法としては、
キーの組み合わせをヒントに順番に掛けて総計数を出しています
例えば、品番のCの総計を出そうとするならば、
Cと繋がってる品番、AとBの数を順番に掛けて、総計を出しています
(2)A*(2)B*(3)C=(12)Cの総計
ただ、問題なのが、同じ品番でも、数が違うものが多々あります
例えば、上記例でも、品番Aが出ていますが、下記の組み合わせの場合は数が違いますので
(3)A*(3)B*(3)*W=(27)Wの総計
ですから、キーをヒントに繋がっている品番の数を掛けて総計を算出したいのですが、
これを、アクセス上で表示させるにはどうしたらいいのでしょうか?
今は、こんな感じで作ってみました
クエリー上のフィールド名に
総計:QTY([キー],[数])
標準モジュールに
Public Function QTY(A As String, B As Integer)
Dim Hairetu
Dim MyItem As String
Hairetu = Split(A, "|")
If A Like "*|*" Then
MyItem = test(UBound(test) - 1)
'↑ここの記述方法で悩んでます
’とりあえず、|で分割して、一つ上の親となるアイテムの数を
掛けて、総計を出そうかと考えておりますが、
それをどう記述すればよいのか?
どうかアドバイスお願いします
Else
QTY = B ’もし、キー内に|が含まれていなかったら、総計は数量の値
End If
End Function
|
|