Access引越し中小企業のAI導入支援|古い業務システムの作り直しからAccess・オフコンの引越し 専門

コラムやり方・手順

作った人が退職したAccessは、何を数えればよいですか?見本のDBを数えた手順と結果

作った人が退職したAccessは、テーブル・クエリ・フォーム・レポート・VBAの行数の5つを数えると、どこまで移すか、どれくらい手間がかかるかの見当がつきます。Access引越しの棚卸しスクリプトでMicrosoftの見本「Northwind 2.0」を数えると、Starter版はテーブル9・レポート7・VBA 1,569行、Developer版はテーブル28・レポート15・VBA 9,037行でした。(2026年10月時点)

全体の流れと費用はAccess・オフコンの引越しのページにまとめています。

要点

  • 作った人がいないAccessは、テーブル・クエリ・フォーム・レポート・VBAの行数の5つを数えると、移す範囲の見当がつきます。
  • 見本のNorthwind 2.0を数えると、Starter版はテーブル9・レポート7・VBA 1,569行でした(2026年10月16日)。
  • Developer版はテーブル28・レポート15で、VBAは9,037行とStarter版の約5.8倍に増えました。
  • MSysObjectsは既定で読めないため、TableDefs・QueryDefs・AllFormsなどから数えます。
  • 数えるのは全員が閉じた時間に取った写しにして、元のファイルは開かないようにします。
目次
  1. 作った人が退職したAccessは、何を数えればよいですか?
  2. 見本のAccessを数えると、どれくらいの数になりましたか?
  3. Accessの中身は、どんな順番で数えますか?
  4. MSysObjectsが読めないときは、どこから数えますか?
  5. 数えた結果から、移す範囲と手間をどう読みますか?
  6. このサイトで相談するには?
  7. よくある質問

作った人が退職したAccessは、何を数えればよいですか?

テーブル・クエリ・フォーム・レポート・VBAの行数の5つです。この5つで、移すデータの量、画面と帳票の数、処理を書き直す量が分かります。作り直しまで含めた全体の流れは、Access・オフコンの引越しにまとめています。

作った社員や業者がいなくなると、「何が入っているか」を誰も答えられません。最初に数を出しておくと、移行先の比較や見積もりの話が、同じ土台の上でできるようになります。

数える5つと、それぞれから分かることを表にしました。

数えるもの 中身 分かること
テーブル データを入れる表 移すデータの範囲。リンクテーブルなら別のファイルもある
クエリ 抽出や集計の条件 業務の決まりがどれだけ式になっているか
フォーム 入力や検索の画面 作り直す画面の数
レポート 請求書・納品書などの帳票 同じ形で出す帳票の候補
VBAの行数 ボタンや起動時の処理 処理を書き直す量

見本のAccessを数えると、どれくらいの数になりましたか?

Microsoftが配る見本のAccess「Northwind 2.0」を数えました。Starter版はテーブル9・クエリ30・フォーム30・レポート7・VBA 1,569行です。機能の多いDeveloper版は、テーブル28・クエリ65・フォーム40・レポート15で、VBAは9,037行です。

数えたのは2026年10月16日、Microsoft 365のAccess(64bit)です。テンプレートからファイルを作り、Access引越しの棚卸しスクリプトで数えました。比べるために、Officeに入っているADDRESS20.ACCDBも数えています。

数えたもの Starter版 Developer版 ADDRESS20
テーブル(項目の数) 9(87) 28(231) 1(15)
リレーション 5 27 0
クエリ 30 65 0
フォーム 30 40 0
レポート 7 15 0
VBAの行数(コードのある部品) 1,569(23) 9,037(48) 0(0)
見本のAccess Northwind 2.0の2つの版を5つの数で比べた棒グラフ。Starter版はテーブル9・クエリ30・フォーム30・レポート7・VBA 1,569行、Developer版は28・65・40・15・9,037行
図1 Northwind 2.0の2つの版を数えた結果。テーブルは約3.1倍、VBAの行数は約5.8倍の差でした。Access引越しの計測で、数は access_inventory_northwind.csv にあります。

2つの版の差は、テーブルの数よりVBAの行数で大きく出ました。画面の数が近くても、裏の処理の量は大きく違うことがあります。なお、MicrosoftはDeveloper版を「機能を見せるための見本で、業務に使うものではない」と説明しています。

Accessの中身は、どんな順番で数えますか?

まず写しを取り、版を確かめてから5つを数え、注意の要る設定に印を付けます。最後に、毎日使う画面と帳票を、使っている人から聞きます。

  1. 全員がAccessを閉じた時間に、ファイルごとコピーします。数えるのは写しです。
  2. Accessの版と、32bitか64bitかを確かめます。
  3. テーブル・クエリ・フォーム・レポート・VBAの行数を数えます。
  4. リンクテーブルの接続先、起動時に動くマクロ(AutoExec)、PtrSafeのないDeclare文に印を付けます。
  5. 毎日使う画面と、得意先に渡す帳票を使っている人に聞きます。
作った人がいないAccessの中身を数える5つの手順の流れ図。写しを取る、版を確かめる、5つを数える、リンク先などに印を付ける、使い道を聞く
図2 数える5つの手順。1〜4はスクリプトで数え、5は使っている人に聞きます。

