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

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

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

You are not logged in.

Announcement

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


#1 2015-06-15 16:32:17

梅雨
Guest

リレーションで困っています

ファイルは仕様書と表示の二つがあり商品コードでリレーションしています。

下記のようなことをやりたくて色々試しているのですが、上手くいきません。
ご指導お願い致します。
サーバ12、Pro12、Go12です。

1.仕様書でレコード作成や修正や削除すると、表示にそのレコードを表示して削除もされる。
2.表示から仕様書の図面番号の記載や修正が可能。
3.表示からは仕様書のレコード削除ができない。

#2 2015-06-15 17:07:30

holi
Guest

Re: リレーションで困っています

リレーションを編集するところで、
”表示”側にだけ
「このリレーションシップによるレコードの作成を許可する」
「他方のテーブルでレコードが削除されたときにこのテーブルの関連レコードを削除する」の項目にチェックを入れる。

”仕様書”側に”表示”テーブルを表示&作成するためのポータルを設置して、”表示”テーブル側には必要な”仕様書”のフィールドを配置する。

#3 2015-06-15 17:28:36

チポ
Member

Re: リレーションで困っています

1.仕様書でレコード作成や修正や削除すると、表示にそのレコードを表示して削除もされる。

仕様書で新規レコードを作った商品コードは表示には無いんですよね。
その際に表示に新規レコードを作るには、スクリプトが必要ですね。


2.表示から仕様書の図面番号の記載や修正が可能。

これは危険では?
仕様書が簡単に書き換えられてもいいのでしょうか?

Offline

#4 2015-06-16 15:12:28

梅雨
Guest

Re: リレーションで困っています

holiさま
仕様書ファイルで新規レコード作成しましが、表示ファイルには新規レコードが表示しません。


チポさま
仕様書で新規レコードを作った商品コードは表示には無いんですよね。
その際に表示に新規レコードを作るには、スクリプトが必要ですね。

商品コードは仕様書で初めて作成することになっているため、表示にはありません。
仕様書で新規レコード作成のタイミングで、表示にもそのレコードを作成するスクリプトですよね。
方法を教えて下さい。


これは危険では?
仕様書が簡単に書き換えられてもいいのでしょうか?

二つのファイルは管理部署が異なっており、図面番号は表示ファイルで入力することになっています。
間違ってレコード削除しても仕様書のレコードを削除出来ない事が必要です。

#5 2015-06-16 16:22:33

チポ
Member

Re: リレーションで困っています

例えば、
スクリプトで
  フィールド設定 [表示::商品コード ; 仕様書::商品コード]

として、
仕様書の商品コードにスクリプトトリガ
  OnObjectExit
で実行。

などでいいでしょう。


二つのファイルは管理部署が異なっており、図面番号は表示ファイルで入力することになっています

仕様書でも、表示でも商品コードはユニークですか?

とすれば、
一つのファイルでレイアウトを変えるだけで良さそうですが。

表示で入力できるのは図面番号だけなら、
他は入力できないようにした方がいいでしょうね。

Offline

#6 2015-06-16 16:40:32

梅雨
Guest

Re: リレーションで困っています

チポ wrote:

例えば、
スクリプトで
  フィールド設定 [表示::商品コード ; 仕様書::商品コード]

として、
仕様書の商品コードにスクリプトトリガ
  OnObjectExit
で実行。

などでいいでしょう。


二つのファイルは管理部署が異なっており、図面番号は表示ファイルで入力することになっています

仕様書でも、表示でも商品コードはユニークですか?

とすれば、
一つのファイルでレイアウトを変えるだけで良さそうですが。

表示で入力できるのは図面番号だけなら、
他は入力できないようにした方がいいでしょうね。

商品コードはユニークです。
当初は一つのファイルでしたが表示レイアウトで間違ってレコード削除したので、対応策として別ファイルにすることを思いつきました。
表示レイアウトでレコード削除できない方法があれば一番良いのですが。

#7 2015-06-16 17:06:44

チポ
Member

Re: リレーションで困っています

アクセス権の設定で、
表示のセクションではレコード削除できないようにしたらいいでしょう。

レイアウトの表示も制限できますね。

Offline

#8 2015-06-16 17:55:42

holi
Guest

Re: リレーションで困っています

梅雨 wrote:

holiさま
仕様書ファイルで新規レコード作成しましが、表示ファイルには新規レコードが表示しません。

ああ、すいません。説明を端折ってしまいました。

仕様書ファイル側に置いてあるポータルの中の、表示ファイル側のフィールドに入力すると、表示ファイル側に自動で新しいレコードが作成されます。
仕様書ファイル側で新規レコードボタンを押しても増えるのは仕様書ファイルのレコードだけです。

例えば表示ファイル側に表示チェックというフィールドを作って、それを仕様書ファイル側の1行ポータルの中に置きます。
適当な値一個(「表示」とか)の値一覧を作ってコントロールスタイルをラジオボタンに設定しておけば、
そのボタンにチェックを入れたときに新規レコードが作成されます。

ですが話を聞いているとこの場合はチポさんの仰る通りアカウントを作ってのアクセス権で対応した方が良さそうですね。

#9 2015-06-17 14:31:38

梅雨
Guest

Re: リレーションで困っています

チポ wrote:

アクセス権の設定で、
表示のセクションではレコード削除できないようにしたらいいでしょう。

レイアウトの表示も制限できますね。


アクセス権でレコード削除できないようにしました。

新たな問題です。
仕様書の新規レコードは作成手間を省くためにレコード複製し、商品コードを修正しています。
その場合は、図面番号も複製されてしまいます。
複製されない方法はないでしょうか。

#10 2015-06-17 15:37:10

チポ
Member

Re: リレーションで困っています

レコード複製

一部のフィールドを選択して、コピーしない。

これは無理でしょう。


スクリプトで
  レコード複製
  図面番号削除

としたらいかがでしょう。

Offline

#11 2015-06-17 16:36:34

梅雨
Guest

Re: リレーションで困っています

チポ様
色々試して、偶然ですが希望にそうように出来たと思います。
初心者なので作り方に確認はありません。問題はないでしょうか。

仕様書ファイルには商品コードフィールドを作成。
表示ファイルには商品コードと図面番号フィールドを作成。
仕様書ファイルと表示ファイルは商品コードでリレーション
表示ファイルのリレーション編集「レコードの作成を許可」「関連レコードを削除」にチェック
仕様書に図面番号フィールドを配置

図面番号の入力は、仕様書ファイル内に表示グループが利用するレコード削除出来ないレイアウトを利用。

仕様書ファイルでの新規レコード作成はレコード複製しますが商品コードはユニークな値のため変更。
そうすると図面番号が消えます。
消えた図面番号は表示グループが入力。

#12 2015-06-17 17:30:58

チポ
Member

Re: リレーションで困っています

あれ?

ファイルを一つにしないのですか?

一つにすることをお勧めしますよ、強く!

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.047 seconds, 10 queries executed - Memory usage: 547.9 KiB (Peak: 568.44 KiB) ]