なずブログ

インフラSE、Java開発、リモートワークエンジニアな人のメモ帳

ExcelとAccessの違い

f:id:nazuna_0124:20170403224602p:plain

ExcelVBAに慣れると規模が大きくなったりで

Accessを勉強してみようか悩むのですよね。


そんな方向けの記事になります。


Officeに入ってるAccessってなんだろう?的な興味本位の方は

申し訳ありませんが、他のサイト様で確認をお願いします。


さて、最初に前提です。ExcelAccessの違いでぐぐった人は

厳密にはこれが知りたいわけじゃないはずです。


Excelで困ってるコレがAccessなら解決できるのか知りたい

のだと思います。


最初に5つの結論です。

  • Accessで解決できるのはデータ件数の問題だけ。
  • 複数人で操作したいというのは事実上解決できません。
  • Accessを学ぶ過程で得られた知識は解決に役立ちます。
  • WSHHTAとは違ったアプリっぽいものが作れます。
  • VBAはほぼ必須


データ件数

Excelの行数は理論上は2007から100万行なのですが、

重さなんかも考えると、実質10万行くらいが限界です。


Accessは容量が2Gまでという制限になります。

列数などにもよりますが、50万件のデータでも扱えます。


同時操作

今まで5人くらいでExcelの共有ブックで管理していたのが

10人に増えると不都合が起きるようになった。これをなんとかしたいというもの。


この手のものをなんとかするのを排他制御というのですが、

Accessはこれが苦手です。(わたしも随分苦労しました)


Accessに移行で即解決しないので注意!


データベースの知識

Accessを勉強する上で身につく知識です。

面白いことに、Accessを学ぶと、Accessなしでもなんとかできるようになります。


せっかくだからと、MysqlSqliteでもいいですが、

同じOfficeソフト同士の連携は強固なので、Accessでもオッケー。


アプリっぽいもの

Excelはどうしてもブックに縛られるので

どこまでやってもExcelです。(それがいいという場合も)


Accessはフォームを工夫することで見かけ上Access

わからないくらいに出来たりします。


このあたりはWSHHTAと一緒に調べておくといいです。


HTAと比較して大きな利点はWindows APIを高速で使用できる点。

デメリットは動的なフォームが苦手なところです。


VBAは必須

一応無くてもできなくはないです。

無しで作られたのを見たことはありますが、作るの大変だったろうなと……。

学習コストがメリットを超えます

VBAからやったほうが近道です。



むぅ~ん いまいちまとまらないです。

この話題はコメントで質問大募集です!