カテゴリー別アーカイブ: ADO

クエリで集計したデータを違うテーブルに掃き出す③コードの解説

前回おもむろにコードを羅列しましたが、その解説をします。

一つ重要な点は、ADOを使ってデータを操作する場合テーブルのデータを操作する
ことができるが、クエリのデータは操作できないということです。

つまり、今回の例ですと、商品CD商品名はクエリのすべてのデータにあります。
クエリの集計したデータを上から回すのではなくて、それであれば商品テーブルを
基準にルーティンを回します。
続きを読む

クエリで集計したデータを違うテーブルに掃き出す①

クエリで集計したデータを違うテーブルに掃き出す方法を解説します。

クエリで集計したデータをわざわざテーブルにする必要はないと思う方も多いと思いますが、
クエリの集計結果を一旦テーブルに落とし、そこでもう一度クエリの設定をするとより
より複雑な集計をAccessクエリで行えるようになります。

とりあえず簡単な仕組みを解説します。
続きを読む

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

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

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

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

そんな具体例です。

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

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

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

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

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

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

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

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

前回DSUM関数は集計に時間がかかると解説しました。

これはAccessで販売管理データベースを作った場合、日付の他に得意先毎
に集計をかけると如実に出ます。得意先元帳を開くたびに、毎回膨大な数の
データのDSUMの処理をするのですから・・

で、そうしないために、残高フィールドをテーブル入れて、そこにその行の残高
を入れていけば、一行目から毎回集計しなくても、テーブルにその行の残高が
入力されているので、集計する必要もなく残高が表示するようにします。
続きを読む

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

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

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

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

Accessで給与計算37~賞与計算結果の保存

賞与計算が終わったら、給与計算と同じように計算結果を別のテーブル
に保存し、賞与計算の計算結果が変わらないようにします。
(クエリのままでは、社会保険料率等の変更で計算結果が変わってしまうため)

最初に賞与計算クエリに賞与明細IDのIDをフィールドに追加します。
2703091
続きを読む

Accessで給与計算22~給与計算結果を保存するADOのコード②

前回給与計算クエリの計算結果を給与明細控えテーブルに移すコードを記しましたが、
このコードを少し解説します。

フォーム1のテキストボックスは、給与計算フォームを開いている状態でも、
その後ろで開いています。
2701054
続きを読む