文書番号: 304475 - 最終更新日: 2011年7月25日 - リビジョン: 5.0

[Acc97]: Access データベース内の関連テーブルにレコードを編集する方法

お知らせお使いのオペレーティング システムには適用しない情報が含まれている場合があります。
初心者: シングル ユーザー コンピューターのユーザー インターフェイスの知識が必要があります。

この資料は Microsoft Access データベース (.mdb) にのみ適用します。

この資料の Access 2000 バージョンについてを参照してください。 304474? (http://support.microsoft.com/kb/304474/EN-US/ ) .

目次

すべて展開する | すべて折りたたむ

概要

この資料では、関連テーブル内のレコードを編集する方法を示します。これは、次のトピックが含まれます。
  • データ フォームまたはデータシート (テーブルまたはクエリ) の追加または編集する方法
  • データシートまたはフォームでレコードを保存する方法
  • データシートまたはフォーム内のレコードを削除する方法
  • 追加またはデータシートまたはフォーム内の編集の変更を元に戻すには、方法
  • 参照整合性
  • 連鎖更新と連鎖削除
  • 制限と、データの検証について
  • クエリからのデータを更新できる場合

詳細

データ フォームまたはデータシート (テーブルまたはクエリ) の追加または編集する方法

  1. テーブルまたはクエリのデータシート ビューまたはフォーム ビューでフォームを開きます。
  2. 次のいずれかの操作を行います。
    • 新しいレコードを追加するには、ポイントします。 参照してください。 で、 編集 メニューのとクリック 新しいレコード.データを入力し、次のフィールドに移動する TAB キーを押します。レコードの最後には、次のレコードへ移動するタブをキーを押します。
    • フィールド内のデータを編集するには、編集するフィールドをクリックし、データを入力します。
    • 値全体を置き換えるには、フィールドの左端の部分に十字型ポインターには、ポインターに変わるまでマウス ポインターを移動し、クリックします。データを入力します。
    注: 入力ミスを修正するには、BACKSPACE キーを押します。現在のフィールドの変更をキャンセルするには、ESC キーを押します。レコード全体の変更をキャンセルするのには、そのフィールドから移動する前に esc キーをもう一度押します。別のレコードに移動すると、Microsoft Access は、変更を保存します。

データシートまたはフォームでレコードを保存する方法

Microsoft Access に自動的に追加または別のレコードにカーソルを移動するか、作業中のテーブル、フォームを閉じるとすぐに編集したレコードを保存します。

レコードの編集中にデータを明示的に保存する. します。 レコードを保存します。 で、 レコード メニューです。

データシートまたはフォーム内のレコードを削除する方法

  1. テーブルまたはクエリをデータシート ビューで開くか、フォームをフォーム ビューで開きます。
  2. 削除するレコードをクリックします。
  3. で、 編集 メニューをクリックして レコードを削除します。. 注: データを削除すると、ほかのテーブルの関連データを削除する可能性があります。仕入先を削除すると、たとえば、おそらく仕入商品削除します。場合によっては、参照整合性を適用して、連鎖削除を有効にすることによって、適切なデータを削除する必要を確認できます。参照整合性と連鎖更新および削除では、この記事の後半で詳しく説明しています。

追加またはデータシートまたはフォーム内の編集の変更を元に戻すには、方法

次のいずれかの操作を行います。

  • 最新の変更を取り戻す. します。 元に戻す で、 編集 メニューです。
  • 現在のレコードに対する変更を既に保存したか、別のレコードに移動した場合をクリックします。 保存されているレコードを元に戻す で、 編集 メニューです。 注: 別のレコードの編集を開始適用してまたはフィルターを削除または別のウィンドウに切り替えると、変更の取り消しは、これらのメソッドを使用できません。

参照整合性

参照整合性のルール関連テーブル内のレコード間のリレーションシップが有効であることを確認するのには、Access が使用することや、誤って削除か関連のデータを変更することです。参照整合性を使用すると、次の規則が適用されます。
  • 主テーブルの主キーに存在しない関連テーブルの外部キー フィールドに値を入力することはできません。ただし、レコードが関連付けられないように指定する、外部キーに Null 値を入力できます。たとえば、存在しない顧客に割り当てられた受注を持つことはできませんが誰を"得意先コード"フィールドに Null 値を入力することによって割り当てられる順序を持つことができます。
  • 一致するレコードが関連テーブルに存在する場合、主テーブルからレコードを削除できません。などがある場合、"受注"テーブルの社員に割り当てられた受注伝票 [社員] テーブルの社員レコードを削除できません。
  • レコードに関連レコードがある場合、主テーブルの主キーの値を変更できません。たとえば、"受注"テーブルの社員に割り当てられた受注伝票がある場合は社員の ID を [社員] テーブルを変更できません。

連鎖更新と連鎖削除

リレーションシップで参照整合性が適用されて、更新プログラムを自動的にカスケード接続するのには、Access をおよび連鎖関連レコードを削除するかどうかを指定できます。これらのオプションを設定する場合は、削除して参照整合性の規則を許可する許可は、通常の操作を更新します。レコードを削除したり、主テーブルの主キーの値を変更すると、Microsoft Access 関連のテーブルに参照整合性を維持するために必要な変更をできます。

クリックすると、 [フィールドの連鎖更新 レコード、主テーブルの主キーを変更するいつ、リレーションシップを定義しているとき] チェック ボックスを Microsoft Access 自動的に主キーが新しい値に関連するすべてのレコードを更新します。[得意先] テーブルで顧客の ID を変更すると、リレーションシップが維持されるようにするには、たとえば、[受注] テーブルの [得意先コード] フィールド自動的にその顧客の注文を誰更新されます。連鎖更新の実行時にメッセージは表示されません。

注: において、主テーブルの主キーがオート ナンバー型フィールドの場合は、設定、 [フィールドの連鎖更新 オート ナンバー型フィールドの値を変更できないためチェック ボックスも効果はありません。

選択すると、 関連レコードの連鎖削除します。 チェック ボックスを任意の時点において、主テーブルのレコードを削除すること、リレーションシップを定義している場合 Access は自動的に、関連テーブルの関連レコードを削除します。顧客レコードを [得意先] テーブルから削除する場合は、たとえば、顧客の注文に自動的に (レコード、受注レコードに関連して、Order Details のテーブルを含む)、[受注] テーブルから削除されます。削除すると、レコードをフォームまたはデータシートでは、 関連レコードの連鎖削除します。 チェック ボックスをオン、Microsoft Access 関連レコードも削除されることに警告します。削除クエリを使用してレコードを削除すると、ただし、Microsoft Access に自動的に関連テーブルのレコードに警告を表示せず削除します。

リレーションシップの詳細については、マイクロソフト サポート技術記事を表示するのには以下の記事番号をクリックしてください。
304468? (http://support.microsoft.com/kb/304468/EN-US/ ) [Acc97]: Access データベース内のテーブル間のリレーションシップを定義します。
304471? (http://support.microsoft.com/kb/304471/EN-US/ ) [Acc97]:、Microsoft Access データベース内のリレーションシップを編集する方法

制限と、データの検証について

Microsoft Access のさまざまなユーザーがデータをデータベースに入力する方法を制御する方法を説明します。たとえば、フィールドの入力規則を定義することにより、フィールドにユーザーが入力できるデータを制限できます。ユーザーがフィールドに入力したデータが規則に一致する場合は、アクセスできるエントリのデータをユーザーに示すメッセージが表示されます。データ入力を制御する別の方法は、フィールド内の位置に入力できる値の種類を制限するのには、定型入力を作成します。テーブルには、フィールドのプロパティを設定することによって、またはフォーム上のコントロールのプロパティを設定することによって、単純な形式の入力規則と制限を実行できます。

ほとんどの場合、テーブルのデザイン ビューでフィールドのプロパティを設定することにより、データの入力規則と制限を定義する方が望ましいです。フォームでそのフィールドを使用すると、フィールドの入力規則およびその他のプロパティは、フォームを使用して行われるデータ入力に適用されます。

ただし、フォーム上のコントロールに入力されたデータは、テーブルのフィールドにバインドされていないと、データの入力検査または制限する場合は、これらのプロパティは、フォームで定義する必要があります。また、場合は、マクロまたは Microsoft Visual Basic for Applications コードがフォームと共により複雑な入力検査を実行するために使用する必要がありますされます。たとえば、入力規則をオーバーライドしたり、異なるテーブルからの値を比較することができるを可能性があります。

Microsoft Access での検証の詳細については、検索、インデックスを支援します。 データの検証、または、Microsoft Access の Officeアシスタント。

クエリからのデータを更新できる場合

場合によっては、クエリの基になるテーブル内のデータを変更するのには、データシート ビュー内のデータを編集できます。それ以外の場合に、そのことはできません。クエリの結果を更新できるかどうか、していない場合は、次の情報が表示されます別の方法があるかどうか。

データは更新可能です。

クエリまたはクエリのフィールドには、次の場合に更新できます。
  • 1 つのテーブルに基づくクエリ
  • 一対一リレーションシップを持つテーブルに基づくクエリ
  • クエリの結果には、メモ型、ハイパーリンク、または OLE オブジェクトが含まれています

データは、特定の状況で更新可能です。

クエリが一対多リレーションシップを持つテーブルに基づいている場合、以下のクエリ フィールドのデータを編集することがあります。

元に戻す全体を表示する
クエリ フィールドソリューション
「一」側からのフィールドを結合します。2 つのテーブル間の連鎖更新を有効にします。
「多」側の結合フィールドがデータシートで表示されていない場合は、新しい記録結合フィールド、「多」の側の新しいレコードの追加を許可するようにクエリを追加します。
「一」側のデータを更新した後、「多」側のフィールドを結合します。レコードを保存します。「多」の側の結合フィールドに変更を加えることははずです。
空白のフィールドは、一対多リレーションシップの「一」側のテーブルから、外部結合が存在します。「一」の側の結合フィールドにそのレコードの値が含まれている場合は、値フィールドにテーブルからが、「多」の側の入力します。
新規レコード-ODBC テーブルの固有キー全体が出力されていない場合挿入を許可するのには、ODBC テーブルのすべての主キー フィールドを選択します。


データ削除できるが、更新されません。

元に戻す全体を表示する
クエリまたはクエリのフィールドソリューション
クエリ (または基になるテーブル) のデータ更新権限が付与されていません。データを変更するには、アクセス許可を割り当てる必要があります。
クエリ (または基になるテーブル) データの削除のアクセス許可が付与されていません。データを削除するには、アクセス許可を割り当てる必要があります。


データを更新することはできません。

元に戻す全体を表示する
クエリまたはクエリのフィールドソリューション
3 つ以上のテーブルを基にするクエリは多、1 対多のリレーションシップがクエリ内のデータを直接更新することはできませんが、ダイナセット (矛盾した更新) は、フォームのセットのプロパティが設定されている場合に、クエリに基づくフォームまたはデータ アクセス ページでデータを更新できます。
クロス集計クエリ[なし]
パススルー クエリの SQL[なし]
合計、平均、カウント、その他の種類のフィールド内の値の合計を計算するクエリまたはクロス集計クエリ、選択クエリ、または集計値や集計関数を含むサブクエリから、フィールドの更新] 行を参照する更新クエリ更新クエリの更新] 行で定義域集計関数を使用して、クロス集計クエリ、選択クエリ、または集計値や集計関数を含むサブクエリをフィールドを参照できます。
ユニオン クエリ[なし]
クエリの UniqueValues プロパティが"はい"に設定されて[なし]
ODBC のリンク テーブルに一意なインデックスまたは主キーのない Paradox テーブルを含むクエリ[なし]
1 つ以上のテーブルを含むクエリまたはクエリ、テーブルまたはクエリのデザイン ビューで結合線によって結合されていない場合それらを更新するには、テーブルを正しく結合する必要があります。
集計フィールド[なし]
フィールドを読み取り専用です。データベースが読み取り専用で開かれたか、読み取り専用のドライブにあります。[なし]
削除または別のユーザによってロックされているレコードのフィールドロックが解除されるとすぐ、ロック状態のレコードを更新可能にする必要があります。

関連情報

関連テーブルのレコードの編集の詳細についてをクリックします。 Microsoft Access のヘルプ で、ヘルプ メニューの種類 クエリからのデータを更新できる場合 Office アシスタントまたはアンサー ウィザードとクリックで 検索 返されたトピックを表示します。

この資料は以下の製品について記述したものです。
  • Microsoft Access 97 Standard Edition
キーワード:?
kbhowto kbmt KB304475 KbMtja
機械翻訳機械翻訳
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:304475? (http://support.microsoft.com/kb/304475/en-us/ )
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"
Retired KB Articleサポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。