読者です 読者をやめる 読者になる 読者になる

Excel 職人のつぶやき

エクセルをデータベース管理ツールとして活用するための、情報、技術などを発信していくサイトです。

Excelを入力画面にして、Accessに保存すると、こんなにもメリットがあった!

ExcelとAccessのコラボ!(連携システム)

Excelで本格的な業務システムを作るって言ったら、Accessだろって言われます。でも、Excelで作った方がいいときもありますよね。


それで、Excelを入力画面にしてAccessをデータベースと連携して司法書士事務所向けの見積請求管理システムをつくることにしました。この方法だと Accessがインストールされてなくても動作します。

f:id:muramoto1041:20140912092128j:plain


入力画面は、誰でも自分で作くれるようにExcelで作成し、入力したデータは管理しやすいようにAccessのデータベースに連携して保存しました。

なんでこんなことするようになったか?

司法書士事務所様から、Excelで作った請求・領収書ファイルをデータベースに変換して管理したいというご相談をいただきました。


Excelで案件ごとに 見積書 > 請求書 > 領収書 と作成し、たくさんのファイルがあるのでデータベース化して案件と請求残高の管理をしたいということでした。

ファイル数は、数千ファイルになっておりExcelで継続して運用管理するには、もう限界の状態です。


f:id:muramoto1041:20140912094054j:plain


かと言って、今まで使っていたExcelの入力画面をAccessで作っても、使い勝手が悪くなるし、印刷書式もExcelのように詳細な設定はできません。

それに、せっかく出来上がっている入力画面や、印刷レイアウトをもう一度作り変えるなんて労力のムダ!(こんなことやるから、開発金額が上がってしまうのです)


だから、ユーザーが使っているExcelのシートをそのまま入力画面にしてAccessとの連携システムを作成しました。(大幅な開発コストダウンを実現しました!)


Excelで作った多くのファイルをデータベースに変換するには、下記のページを参考にしてください。

データ追跡機能つきテンプレートウィザードで専用の台帳を作る~データ追跡機能つきテンプレートウィザード



変換したデータは、Accessへ保存

入力済みのExcelファイルをデータベースに変換します。今後の入力データはこのデータベースに登録していきます。

f:id:muramoto1041:20140912100412j:plain


入力画面の使いやすさは継承しました

リスト入力や入力時のメッセージ/エラーメッセージなどは、プログラマがイチイチ作らなくてもユーザーが自分で設定すればいい。Excelにはそんな機能があるんだから!

f:id:muramoto1041:20140912102217j:plain


エクセルでよく利用している「データの入力規則」はそのまま使えるようにしました。


f:id:muramoto1041:20140912102228j:plain


データ入力規則に利用する参照用データは、リスト表シートに登録するようにしました。項目ごとに登録してExcelの「データ入力規則」機能で設定します。


f:id:muramoto1041:20140912102726j:plain


一覧表シートと入力シートの連携

Accessデータベースから抽出したデータは、一覧表シートに表示します。

一覧表シートをクリックすると、クリックした行のデータを請求書シートの画面に表示します。

f:id:muramoto1041:20140912105246j:plain


これで、Excelの機能を活かしてデータベース管理ができる。

・一覧表が使いやすい

・書式が設定しやすい

・データ入力規則が設定しやすい

データ編集と登録はどうするの?

シートの上部に、メニューボタンを設置して[新規] [編集] [削除] [印刷]処理が、行えるようにしています。


f:id:muramoto1041:20140912111337j:plain


データの抽出は、検索画面で条件を指定して[検索実行]ボタンを押します。

f:id:muramoto1041:20140912111547j:plain

印刷シートの作成も自由

印刷用のレイアウトは、Excelで自由に作成してください。セルの結合や罫線の設定も好きなように設定することができます。

印刷シートを追加すると[印刷シート名]のコンボボックスに自動的に追加される仕組みになってます。

f:id:muramoto1041:20140912111952j:plain

Excelでデータ共有はできるの?

できるわよ!
f:id:muramoto1041:20140912162304j:plain
[モデル:Lala]


AccessのデータベースをADOのレコードセットとしてOpenしているのでネットワーク環境での利用も問題なし。クラウドとして遠隔地で共有したいのであれば、Microsoft の Office365 を契約すれば、離れた場所でもデータ共有することも可能!

※プログラムを公開しました。動作には Microsoft Excel 2007/2010/2013 が必要です。

f:id:muramoto1041:20151011125611p:plain

bt01_on