みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
win7 fm15です。
値一覧にフィールド値を設定してAテーブルのaフィールド,bフィールド,cフィールドにポップアップメニューとして設定しています。
また値一覧用にBテーブルにdフィールド,eフィールド,fフィールドを用意しています。
aフィールド,bフィールド,cフィールドにポップアップメニューとして設定した値一覧にはdフィールド,eフィールド,fフィールドを設定しています。
またaフィールド,bフィールド,cフィールドはインスペクタで「他の値の入力を許可」にチェックを入れています。
自己リレーションを使用して
Aテーブル::a=Bテーブル::d
Aテーブル::a=Bテーブル::d and Aテーブル::b=Bテーブル::e
としているのでbフィールド,cフィールドは動的値一覧となっています。
aフィールドでその他を選択し、固有の値を入力した時、その値をdフィールドで検索して、
重複していなければBテーブルのレコードにaフィールドに入力した値を追加するにはどうすればいいでしょうか?
また同様の動作をbフィールド,cフィールドで行うのはどうすればよろしいでしょうか?
https://fm-aid.com/bbs2/viewtopic.php?id=1799
上を参考にしましたがうまくいかず困っています。
宜しくお願いします。
Offline
> Aテーブル::a=Bテーブル::d
> Aテーブル::a=Bテーブル::d and Aテーブル::b=Bテーブル::e
これをリレーション1、2とします
値一覧が三つあって、
1. Bテーブル::dフィールド の静的値一覧
2. Bテーブル::eフィールド リレーション1の動的値一覧
3. Bテーブル::fフィールド リレーション2の動的値一覧
ということですか?
Offline
> Aテーブル::a=Bテーブル::d
> Aテーブル::a=Bテーブル::d and Aテーブル::b=Bテーブル::e
これをリレーション1、2とします値一覧が三つあって、
1. Bテーブル::dフィールド の静的値一覧
2. Bテーブル::eフィールド リレーション1の動的値一覧
3. Bテーブル::fフィールド リレーション2の動的値一覧ということですか?
そうです
分かりに辛くてすみません
Offline
新たに三つのフィールドを照合するリレーションを作り、
三つのフィールドに入力した時点で関連レコードがなければ、
新規レコードにその三つの値を入力。
この考えでいいのでは。
Offline
すみません
三つのフィールドを照合するリレーション
とはどういうことなのでしょうか?
Offline
Aテーブル::a=Bテーブル::d
and
Aテーブル::b=Bテーブル::e
and
Aテーブル::c=Bテーブル::f
このリレーションで関連レコードがなければ
新しい値、または新しい組み合わせがあるということですね
実際には、リレーションシップグラフで
Bテーブル 3
の様になりますかね。
Offline
Aテーブル::a=Bテーブル::d
and
Aテーブル::b=Bテーブル::e
and
Aテーブル::c=Bテーブル::f
つくってみましたが
"三つのフィールドに入力した時点で関連レコードがなければ"
このスクリプトが分かりません。
すみません教えて下さい。
Offline
前記のリレーションの設定で、Bテーブルの新規レコード作成に許可を与えておきます。
以下の「Bテーブル」は新たなリレーションのテーブル名です。
スクリプト
If [ not Count ( Bテーブル::d ) ]
フィールド設定 [ Bテーブル::d ; Aテーブル::a ]
フィールド設定 [ Bテーブル::e ; Aテーブル::b ]
フィールド設定 [ Bテーブル::f ; Aテーブル::c ]
End If
このスクリプトを cフィールド のスクリプトトリガ
OnObjectExit
で実行します。
Offline
解決できました。
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 563.66 KiB (Peak: 582.48 KiB) ]