フォーム上にデータベースを最適化|修復するコマンドボタンを作成するには
- データベースウインドウのフォームタブをクリックして新規作成のボタンをクリックします。
 |
| 図1-データベースウインドウ |
|
- フォームの新規作成ダイアログが表示されたらデザインビューを選択してOKのボタンをクリックします。
 |
| 図2-フォームの新規作成ダイアログ |
|
- フォームが表示されたら、メニューからツールボックスのアイコン
をクリックしてコマンドボタンを2個作成します。
コマンドボタンを選択したら、メニューからプロパティのアイコン をクリックしてプロパティのダイアログを表示させます。プロパティのキャプション(Caption)とコントロール名(Name)を以下のように設定します。
| Object |
Property |
Setting |
| 1番目のコマンドボタン |
Name |
cmdCompact |
| Caption |
最適化 |
| 2番目のコマンドボタン |
Name |
cmdRepair |
| Caption |
修復 |
 |
| 図3-コマンドボタンのプロパティダイアログ |
|
コマンドボタンのプロパティダイアログからイベントタブをクリックしたらOn
Clickイベントをクリックして以下のコードを入力します。
Private Sub cmdCompact_Click()
SendKeys "%(TDC)"
End Sub
|
フォームビューモードに切り替えたら、最適化のコマンドボタンをクリックして確認して下さい。
 |
| 図4-サンプルフォーム |
|
修復用のコマンドボタンも同様の手順で作成しますが、SendKeysステートメントには %(TDR)
を指定します。Access 2000では、%(TDC)で最適化/修復を同時に行いますので%(TDR)は不要です。
Tip: (01/17/2000)
Access 2000では、データベースを閉じるときに自動的に最適化するオプションが追加されました。このオプションを有効にするには、ツールメニューからオプションをクリックしてオプションダイアログを表示させます。次に、オプションダイアログから全般タブをクリックして閉じる時に最適化するのチェックボックスをクリックします。
Note: (01/17/2000)
データベースを最適化するには、ツールメニューから行う他にDAOのCompactDatabaseメソッドを使用する方法があります。Access
97では、ツールメニュー、DAOのどちらの方法を使用しても同じように最適化されます。ところが、Access
2000では、仕様変更により全てのオブジェクトがMSysAccessObjectsテーブルのBLOB(Binary
Large OBject)に格納されるようになりました。この仕様変更により、DAOのCompactメソッドを使用した場合、以前(Access
97)のように最適化されないようになりました。
Access 2000で最適化する場合、DAOのCompactメソッドを使用しないで、ツールメニューから行う必要があるようです。
Note:
(01/29/2000)
Access 2000でデータベースの最適化を行うと、Accessのオブジェクト(フォーム、レポート、マクロ、モジュール)の作成日付および最終更新日付が最適化した日付にリセットされます。データベースを閉じるときに自動的に最適化するオプションを設定すると、最終更新日で更新履歴を管理することが出来なくなりますので注意してください。
この不具合の詳細はQ244642を参照してください。
|