ショボ短歌会

access初心者です。
先日、「メイン、サブフォームの入力」について質問した者です。

取引先の会社情報を管理するために、access2007で顧客管理を作成しています。
現在、取引先本社情報とその支店情報を新規登録及び既存顧客を編集するフォーム「会社登録フォーム」と「会社検索フォーム」を主にVBAで作成しています。

<実現したいこと>:
既存顧客を編集する場合は「会社検索フォーム」から抽出し、「選択」ボタンで会社情報を「会社登録フォーム」に呼び出し、本社及びその支店情報を編集する。

<困っていること>:
「会社検索フォーム」から顧客を選択後、「会社登録フォーム」では、支店情報は変わりますが、本社情報が変わりません。
(メッセージ:「リレーションシップが設定されたレコードがテーブル'支店テーブル'にあるので、
レコードの削除や変更を行うことはできません。」というメッセージがでます。)

<会社登録フォームの環境>:
会社の本社情報をメインフォーム、その会社の支店情報をサブフォームに、単票形式のタブコントロールで複数画面にして、支店ごとに分けて入力できる登録フォームを作成しています。
本社テーブルの会社IDを主キーに、支店テーブルの支店IDを主キーにしてリレーションシップを設定し、クエリ「Q_本社支店」というテーブルを作成しています。

<会社検索フォームの環境>:
・「Q_本社支店」テーブルを元に「会社検索フォーム」を作成しています。
・「会社名」「支店名」等で検索し、データシートで表示します。
・ 抽出されたレコードの「選択」ボタンで、「会社ID」を「会社登録フォーム」の本社情報の「会社ID」に代入します。

色々調べてやってはみたのですが、上手くいきません。
行き詰まり感があり、困っております。

ご教授のほどよろしくお願いいたします。

A 回答 (1件)

<困っていること>:


「会社検索フォーム」から顧客を選択後、「会社登録フォーム」では、支店情報は変わりますが、本社情報が変わりません。
(メッセージ:「リレーションシップが設定されたレコードがテーブル'支店テーブル'にあるので、
レコードの削除や変更を行うことはできません。」というメッセージがでます。)
-----------
この点について、リレーションシップの結合の種類のところでフィールドの連鎖更新を許可していないのではないでしょうか。調べてみてください。

この回答への補足

optimumsoupさん
ご回答ありがとうございます。

ご指摘の「リレーションシップの結合の種類のところでフィールドの連鎖更新を許可していないのではないでしょうか。」
について

<フィールドの連鎖更新を許可>にチェックしまして、再度試みましたが
メッセージ:「連鎖処理を実行できません。実行するとテーブルのキーが重複します。」が表示され、同じような状況です。

補足日時:2012/10/02 19:44
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!