名前の自動修正オプションを設定する

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

名前オートコレクトは、データベースの設計が変更されたときに Access デスクトップ データベースが破損しないようにするのに役立ちます。 オートコレクトの名前は次のとおりです。

  • データベース オブジェクトの名前を変更すると、他のオブジェクトが破損する場合に検出する
  • この問題を自動的に修正する
  • 行った修正をログに記録する

既定では、名前 AutoCorrect は問題を検出して修正しますが、ログの修正は行いません。 名前 AutoCorrect はパフォーマンスに若干影響を与える可能性があるため、データベースの設計が予期せず変更される可能性が高くない場合は、無効にすることをお勧めします。 または、Access が行った修正を追跡することもできます。 デスクトップ データベースごとに名前オートコレクト オプションを設定できます。

名前オートコレクトは、データベース オブジェクトの名前の同期を維持するのに役立ちます。 削除されたデータベース オブジェクトからの問題など、他の設計変更の問題は直接処理されません。

この記事の内容

AutoCorrect という名前を使用する必要があるのはなぜですか?

設計が頻繁に変更される Access データベースで作業する場合、他のデータベース オブジェクトの設計が変更されると、データベース オブジェクトの動作が停止する可能性があります。 たとえば、これは、オブジェクトの名前が変更されたが、元のオブジェクトに依存するオブジェクトが更新されない場合に発生する可能性があります。

たとえば、Customers という名前のテーブルに基づくクエリを作成し、後でテーブルの名前が Customer に変更された場合、この名前が変更されたため、作成したクエリは機能しなくなります。 クエリに問題はありません。また、クエリデザインでテーブル名を修正すると、クエリは再び機能します。

オートコレクト機能という名前は、名前の変更を追跡できます。 また、フォーム、レポート、テーブル、クエリ、フィールド、またはテキスト ボックスなどのコントロールの名前を自動的に修正することもできます。

名前オートコレクトとオブジェクトの依存関係情報

名前オートコレクトは、テーブル、クエリ、フォーム、レポートのオブジェクト依存関係情報の 名前マップ を作成します。 これらのマップを使用すると、[ オブジェクトの依存関係 ] 作業ウィンドウを使用して、選択したテーブルまたはフォームに依存するオブジェクトの一覧を表示できます。 また、テーブルまたはフォームが依存しているオブジェクトを表示することもできます。 オブジェクトの名前マップは、そのオブジェクトを保存して閉じるたびに更新されます。

既定では、古いバージョンの Access で作成されたデータベースでは、これらのデータベースを新しいファイル形式に変換した後でも、名前変更の追跡は有効になりません。 ただし、これらのデータベースを変換した後で、名前変更の追跡を有効にできます。

オートコレクトという名前を使用すべきでないのはいつですか?

次の状況では、名前 AutoCorrect を使用しないでください。

  • データベースの設計が変更されない データベースの設計が変更されない場合は、AutoCorrect という名前をオフにすることでパフォーマンスを向上させることができます。
  • データベース ファイルを小さくし、オブジェクト名の変更を手動で管理する 必要があるデータベースに対して AutoCorrect という名前が有効になっていると、データベースが大きくなることに気付く場合があります。 この増加は、AutoCorrect が作成する名前マップに由来します。 名前オートコレクトを無効にすると、名前マップが削除され、データベースのサイズが小さくなります。

オートコレクトという名前の内容が正しくない

名前 AutoCorrect では、次の情報は修正されません。

  • フォーム、レポート、またはコントロール名の変更は追跡されません。
  • マクロまたはコード内のテーブル、クエリ、またはフィールド名は修正されません。

オートコレクトの名前のしくみ

名前オートコレクトには、トラック名のオートコレクト情報、AutoCorrect 名の実行、およびログ名のオートコレクトの変更の 3 つのオプションが含まれています。 最後の 2 つのオプションはそれぞれ、有効になっている前のオプションによって異なります。

[名前の自動修正情報をトラックする]

名前オートコレクトを有効にしてデータベースの名前の変更を追跡すると、Access によって次の処理が実行されます。

  1. データベースへの排他的アクセスを取得しようとします。
  2. 開いているオブジェクトを検索します。
  3. プロンプト開いているオブジェクトを閉じ、閉じます。
  4. Updates名前は、すべてのテーブル、クエリ、フォーム、レポートを開き、保存し、閉じることによってマップされます。
  5. 排他に昇格する前の状態にデータベースを返します。

割り込まれた名前マッピング

名前マップの作成には数分かかることがあります。 Esc キーを押すと、この手順をキャンセルできます。 ただし、一部のオブジェクトの名前マップは古く、名前マップが更新されるまで、それらのオブジェクトの依存関係情報を表示することはできません。

