データが増えたら、ExcelよりもAccessで管理するのを、お勧めするにはどんな理由があるの?
Excelは、とても良いソフトなんだけれど、ある程度データ量が増えたらAccessに切り替えるのをお勧めするのには、下記のような理由があるよ。
処理速度を向上させるため
Excelの表は100万行を超えるまでデータを扱えるようになったけれど、主キーやインデックスなどを付加できないから、複雑な検索や集計には時間がかかってしまうんだ。
確かに、そうかもね~
だから、元データはAccessで管理して、必要なデータだけAccessから抽出したものを、Excelで加工するといった使い方の方が効率的だし、安心なんだよ。
ヒューマンエラーを防ぐため
二つ目の理由は何?
二つの目の理由は、意図していないところにデータを入力したり、消してしまったりする可能性が高いということだよ。元データを集計しようとして、別シートにコピーや貼り付けを繰り返していたら、いつの間にか元データを加工してしまって、元に戻せないなんてこともよくあるんだ。
ついつい、やってしまうかも~。
この点からも、元データはAccessで管理して、必要なデータだけAccessから抽出したものを、Excelで加工した方が、安全だと言えるね。
データの整合性を保つため
三つ目の理由は何?
少し専門的な話になるけど、Excelでは項目のデータ型を厳密に管理できないため検索などで不具合が発生する場合があるんだ。
どういうこと?
例えば、入力ミスを防ぐために、Excelで下記のような入力画面を作るとするよね。(Excel上級者はユーザがシートを直接編集できないようするため、入力画面(フォーム)を利用して、ADOなどでデータを書き込む方法をとることがあります)
そして、[保存]ボタンを押した時に、データを保存する下記のようなプログラムを書くとする。
Dim Rs As New ADODB.Recordset
Rs.Open "SELECT * FROM [T_社員マスタ$]", "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\username\Documents\ibrainsys_Product\Data_xlsx\IBSDATA20210709_003.xlsx;Extended Properties='EXCEL 12.0;HDR=YES'", adOpenDynamic, adLockOptimistic
'シートに書き込む
Rs.AddNew
Rs!社員ID = Me.社員ID '1
Rs!社員コード = Me.社員コード 'D001
Rs!社員名称 = Me.社員名称 '山田 太郎
Rs.Update
Rs.Close: Set Rs = Nothing
上記のプログラムを実行すると下記のように、Excelシートに行が追加されるんだ。
おおすごい。入力画面からシートにデータが登録されている。
確かに、Excelのフォームは便利な機能だね。でも、限界がある。例えば、上記の例だと「社員ID」は数値という認識が一般的だよね。でも、実はExcelだと上記のプログラムだけでは、テキスト型で扱われてしまうんだ。それで、社員IDは数値型だと思って、データ抽出するSQL文を書くと、エラーが発生するんだよ。
Dim Rs As New ADODB.Recordset
Rs.Open "SELECT * FROM [T_社員マスタ$] WHERE 社員ID=1", "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\taked\Documents\ibrainsys_Product\Data_xlsx\IBSDATA20210709_003.xlsx;Extended Properties='EXCEL 12.0;HDR=YES'", adOpenDynamic, adLockOptimistic
If Not (Rs.EOF And Rs.BOF) Then
Rs.MoveFirst
Debug.Print Rs!社員名称
End If
Rs.Close: Set Rs = Nothing
なるほど。データ型を厳密に指定できないことは、思ってもいないエラーに遭遇することになるんだね。
そのとおりだよ。Accessであればテーブルのデータ型を強制的に指定できるから安心なんだ。だからExcelで管理しているデータがある程度増えてきたらAccessに切り替えることがお勧めなんだ。
納得したよ。でも、Accessで自分で管理するのは難しそうだね。どうしたらいいの?
確かにそうかもしれないね。そのような場合は、下記のシステム会社に相談するといいよ。相談や見積もりは無料だから安心だね。
そうなんだ。でもどうして、株式会社インサイトブレインシステムがお勧めなの?
だって、私が運営している会社だからよ(笑)。
優良業者・専門家の比較・紹介サイト「ストラテ」にインタビューが掲載されているから参考にしてね。
それなら、安心だね!!
Accessで作成された無料でも利用できる便利な売上仕入在庫管理ソフトは下記から取得できます。
コメント