初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2017-10-06 16:23:56

yumihira
Member

<リレーション>同条件なのに動きが異なる理由

いつもお世話になっております。

FileMaker Pro Ver.16
Windows7

以下、3つのテーブルがあります。
顧客テーブル(顧客名や住所等が登録されている)
Aテーブル(ポータルを挿入し、データを入力)
Bテーブル(Aテーブルと同じポータルを挿入。ポータルフィルタで顧客と日付によってデータ表示を変えることができる)

それぞれのリレーション関係は次のとおりです。また、いずれも「レコードの作成を許可する」にチェックが入っています。
Aテーブル(顧客ID)=顧客テーブル(顧客ID)=Bテーブル(顧客ID)

この状態でAテーブルに新規レコードを作っても、顧客テーブルとBテーブルには何の影響もありませんが、
Bテーブルで新規レコードを作り顧客名を入れるとAテーブルと顧客テーブルにも自動で新規レコードができてしまいます。
ちなみに、A、顧客テーブルともに自動作成されたレコードはすべてのフィールドが空白の状態です。

また、「レコードの作成を許可する」のチェックをはずすと、Bテーブルで新規レコードに顧客名を入れる際「1つ以上の必要な関連レコード~~」とエラーメッセージが出ますが、Aと顧客テーブルに自動でレコードができることはありません。ちなみに、このエラーメッセージを無視しても問題なく顧客名を入れたりポータルにデータを表示することができます。(ただ、都度メッセージが出るのはストレスです・・)

AとBの顧客フィールドオプション内容や顧客名を入力する際のスクリプト等はまったく同じ条件が登録されています。

できれば、Bテーブルで新規レコードを作ってもAテーブルや顧客テーブルに新規レコードが作成されないようにしたいのですが、AとBは同じ条件なのに異なる動きをする原因がわからず悩んでいます。

お手数ですが、ご教授お願いいたします。

Offline

#2 2017-10-06 16:37:00

Moz
Member

Re: <リレーション>同条件なのに動きが異なる理由

Bテーブルに配置されているのはAテーブルの「顧客名」フィールドなのではありませんか?

レコードの作成オプションを「いずれも」設定しているのはマズいでしょう。
各テーブルのフィールドのフィールドオプション(特に顧客ID)や
リレーション構造およびそれぞれのリレーションオプションを詳細に書いてみては如何でしょう。

Last edited by Moz (2017-10-06 16:37:33)

Offline

#3 2017-10-06 16:38:12

Shin
Member

Re: <リレーション>同条件なのに動きが異なる理由

テーブルB のレイアウトで、テーブルA の顧客名フィールドを参照するようになっているためでしょう。

現実的になにを行いたいのかよくわかりませんが、顧客テーブルが顧客マスターの意味で作っているのでしたら、DB を再構成するべきかと思います。

Offline

#4 2017-10-10 13:39:04

yumihira
Member

Re: <リレーション>同条件なのに動きが異なる理由

Moz様、Shin様

返信が遅くなり申し訳ありません。
また、ご返答ありがとうございました!

お二人のコメントを参照しそれぞれ参照フィールドやオプション内容、リレーションの設定等を見直してみました。
その結果、自分でもなぜそうなったのかよくわからないのですが、逆に今まで以上に良いものができました!

非常に助かりました!「解決」にさせていただきます。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 553.8 KiB (Peak: 581.8 KiB) ]