テーブルのデータをExcelのように管理する

Pocket

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という技法を使いますと宣言をします。

========================================
今日は浦和に来ています。昨日本を通じて知り合った方とお会いしました。
これも何かの縁ですね。そういったご縁を大事にしていきたいと思います。

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