タグ別アーカイブ: Access関数

複数のテーブルの値を集計する~DSUM関数

複数のテーブルのデータを一つにまとめる場合にもDSUM関数が便利です。

例えばこのように複数のテーブルから、工事NO毎に金額を集計しようとします。
2802061
集計クエリでテーブル毎に工事NO毎に金額を集計して、そのクエリを更に工事NO
毎に集計するという方法もなきにしも非ずですが、あまりいい方法ではありません。
続きを読む

前行と同じ日付は表示しない~DCOUNT関数の使い方

例えば前行と同じデータは表示しない方が見やすい場合が多々あります。
2801271
特に日付は同じ日付は表示しない方が明らかに見やすいです。
それ以外にも納品書番号など請求書を印刷したときは、番号が変わった
ときだけ表示する方がスマートです。

そんなとき使うのがDCOUNT関数です。
続きを読む

Accessで給与計算~乙欄の追加③

88000円未満の設定をします。
2801221
源泉乙欄を次のように変更します。
乙欄: IIf([給料]<88000,Int([給料]*0.03063),Int(DLookUp(“金額”,”源泉表乙欄”,”[以上]<=” & [給料] & “” & ” and ” & “[未満]>” & [給料] & “”)))/1
変更するのは太文字部分。要は88000円の場合とそうでない場合の条件分岐を行います。
88000円に満たないときだけ、給料に3.063%をかけます。
続きを読む

Accessで残高計算④~DSUM関数を使わない方法3

連番で日付順取引順で番号を付したら、あとは一つ前の番号の残高を取得する
だけです。

一つ前の残高を求める数式です。
前行残高: IIf([ID]=1,0,DLookUp(“残高”,”連番集計”,”連番=” & DMax(“連番”,”連番集計”,”連番<” & [連番] & “”)))

まず始めにIDが1→前行が存在しないときは前行の残高を0にします。
基本的には一行の目のレコードは繰越残高になるので、一行目の借方金額に繰越残高を
入れます。
続きを読む

Accessで残高計算①~DSUM関数の欠点

通常Accessで残高計算をする場合、一番手っ取り早い方法は、DSUM関数を使うこと
ですが、この方法には致命的な欠点があります。

それは、集計に時間がかかること。
サンプルファイルを開いて、クエリの「DSUMで計算」を開いてもらえば分かりますが、
クエリが開くまでに時間がかかります。(PCのスペックによりますが・・)
私の今使っているPCはそこそこ古いので、どうしもその間が気になります。

データ量は正直非常に少ないのに、この間があるということはデータがもっと
増えた場合、集計が複雑になった場合、もっと時間がかかります。
続きを読む