道具としてのExcel活用

最古の「ノーコードツール」:Accessでできること

古典的ノーコード/ローコードツール:「Access」とは

30年前からあった、ノーコードツール

ノーコードツールといえば、「プログラミングなしでアプリ(意味のある機能)が作れる環境」ですが、いかにも最近の流行のように感じられます。
マイクロソフト社のノーコードツールとしては、PowerAutomateが有名ですが、実は30年以上も前に、同様のコンセプトの「ノーコード」ツールがありました。

 

最古のノーコードツール 「Access」

ノーコードツールの定義通りのアプリケーションが、実は1992年には市場に出ていたことをご存じでしょうか?
その名を、Microsoft Accessと言います。どこかで聞いたことがありますね?

いまどきのノーコード/ローコードツールでできることの大半が、すでに実現されていたのですが、パソコンで使えるRDB(Relational DataBase)としての側面が大きな注目を浴びたこともあり、ノーコードツールとしての実力が十分に評価されていないように思われます。

 

Accessは、データベースアプリケーションとして認識されていますが、SQL Serverのようなデータベース管理システム(DBMS)と決定的に異なる特長として、単独でアプリケーションを構築するためのUI(User Interface:いわゆる画面や帳票)が簡単に作れる点が挙げられます。詳しい特長は、こちらからどうぞ。

現在ノーコードツールの特徴である、マウス操作だけでアプリケーションが作れる機能はもちろん、後からプログラム言語(VBA)にも対応したことから、ローコードツールとしての性質も持ち合わせており、もっと高い評価を得ても良いのでは無いかと思いますし、今でも十分すぎる機能を持っています。

 

Accessと今どきのノーコードツールの比較

前述の通り、Accessにはノーコードツールとしての基本的な機能は網羅されており、しかも他のOfficeアプリケーションとの互換性も高いことなどから、高い生産性が実現できます。

Accessならではの課題

一方で、登場した時点ではインターネットが非公開だったこともあり、現在普及しはじめたノーコードツールと比べると、以下の様な違いが見られます。

  1. Accessは、クラウド上に配置できないため、配布方法に工夫が必要
  2. Accessが出たときにはまだインターネットも社内LANも無かったので、複数名で同時更新ができないなど使い方に制約が生じる
  3. Accessで高度な機能を作る人が続出し、引き継ぎができないケースが多数発生している
  4. ユーザ1人1人にインストールが必要(ライセンスも必要)

 

課題への対処法(案)

  1. Excelであれば、TeamsやSharepointを使って共有し、オンライン(ブラウザ上)で開いて編集することも可能ですが、Accessにはオンライン版もなければTeamsでのサポートもありません。このため、利用者全員がAccessをインストールし、ファイルを開けるような共有フォルダ等が必要です。当面、OneDriveを使えば、バージョンアップの都度全員に配布する心配は要りません(勝手に同期してくれる)。
  2. Accessを開くと、他の人は更新できず、閲覧モードで開くことになります。これを回避するには、更新が必要なテーブルを別ファイルにしてリンクしておき、編集する際は一旦別のエリアに持ってきて、更新が必要な時だけ別ファイルを更新するような作りにします(本来DBは、こうした発想になります)。
  3. 一般のノーコードツールはまだ普及が始まったばかりで、殆どの利用者が初心者です。今後高度な機能を作る人が増えてくれば、引き継ぎ問題が生じるでしょう。基本的には、表現方法の標準化を行うとともに、一定のドキュメント化を図るのが正攻法の対処法です。
  4. インストールの手間は最初の1回だけとして、イニシャルコストがかかるのはやむを得ません。その分、ランニングコストが抑えられますので、財務的にどちらの戦略をとるか次第でしょう。

 

その他対処法:AccessとExcelを組み合わせ

Excelに比べると、Accessはどうしても敷居が高い印象があります。これは、何か機能をさせようとすると、関数ではなくSQLを使う必要があるためでしょう。

しかし、同じOfficeシリーズのソフトウェアなので、互換性もあります。Excelと組み合わせることで、Accessが苦手な分野を補完することもできます。何もAccessのみでアプリケーションを作る必要はありませんし、ノーコードツールだって様々な機能の集合体に名前をつけているわけですから、「Officeシリーズ」というノーコードツールだと思えば、同じようなものです。

