Accessのランタイムを使わない手は無い

記事
IT・テクノロジー
Accessで介護支援記録システムを作った理由-10

私の勤務先が養護老人ホームに移り、施設独自の介護支援記録管理システムの開発を始めてからプロトタイプを作り上げるのに約3か月を要しました。

VBAのことは知っていても、実際にVBAでプログラミングをした経験がなかったため、初心者同様、VBAに関する書籍やWebから得た情報を参考にしつつ、フォームのデザインにもこだわり作り上げていったという感じです。
とは言え、老人ホームにおける介護業務や介護記録が一体どのようなものかは良く知っていたので、介護記録のテーブルと利用者のマスタデータを始めとする各種テーブルをどのように組み合わせたら良いか考えるのには、それほど苦労しませんでした。
ここで大切なのは各テーブルの「正規化」です。これは、データベース上のデータの重複をなくし、整合性の取れたデータベースを設計して、データベースを効率的に扱うための手法です。またクエリと呼ばれるテーブル同士を有機的に結合させる手法も重要になります。

リレーショナルデータベースシステム(RDBMS)の骨格ができた上で、次に取りかかったのは、アプリのインターフェイスに関する様々な動作の設計です。
設計の中で、苦心しながらも面白く感じたのは、データ入力に必要な複数のフォームの組み合わせ方と、一つのフォームから別のフォームにVBAコードでデータを転記する手法でした。例えば、個別利用者の介護記録を受け入れる入力フォームの中に、利用者データが入った別のフォームから利用者ID(識別コード)を送り込むようなケースです。
関連づけられたデータに関する複数のフォームを並べて表示させることは勿論ですが、一つの親フォームの中にサブフォームと呼ばれるフォームを複数入れ、それらを表示させたり隠したりと、Accessではフォームに関してすこぶる自由に設計できることが特徴となっており、それが開発者のデザイン心を刺激するように思います。

ただ、このシステムに課題が残っているとすれば、それはRDBMSの宿命に関する問題でした。RDBMSでは、紐づけされたキーをたどり関連するテーブルを参照することで、常に最新のデータを取得できることがメリットなのですが、これが逆に仇になるときがあります。
例えば利用者のデータに関して言うと、時の流れの中で利用者の介護度は必然的に変化していくため、最新の介護度に書き換えられていきます。すると、過去の介護記録を参照したときに、そのときの介護度は結局わからないということになります。この問題は、介護度の変遷を履歴として利用者データの中に持つことで回避できますが、システムが重くなってしまうため、そこまで必要かどうかで悩みました。
他にも、職員の異動や退職などに伴い、職員のマスタデータが肥大化していくため、過去の記録の中にその名を残しつつも、今はいなくなってしまった職員を入力時の参照リストには表示されないようにする工夫など、苦心するようなこともありました。

さて、兎にも角にもシステムが完成し、LAN上でいよいよ運用を行う段階で、Accessが他のデータベースソフトを大きく凌駕しているメリットは、マイクロソフト社のホームページから無料のランタイムをいくらでもダウンロードして使えることだと思います。
ランタイム(Runtime)とは、開発はできなくも、アプリの実行操作はできるソフトのことを言います。
Accessでシステム開発を行うメリットとして、元々他と比べ、ソフトの価格が安いことが挙げられるのですが、さらにクライアントPC用として無料ランタイムが使えるため、開発用のAccess本体ソフト代、約2万円以外のお金がかかりません。
以上のことは、事務費に余りお金を使えない事業所にとってこの上ないメリットとなります。
もっとも、職場の人間が開発を進めるとしたら、その分の人件費がかかっていることを忘れてはなりませんが…。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す