AccessのテーブルのデータをExcelのように表計算として使う方法を解説します。
Accessの場合、集計をかけるときは集計クエリを使い、テーブルとは分けて考えるのが
一般的です。
集計クエリの致命的な弱点は縦の計算ができないことです。横の計算は得意ですが。。
縦計がでないとできないことが出てくるので、その点も含めて解説します。
とりあえず今回は横計の出し方です。
下の図のように簡単なテーブルを作ります。
これを元に簡単なフォームを作ります。
テキスト9は合計が表示されるようにコントロールソースに算式を入れます。
=Nz([A商品売上])+Nz([B商品売上])
これでフォームを表示させると、下の図のようになります。
テキストボックスには合計が表示されていますが、テーブルのデータには合計のデータがまだ入っていません。
合計のフィールドには、何かしらの仕掛けをしないとデータが入りません。
今回はコマンド11をクリックしたときに値が入るようにしたいと思います。
テーブルのフィールドに値を入れるときは、ADOというテーブルのデータを直接操作する
プログラミングを使います。
コマンドボタンのイベントタブのクリック時に次のVBAコードを入力します。
Private Sub コマンド11_Click()
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cnn = CurrentProject.Connection
Set rs = New ADODB.Recordset
rs.Open “テーブル”, cnn, adOpenKeyset, adLockOptimistic
rs!売上合計 = Nz(A商品売上) + Nz(B商品売上)
rs.Update
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing
End Sub
これでフォームのコマンドボタンをクリックすると、合計は入ります。
実行したときにエラーが出たときは、VBEの画面でツールの参照設定をクリックし、
下記のライブラリファイルにチェックを入れてOKを押してください。
これでエラーは回避されます。
要はこのデータベースではADOという技法を使いますと宣言をします。
========================================
今日は浦和に来ています。昨日本を通じて知り合った方とお会いしました。
これも何かの縁ですね。そういったご縁を大事にしていきたいと思います。
本日も最後までお読みいただきありがとうございます。