名前マップの更新中に Esc キー を押して Access を中断した場合、Access は [トラック名のオートコレクト情報 ] オプションを無効にしません。 [トラック名オートコレクト情報] オプションは、すべての名前マップが更新されていない場合でも選択したままです。 名前マップを更新するプロセスを再開するには、次の手順を使用します。

  1. リボンで、[ ファイル>オプション ] を選択して、[ アクセス オプション] ダイアログ ボックスを開きます。
  2. [ アクセス オプション] ダイアログ ボックスの左側のウィンドウで、[ 現在のデータベース] を選択します。
  3. [トラック名オートコレクト情報チェック] ボックスをオフにし、[OK] を選択します。 変更を有効にするには、開いているすべてのデータベース オブジェクトを閉じる必要があることを警告します。
  4. データベースを閉じ、もう一度開きます。
  5. [ アクセス オプション] ダイアログ ボックスをもう一度開きます。 次に、[現在のデータベース] で、[AutoCorrect info チェックトラック名] ボックスを選択し、[OK] を選択します

または、特定のオブジェクトの名前マップを手動で更新するには、デザイン ビューでオブジェクトを開いて保存します。

トラック名のオートコレクト情報を無効にするとどうなりますか?

名前オートコレクトをオフにして名前の変更の追跡を停止すると、Access は次の操作を行います。

  1. データベースへの排他的アクセスを取得しようとします。
  2. 開いているオブジェクトを検索します。
  3. プロンプト開いているオブジェクトを閉じ、閉じます。
  4. すべてのテーブル、クエリ、フォーム、レポートから名前マップを削除します。
  5. 排他に昇格する前の状態にデータベースを返します。

Access で変更の追跡または名前マップの削除のプロセスが完了しない場合は、 Name AutoCorrect Save Failures テーブルにエラーが記録されます。

[名前の自動修正を行う]

[名前 のオートコレクト の実行] オプションを有効にするには、まず [トラック 名のオートコレクト 情報] オプションを有効にする必要があります。

[ 名前のオートコレクトの実行 ] オプションが有効になっている場合、Access は名前マップを使用して、名前の変更が他のデータベース オブジェクトに影響するかどうかを判断します。 その後、変更された名前が他のオブジェクトに表示される場所を修正します。

[名前の自動修正の変更を記録する]

[AutoCorrect の変更のログ名] オプションを有効にするには、まず [トラック名のオートコレクト情報] オプションと [名前のオートコレクトの実行] オプションを有効にする必要があります。

[ログ名のオートコレクトの変更] オプションが有効になっている場合、Access はオブジェクト名の変更のために行った修正を追跡します。 各修正は、 Name AutoCorrect Log テーブルにレコードとして表示されます。

名前のオートコレクト オプションを有効または無効にする

[ アクセス オプション] ダイアログ ボックスでは、3 つの名前のオートコレクト オプションをすべて有効にすることができます。 現在のデータベースに対してのみ、AutoCorrect オプションの名前を有効または無効にすることができます。

  1. リボンで、[ ファイル>オプション ] を選択して、[ アクセス オプション] ダイアログ ボックスを開きます。

  2. [ アクセス オプション] ダイアログ ボックスの左側のウィンドウで、[ 現在のデータベース] を選択します。

  3. [ 名前のオートコレクト オプション] で、必要なオプションを選択またはオフにします。

    • トラック名オートコレクト情報 このオプションを選択すると、Access はデータベース内のオブジェクト名の変更を追跡します。 追跡情報は名前マップに格納されます。 このオプションを初めて有効にすると、既存のデータベース オブジェクトごとに名前マップが作成されます。 このオプションが選択されている限り、名前マップは最新の状態を維持します。 名前マップは、名前の変更によって発生するエラーを修正し、オブジェクトの依存関係情報を生成するために使用されます。 名前マップに直接アクセスすることはできません。 他の名前のオートコレクト オプションを選択する前に、このオプションを選択する必要があります。

      このオプションを有効にしても、名前の変更が自動的に修正されることはありません。 このオプションを有効にすると、将来の修正に使用されるマップのみが作成されます。

    • AutoCorrect という名前を実行する このオプションを選択すると、名前の変更が発生したときに自動的に修正されます。 このオプションは、[ トラック名オートコレクト情報 ] オプションが既に選択されている場合にのみ選択できます。 AutoCorrect という名前を実行するために、Access は[ トラック名オートコレクト情報 ] オプションが有効になったときに作成した名前マップを使用します。 [ ログ名オートコレクトの変更 ] オプションを選択する前に、このオプションを選択する必要があります。

    • ログ名のオートコレクトの変更 Access では、オートコレクトという名前の修正のログが保持されます。 各修正は、 Name AutoCorrect Log テーブルにレコードとして表示されます。

[オブジェクトの依存関係] ウィンドウを使用して、オブジェクトの関連付け方法を確認する