目次
ACCESSとExcelの連携 在庫管理 その9
こんにちは。伊川(@naonaoke)です。
今回は上の記事の続きになります。
リアル在庫の確認方法を紹介します。
参考となる記事です。
集計クエリを使う
意外と知られていませんが、集計クエリは、本当に便利です。
カンタンな、個数のカウント、売上の合計は、集計クエリが最強と思っています。
ACCESSのレベルアップを感じる瞬間は、この集計クエリを使えるかではないでしょうか?
リアル在庫 作成手順その1 データベース確認

かなり、適当なデータベースかと思います。
現在、このデータベースにある、携帯電話の在庫をカウントします。
リアル在庫 作成手順その2 集計クエリを使う
リレーションを設定

MT_商品在庫と、MT_申込を上の図のように設定します。
集計に、グループ化、カウント、演算を設定


こんなカンタンな数式で、リアルタイムで集計ができます。
リアル在庫 作成手順その3 集計結果

在庫から、カウントした商品IDを引いた数が、リアル在庫になります。
こんなにカンタンにできます。
リアル在庫 作成手順その4 作成した集計クエリをExcelに転送

上の図のコードも、ブログで何度も紹介した内容です。
コピペで利用できます。
Sub 在庫()
Range("A1") = "商品ID"
Range("B1") = "機種名"
Range("C1") = "ギガ数"
Range("D1") = "色"
Range("E1") = "在庫台数"
Range("F1") = "売却済"
Range("G1") = "リアル在庫"
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim conStr As String
conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
ActiveWorkbook.Path & "\在庫管理.accdb"
con.Open ConnectionString:=conStr
rs.Open Source:="Q_リアル在庫", ActiveConnection:=con, _
CursorType:=adOpenKeyset, LockType:=adLockOptimistic
Range("A2").CopyFromRecordset Data:=rs
rs.Close
con.Close
End Sub

リアル在庫 作成手順その5 この集計クエリのメリット
ACCESSへ転送する際に、すべてのデータベースを転送することもできます。
しかし、データを全部転送して、Excelのワークシート関数で集計すると、動きが重いです。(経験談)
集計をしたクエリを転送する方が、スマートです。
ここがポイント
ここがポイント

商品在庫か、カウントできるなら、社員の売り上げも管理できます。
集計に関しては、Excelよりも、ACCESSのほうがはるかに便利です。。
まとめ
社員の売り上げ管理、社員の業務日報だって管理できます。
ACCESSは本当に便利です。
今回のサンプルファイルは、No121です。
毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。











