ID非公開

2020/10/15 11:08

33回答

accessについて教えてください。

補足

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14233284569?post=1 回答してくださった皆様ありがとうございます。 こちらで質問しなおしましたのでお付き合い頂きたいです。 宜しくお願い致します。

Microsoft Access20閲覧

ベストアンサー

0

ID非公開

質問者

2020/10/19 13:45

お返事ありがとうございます。 遅くなり申し訳ありません。 まずリレーションシップを組もうとしたところ 【支店コード】.銀行コード⇔顧客金融テーブル.銀行コード(一対多) 【支店コード】.支店コード⇔顧客金融テーブル.支店コード(一対多) こちらのリレーションシップでエラーが出ました。 エラー内容は「主テーブルで参照されている固有のインデックスがありません」です。 支店マスタでは銀行コードと支店コードの2つに主キーを設定しています。 また支店マスタのてテーブルは --------------------------- 銀行コード 支店コード  支店名   1      1   東京営業部   1      4   丸の内中央       ・        ・        5      1   本店     5      2   丸の内 のようなテーブルになっております。

その他の回答(2件)

0

>顧客金融テーブルの銀行名と支店名にそれぞれのコードを割り当てる 銀行名から銀行コードへの対応表と支店名から支店コードへの対応表を用意して、銀行名/支店名の変更前後が同一コードになる場合は下記のようになります。 ■銀行コード変換テーブル |銀行名...|銀行コード| |新銀行名|11111111| |旧銀行名|11111111| : : ■支店コード変換テーブル |支店名...|支店コード| |新銀行名|222.........| |旧銀行名|222.........| : : 顧客金融テーブルと各コード変換テーブルを銀行名、支店名で結合した「更新クエリ」を2つ作り、それぞれの更新クエリで各コードをセットするようにして、実行後に各コードがセットされて全行正しいコードで埋まっていることをを確認します。

ID非公開

質問者

2020/10/16 9:03

ありがとうございます。 銀行コードを振り分けることはできました。 しかし、銀行コードと支店コードはマスタとして登録しているため顧客金融テーブルにない銀行などもあります。 リレーションシップを結ぼうと思うと、参照整合性の規則に違反していると出てしまいます。 その場合どうしたらよいのでしょうか?

0

>【銀行コード】 >銀行コード、銀行名 >【支店コード】 >銀行コード、銀行名、支店コード、支店名 【支店コード】テーブルの銀行名は冗長ですので不要です。 >顧客金融テーブルには >顧客名、顧客コード、銀行名、支店名、銀行口座 銀行コード、支店コードで保持すべきですね。 銀行名、支店名から変換すべきですが 合併前の銀行名が入っていたり 閉鎖された支店名が入っていたり 名前の入力ミスなど すんなり変換が出来ないと思います。 そこらへんのデータ整理が必要では?

ID非公開

質問者

2020/10/15 11:30

ありがとうございます。 やはり、銀行コードと支店コードで保持すべきですよね。 顧客金融テーブルの銀行名と支店名にそれぞれのコードを割り当てるような関数などはご存知でしょうか? 宜しければ教えて頂きたいです。 >閉鎖された支店名が入っていたり 名前の入力ミスなど すんなり変換が出来ないと思います。 こちらのほうももう少し考えてみます。 アドバイスありがとうございます