2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Visual BasicAdvent Calendar 2024

Day 19

【VBA】君はAccessのdecompileを知っているか?

Last updated at Posted at 2024-12-19

Accessでなんかおかしいなと思ったときによく行うのが、最適化の実行だと思います。ネットで検索してもそういった情報がたくさんありますね。
ただ、最適化を行っても、状況が変わらない、良くならない時、あきらめる前にもう1つできることがあります。

そこで、decompileです。
コマンドプロンプトを起動し、対象のmdb,accdbファイルの後ろに
/decompile
を付けて実行するだけです。
最適化もしたい場合は、その後
/compact
もすると良いかもしれません。

実行例

スクリーンショット 2024-12-19 162721.png

参考ページ

MS-Accessのツボ
Decompile and Compact Your Microsoft Access Database to Improve Performance and Fix Corruption
vba - How does one decompile and recompile a database application? - Stack Overflow

どんな時に使ったのか

あくまで自分の経験ですが、20年もののaccdbファイル(恐らく元はmdbファイル)の変更が必要になり、そのときに他のaccdbファイルからフォームをインポートしました。
その後、インポートしたフォームを開こうとすると、スンッっとAccessが終了する(何のメッセージも出ない)という現象が発生。
この時に、前述のdecompileを使用して、フォームが開けるようになりました。
恐らく根本的な解決はしていないと思います。(内部構造自体が新しいファイルを受け付けないのではないか)長期に触れる場合は、別途新しいaccdbファイルなりに移行した方が良いのかもしれません。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?