4つ目の印は、移行の前に手当てが要る所です。64bit版のOfficeでは、PtrSafeのないDeclare文があるとコンパイルエラーになります。詳しくは64bit版でAccessが動かないときの応急処置に書きました。

MSysObjectsが読めないときは、どこから数えますか?

テーブルとクエリはDAOのTableDefsとQueryDefsから数えます。フォーム・レポート・モジュールは、AccessのCurrentProject.AllFormsなどから数えます。オブジェクトの一覧を持つ隠しテーブルMSysObjectsは、既定では読めません。手元では「読み取り権限がないので、レコードを読み取ることができません」と出ました。

VBAの行数は、Application.SaveAsTextで部品ごとに文字として書き出して数えます。フォームとレポートは、書き出した文字のCodeBehindFormより後がVBAです。スクリプトの要点は次のとおりです。

$acc = New-Object -ComObject Access.Application
$acc.AutomationSecurity = 3   # マクロとVBAを動かさずに開く
$acc.OpenCurrentDatabase("C:\work\copy.accdb", $false)
$db = $acc.CurrentDb()
@($db.TableDefs | ? { $_.Name -notmatch '^(MSys|~)' }).Count  # テーブル
@($db.QueryDefs | ? { $_.Name -notmatch '^~' }).Count         # クエリ
$acc.CurrentProject.AllForms.Count                           # フォーム
$acc.SaveAsText(5, "modGlobal", "C:\work\modGlobal.txt")     # VBAを書き出す
MSysObjectsを読まずにAccessの中身を数えるときの取り出し口の対応図。テーブルはTableDefs、クエリはQueryDefs、フォームとレポートはAllFormsとAllReports、VBAの行数はSaveAsText
図3 数えるときの取り出し口。名前が「~」で始まるクエリは、フォームやレポートの中に書かれた一時的なクエリなので除きました。

再現するときは、scripts/figs/access_inventory.ps1にファイルの場所を渡します。Northwind 2.0をテンプレートから作る処理は、手元では数回に1回Accessが落ちたので、落ちたら作り直しました。Access本体の[データベース構造の解析]でも各部品の設計を印刷できますが、VBAの行数の合計は出ません。

数えた結果から、移す範囲と手間をどう読みますか?

レポートの数は「同じ形で出す帳票」の候補、VBAの行数は処理を書き直す量として読みます。テーブルとクエリの数は、移すデータと業務の決まりの量です。

私が数を読むときは、レポートの一覧を使っている人に見せ、得意先へ渡すものに印を付けてもらいます。印の付いた帳票は同じ形で出し、社内だけのものは表やCSVにすると、手間を絞れます。見分け方はAccessの帳票を同じ形で出せるかで、実際に重ねて測りました。

数には限界もあります。見本のNorthwind 2.0には、設計用の雛形(_Design)のように業務では使わない部品も入っていて、数に含めました。実際のAccessでも、もう使っていない画面やクエリが残っています。

行数が多いVBAは、AIに読ませて処理の一覧を作る方法もあります。その精度はAIにVBAを読ませる実験で確かめました。

このサイトで相談するには?

Access引越しでは、「何が入っているか分からない」という段階からでも相談を受けています。何をどう頼むか決まっていなくても大丈夫です。御社のやり方に合わせて、進め方を一緒に考えます。

準備は要りません。無料で相談するからお送りください。

よくある質問

Accessが入っていないPCでも数えられますか?
テーブルとクエリは、Accessデータベースエンジン(ACE)があればDAOで数えられます。フォーム・レポートとVBAの行数は、Accessの入ったPCで数えます。
パスワードが掛かったAccessでも数えられますか?
パスワードが分かれば数えられます。分からないときは、パスワードを外す作業を先にするかどうかを社内で決めてから進めます。
Accessの画面のメニューだけで数えられますか?
はい。ナビゲーションウィンドウで種類ごとに数えられ、[データベース構造の解析]で各オブジェクトの設計を印刷できます。VBAの行数の合計は出ません。
数えた結果を外の業者に渡しても大丈夫ですか?
数と名前だけなら、顧客のデータは含まれません。テーブルの中身やVBAの本文を渡すときは、先に秘密保持契約を結びます。

この数字の出し方

この記事の自前の数字は、次の見本・条件・回数で出しました。主宰が確かめ、更新日は2026年10月17日です。スクリプトの名前から、同じ手順を自分のファイルで再現できます。

  • Access引越しの計測(2026年10月16日、Microsoft 365 Access 16.0 ビルド20430 64bit・Windows 11。Northwind 2.0 Starter・Developer と ADDRESS20.ACCDB の3ファイル)。scripts/figs/access_inventory.ps1、結果は access_inventory_northwind.csv

出典

  1. Microsoft サポート「Access specifications」(データベースの上限2GB、オブジェクト数32,768、モジュール数1,000。Microsoft 365・2024・2021・2019・2016)(2026年10月16日確認)
  2. Microsoft サポート「Northwind 2.0 Developer Edition: Template Tutorial」(対象 Microsoft 365・2024・2021・2019)(2026年10月16日確認)
  3. Microsoft サポート「Document and print your database design」(データベース構造の解析 Database Documenter)(2026年10月16日確認)
  4. Microsoft Learn「Compatibility between the 32-bit and 64-bit versions of Office」(Declare 文と PtrSafe)(2026年10月16日確認)