課題解決 事例紹介

Excelシートから、Databaseを直接更新

背景 利用者が初心者レベルであったこともあり、マスタごとに異なる画面を使用すると、利用者からの抵抗が激しくなる。
方針 Excelシート上でDBをそのまま展開するようなイメージのUIにしたところ、生産性の向上と使い勝手の向上(1つ覚えれば後は共通)を両立させることに成功。
効果 カーソルが矢印キーだけで任意の位置に動かせ、初心者には意外と重宝がられた。
マスタごとに専用の画面を作るのに比べて、工数的にも大幅短縮(予想の20分の1以下)。

Excelシートを使った、DBのメンテナンス機能(SQL Server/Azure ・・・

導入の経緯

開発中のシステム(クライアント/サーバ型)は、マスタが数多く存在していました。常識的なマスタメンテナンス機能を作成する場合、これだけでも数百万/数ヶ月の大仕事です。まして、新システムの場合、変更が多いため、何度も作り直し(DB定義だけでなく、データの入れ替えも)が発生します。
想定する利用者が初心者レベルであったこともあり、マスタごとに異なる画面を使用すると、利用者からの抵抗が激しくなることが容易に予想されました。
元々台帳管理をエクセルで行っていたこともあり、マスタメンテナンス画面もエクセルで作ったら使いやすいのではないかというアイデアが出され、利用者側もそれなら使えるだろう、ということで、台帳管理時の画面イメージを極力損なわずにエクセルのままマスタ管理ができる機能を実装することになりました。

 

システムの概要

マスタの数が多いのと、開発途上で変更が多いこと、細かい機能は後付けで検討する方針となったこと、から、「Excelらしさ」を前面に出して、シート上で一通りの操作ができるようにしました。

事例:ExcelシートでDBマスタメンテナンス機能

これによって、数十あったテーブルのメンテナンス画面は、わずか2日で基本的な機能が完了しました。もちろん、その後の改修にも柔軟に対応できています。
また、複数テーブル間で整合性をとる必要があるものは、1Book=複数シート構成とし、関連するもののみをDBから取得できるようにした上で、保存前に相関チェックをかけるようにしています。

 

新システム開発時、大きな負担となるDBのUI

よほど単純な情報システムならいざ知らず、一定の機能を持った情報システムであれば、バックグラウンドにデータベースを用意して大量のデータを多数で共有できるようにするのは、常識です。今回の例でも、そのようにしています。

この時、情報を格納する単位として、”テーブル”と呼ばれる、Excelで言えばシートのような器が使われます。ちょっとした業務支援ツールをExcelで作る場合も、複数のシートを使い分けるのと同様、本格的な情報システムでは、このテーブルが数百種類以上に及ぶケースも少なくありません。

そうなると、個別のテーブルのデータに登録/修正/削除を行う機能を作るだけでも、数百種類以上ということになり、時間もコストもかかってしまいます。まして、開発中の新システムの場合、設計変更は当たり前のようにあるため、何度もUIの修正が必要です。

開発時のみ使うのであれば、ManagementStudioと呼ばれるDBMS(データベース管理システム)を使うことが多いのですが、それにしても一定のSQLコマンドの知識の他、うっかりコミットしてしまわない運用などが必要であり、よほど注意していないと「登録内容を壊したことに気づかない」ことになりかねません。

 

Excelマスタメンテナンスのメリット

そこで、データベースの内容を一旦Excelシート上に呼び出し、Excelの機能として編集できるようにします。この方式のメリットは、なんと言ってもExcelならではの機能がそのまま使えることです。
・コピー & 貼り付け
・検索 & 置換

・・・の他、カーソルが矢印キーだけで任意の位置に動かせることも、意外と重宝がられる機能です。
もちろん、マスタごとに専用の画面を作るのに比べて、工数的にも大幅短縮することができました。

上の例では、SQL Serverを使いましたが、同じしくみでAzure SQL DatabaseAWS、PosgtreSQL等への対応も可能です。

 

当社のExcel+Database ソリューション

上記例の他、様々なExcel+DBの実装例があります。

開発者向け、エンドユーザ向けの各種システムをのべ1800件以上納入している当社では、細かい利用者のニーズを把握した上での実装が可能です。

一時的な利用であっても利用可能ですので、Excelを使ったDBメンテナンスソリューションにご関心がありましたら、随時ご連絡ください。