カテゴリー別アーカイブ: クエリ

複数のテーブルの値を集計する~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で給与計算~乙欄の追加④

クエリの所得税が「源泉」から「所得税」に変わったので、それに付随する
項目も修正していきます。

ここで一番の問題になるのが、ある一つの項目を直すとあとはどこがどう変わるのか
追っていく必要があるということです。所得税が乙欄に対応できたことに満足してしまい、
その先の直さないといけないところが手つかずでは本末転倒です。

基本的にクエリのフィールド名が変われば、それを使っているフォームもレポートも
芋づる式に変わります。

そんな具体例です。

最初に給与計算するフォームを直します。
2801261

テキストボックスの名前までは変えなくても問題ありませんが、コントロールソースと
名前が違うと面倒なので、統一します。
2801262

次に「確定」を押したときのVBAコードを直します。
2801283

レポートについては今回は修正する必要がありません。
理由は、上の図で源泉所得税に入れる値を「所得税」に直したので、レポートに
ついては何もしなくても乙欄に対応しているからです。

クエリを変更したならばフォームの計算に間違いがないか、
レポートにも間違いがないか一つずつ確認します。

=================================
土曜日が学校公開日で月曜日が学校が振替休日になったので
一昨日昨日と泊まりで伊豆の温泉に行ってきました。
上の娘が今年で小学校を卒業するので、こういう機会はもうない
のだろうなあと思うと少し寂しいです。

本日も最後までお読み頂きありがとうございます。

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

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

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

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

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

一つ前のデータの残高が分かれば、その残高に借方金額を足して、貸方金額を
引けば残高が出てきます。理論的には非常に簡単ですが、実はこれをAccessで
実行しようとするものならば、ひと工夫ふた工夫が必要です。

2801081
Excelなら簡単に出来そうな図ですが・・
続きを読む