Accessで作成したソフトを配布する前に注意すべきことを教えて。
Accessでソフトを何回も修正していくと、いつの間にか不要な保存領域が作成されてしまって、原因不明のエラーが発生することがあるんだ。
それを、回避するのに「最適化」という処理があるんだけど、「最適化」だけでもモジュールのコンパイルエラーを回避できなかったりするんだ。
原因不明のエラーは怖いよね。じゃあ、どうしたらいいの?
これから、説明する3つのステップを行えば、クリーンなファイルにでき、エラーを回避できるよ。主な流れを説明していくから、アレンジして使ってみてね。
新規ファイルを作成して、完成したオブジェクトをインポート
古いファイルより新しいファイルにした方が、余計な情報が含まれていないのは明らかです。ファイルは必ず新規作成しなおしましょう。
新規作成したファイルに、元ファイルからのオブジェクトを全部インポートすれば、完成ファイルと全く同じになります。
①修正が完成したファイルを別のフォルダにコピー
私の場合は、何度も修正するので、修正ソフトを保存しているフォルダの中に、「履歴」というフォルダを作成して、そこにコピーをとるようにしているよ。
ファイル名の後ろに日時を付加しておくと、管理しやすいよ。
履歴ファイルは、日時を付加しておくと管理しやすいんだね~。
ファイルは決して上書き保存しないようにしましょう。万が一大切なファイルを上書き保存してしまうと元に戻せなくなってしまうからです。履歴を残しておけば(削除する場合も、ごみ箱に移動する仕方で削除)元に戻すことができます。
②新規ファイルの作成
次に、Accessを起動して、完成ファイルと同名かつ同フォルダに、ファイルを新規作成します。
【注意】
ファイル名を指定するとき、完成ファイルと同じ名前のファイルを作成しますが、上書きはしないで、必ずキーボードの[Delete]キーを押して削除してから、新規ファイルを作成するようにしてください。削除であれば、万が一の時に「ゴミ箱」から元に戻せるからです。
同一フォルダに同一ファイル名で、新規ファイルを作るんだね。
③オブジェクトのインポート
新規ファイルを作成したら、「履歴」フォルダにコピーした元ファイルから、オブジェクトをインポートするよ。
リボンの[新しいデータソース]-[データベースから]-[Access]を選択すると、インポート元のファイルを選択できるようになります。
「外部データの取り込み」画面のファイル名欄に、「履歴」フォルダにコピーしたファイルを指定してください。
「オブジェクトのインポート」画面で、各オブジェクトを全部選択していきます。さらに、[オプション]ボタンをクリックして、メニューバーやインポート定義なども合わせてインポートする設定を忘れないようにしてください。
インポートが完了したら、いったんソフトを終了します。
(モジュールの参照設定が必要であれば、ソフトを終了する前にモジュールウィンドウから参照設定を行ってください。)
デコンパイル、それから、再度コンパイル
デコンパイルして、一旦すべてのコンパイルを初期化してから、再度、コンパイルしなおす作業を行うと中途半端なコンパイルをクリアできます。デコンパイルするには、「/decompile」オプションをつけて、Accessを起動します。
“C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.EXE” /decompile
毎回、「/decompile」オプションを指定するのは面倒なので、デスクトップにショートカットを作成しておくと、簡単にデコンパイルモードでAccessを起動できます。
デコンパイルモードでAccessが起動したら、新たに作成したファイルを開き、モジュールウィンドウを開きます。
次に、モジュールウィンドウのメニューの[デバック]をクリックして、コンパイルできる状態になったことを確認します。
コンパイルできる状態になったことを確認したら一旦、Accessを終了してください。
もう一度、通常モードでAccessを起動し、ファイルを開いてから、モジュールウィンドウのメニューの[デバック]をクリックして、コンパイルします。
修正中でも定期的にデコンパイルをかけると原因不明のエラーがでずらくなります。開発中にモジュールウィンドウが開かなくなった場合でも、デコンパイルをかけると開けるようになる場合があります。
データベースの最適化
最後に、Accessのウィンドウに戻って、リボンの[データベースツール]-[データベースの最適化/修復]を実行します。
最適化処理が終わったら完了です。これで、クリーンなファイルを作成できました。
Accessで作成された無料でも利用できる便利な売上仕入在庫管理ソフトは下記から取得できます。
コメント