前回の記事
前回の記事は、八百屋さんの管理システムを表計算で作ること考えました。
まずは表計算で考えてみる
前回やったように、表計算(スプレッドシート)で最小単位の管理票を考えることで、どのようなデータを使うと良いかがよく見えてきます。
・見えてくるデータ構造
商品のデータ:商品名、廃棄日数
1日辺りの記録データ:仕入数、仕入値、販売数、販売値
・計算でわかること
仕入数、販売数、廃棄数、在庫数、粗利
・表計算のデメリット
しかし、表計算で八百屋システムを作ろうとすると、
10品目の取り扱いをするだけで1品目あたり、日毎に仕入数、仕入値、販売数、販売値の5データ×平均営業日(22日)= 110個
10品目なので1100個のデータが必要になるため数ヶ月使うだけで処理が重くなってくる事が予測されます。
プログラム化するための検討事項
ここまでで、システムで管理するためのデータ構造と計算方法が見えてきましたのでプログラム化することを考えてみます。
対象言語は、VBAとPythonで考えてみます。
・VBAで実現しようとする場合
1.考えられる選択肢は、シート内にデータ構造で示したデータを蓄える
この場合、Excelの欠点として同じブックを同時に開けない(データをシートに貯めると不具合が起きるため)
2.データベースにデータを記録してデータを蓄える
この場合、同時に開くと警告は出るもののデータの記録先がデータベースであるため
使える、データベースとしてはAccessデータベース・ODBC接続で使うデータベース(SQLServerやPostgreSQL等)
画面要素は、スプレットシートなのでシート上に作る方法とユーザーフォームと呼ばれるダイアログ画面を使う
・Pythonで実現しようとする場合
1.データはSQLiteやSQLServer、PostgreSQLの直操作できるドライバライブラリがあるのでデータベースを使用する
2.画面要素は、tkinterやpysimpleGUIなどのGUIライブラリを使ったり
DjangoやFlaskでWebサーバー化することが可能で、Fletのようにマルチプラットフォームにも対応できる。
この記事に関するお問い合わせは、こちらまで m_kawase@embed-ai.com まで!