後述の、外部リンク機能でExcelのファイルを関連づけておけば、普段の編集はExcelで、月末の集計はAccessで自動読込・・・といった組み合わせが可能です。

どうしても複数名で同時に登録したい場合は、AccessとDBサーバを組み合わせる一方、ExcelとDBも組み合わせるという、間接的なハイブリッド連携が現実的でしょう。クラウドでの共有要素も増えるので、嘘みたいに楽に運用できます。

外部リンク機能では、クラウド上にあるデータベース(Azure SQL DatabaseやAWS)との接続も可能なので、本体はLocal(手許のコンピュータ)で実行する必要があるとはいえ、データを共有してクラウドアプリ的な使い方もできます。

 

Accessのノーコード要素を評価してみる

それでは、Accessが本当にノーコードツールとして使えるものか、検証してみます。

定期的に出力されるcsvファイル(もしくはExcelファイル)を読み込んで、会計ソフトの仕訳データに変換する、という想定とします(いわゆる、転記ものです)。

今回は、この形式の売上データファイルを読み込むことにします。

 

これを、リンクテーブルで関連づけます。今回は、「Excel」を選択しました。

ファイル選択後、内容の確認ができるので、間違えたらやり直せます。

 

最終的に、t_売上というテーブル名で、定義します。これを開くと、こうなります。

基のExcelファイルと、同じ内容ですね。

ここまでで、入力側の定義が半分終わりました。

続いて、会計ソフトに読ませるデータを作ります。今度は、新規にクエリを作成します。

作成 → クエリデザインとメニューを掘っていくと、どのテーブルを基にするか聞かれるので、先ほどのt_売上を選択します。

このままだと、t_売上と同じ内容が表示されるだけですが、本来変換したい会計データは、このようなイメージです。

 

そこで、順番を入れ替えたり、科目名などの固定要素を定義します。赤枠でくくった箇所が、新たに変更したところです。

これを改めて開き直すと、

のように、無事求める内容に変換されました。摘要欄は、得意先Noと品目名称が入るようにしてあります。

これを、任意のファイル形式で保存(エクスポート)すれば、ファイル変換の完了です。

ここまで、(作業に慣れているせいもありますが)10分もかかっていません。ちなみに、”マクロ”機能があるので、ボタンを押すだけで一連の作業をさせることも可能です。

・・・ここまで、プログラムは1行も書いていませんが、簡単なアプリケーションができました。メニュー画面(フォーム機能で作成)で、適当なボタンオブジェクトにこのマクロを割り付けておけば、押すだけで作業が完了しますし、何でしたらAccessのファイルを開いただけで、関連する作業が全て自動的に(順番に)処理される、ようにもできます。

 

ファイル間転記も、同じ要領で可能

今回、Excelファイルをt_売上という名前で関連付けましたが、2つのファイルを同様に関連付けておき、AからBファイルに転記するクエリの設定をすれば、ノーコードで転記アプリができます。今どきのノーコードツールと比べて、よほど直感的ではないでしょうか?

何か新しいものが登場すると、こぞって「バスに乗り遅れるな」的に追随する傾向がありますが、昔から長く続いているものには、それなりの良さがあります。特定部署内で使用するならば、どこにあるか分からないクラウドにデータを預けて、情報漏洩リスクに晒されるよりは、ファイル内に閉じているAccessにも分があります。

 

当社がお手伝いできること

基本的に、自社の業務は当事者が一番詳しいのですから、外部の第三者がヒアリングしながら何か作るよりも、当事者が作った方が使いやすいものができます。

とはいえ、規模が大きくなってきた場合、本業を犠牲にしてまで対応できる余裕は無いでしょうし、業務改善のように今までの延長で対処できなくなった時、過去にとらわれずに業務改革する必要が出てきます。

そんな時は、過去25年近くに1800件以上の納入実績を持つ当社の経験が、きっと役に立てると思います。

相談は無料で匿名でも受付けていますので、お気軽にどうぞ。