inosisibeyan's diary

inosisibeyanの日常をカキコ

実装

昨日思いついたやり方を実装した。プログラムは作ろうと思えばどんなものでも実装出来るだろうが、その時時で最も効果的で簡単な作り方となれば幾通りかしかないだろう。そんな最適解が見つかったような感じで実装出来た。
そう言っても、昨日今日で作ったものだから凄いプログラムではないが、今後20年位は使えそうな出来である。
どんなものかというと、会社毎にある締め日と報告の期日の間を間を埋めるデータのチェック表なのだが、日付の下限上限を取って集計、期間内の受け払いの結果と実差を見るものだ。
データの集計と作表までアクセスでやり、その作表データを外部データの参照でエクセルに渡して残りの在庫と差分を計算するというものだ。開発環境ではうまくいった。
依頼者に渡すために、ファイルを開かせるとデータの更新をしないならば普通に使える。ここからがテスト未実施だったところ。ネットワーク越しでデータ参照だ。
するとOffice2003になってからの変更点だと思うが、このネットワーク越しでデータ参照した場合、そのファイルが該当パスになかった場合、参照している先のPCの名前が自動的に適用されるようになる。ユーザのやる作業は、それを許可するだけというものだ。
一昔前までは、データの参照元のodbcファイルを作ってそのファイルを使って初めて使用可能になるという敷居の高いやり方だったのに。1秒も掛からないで参照先の関連付けが完了してしまった。便利!
今回は、表立ってodbcが活躍していないようだが自動化されてしまったから裏では頑張っているように思う。
もう少し深くハックすると、さらに凄い技が使えるようにも思うが見つかったらネタにしたい。

今回の依頼のデータ
日付の範囲、受けの量、払出の量、期首と帳簿在庫、実在庫、差というもの。
この内、払出の量までの計算をアクセスでやって、その後の計算とまとまった作表をエクセルでやったということ。所要時間15+25+30=70分といった所か。全て仕事の合間の休憩時間か帰宅前に残業にせずに作ってこれだ。
これで毎回、手動計算で入力26項目を入れなくとも自動集計、作表することが出来る。計算時間は、立ち上げまでの時間を入れても数分。時間を回収できるのは全部で1000件のデータの集計作業を考えると、毎回30分で13回なら、390分/年と結構掛かっていたのだ。見た目は簡単な表でも正確に作るのは案外、時間が掛かるものだ。