作った人が退職した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などから数えます。
- 数えるのは全員が閉じた時間に取った写しにして、元のファイルは開かないようにします。
目次
作った人が退職した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) |
2つの版の差は、テーブルの数よりVBAの行数で大きく出ました。画面の数が近くても、裏の処理の量は大きく違うことがあります。なお、MicrosoftはDeveloper版を「機能を見せるための見本で、業務に使うものではない」と説明しています。
Accessの中身は、どんな順番で数えますか?
まず写しを取り、版を確かめてから5つを数え、注意の要る設定に印を付けます。最後に、毎日使う画面と帳票を、使っている人から聞きます。
- 全員がAccessを閉じた時間に、ファイルごとコピーします。数えるのは写しです。
- Accessの版と、32bitか64bitかを確かめます。
- テーブル・クエリ・フォーム・レポート・VBAの行数を数えます。
- リンクテーブルの接続先、起動時に動くマクロ(AutoExec)、PtrSafeのないDeclare文に印を付けます。
- 毎日使う画面と、得意先に渡す帳票を使っている人に聞きます。
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を書き出す
再現するときは、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
出典
- Microsoft サポート「Access specifications」(データベースの上限2GB、オブジェクト数32,768、モジュール数1,000。Microsoft 365・2024・2021・2019・2016)(2026年10月16日確認)
- Microsoft サポート「Northwind 2.0 Developer Edition: Template Tutorial」(対象 Microsoft 365・2024・2021・2019)(2026年10月16日確認)
- Microsoft サポート「Document and print your database design」(データベース構造の解析 Database Documenter)(2026年10月16日確認)
- Microsoft Learn「Compatibility between the 32-bit and 64-bit versions of Office」(Declare 文と PtrSafe)(2026年10月16日確認)