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

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

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

You are not logged in.

Announcement

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


#1 2014-07-03 11:40:35

masahd
Guest

スクリプト レコードのインポートについて

MacOSX 10.9
FMP 13v3 使用しております
よろしくお願いします

「名簿」「プロジェクト」「参加者名簿」の3つのテーブルがあります

「名簿」には グループ(フィールド)F(内容は改行形式で入力) の他に 個人情報 など
「プロジェクト」には プロジェクト名F、グループF など
「参加者名簿」には プロジェクト名F、グループF その他データなど が作ってあります

「名簿」は あらかじめ人数分作ってありますが 新しい人が増える事もありますし
グループF(例:会社 プライベート 友人などの入力)は複数入力可で
人により 会社とプライベートや 友人(のみ)などあり 運用途中で プライベート(のみ)だったものが
プライベートと会社 など変更になる場合があります

「プロジェクト」は プロジェクトが起ちあがった時に 1プロジェクト 1レコードで作成します
プロジェクト名Fと それに関するグループF(1つのみ 複数は無いです)を入力後
スクリプト(ボタン押)で ここのグループFで入力したグループを含む「名簿」のグループFの人数分
「参加者名簿」に該当人数分のレコードとしてインポートしたいと思います

マニュアルより 関連レコードへ移動させてから レコードをインポートさせる 事まではわかり

リレーションを
名簿レコード2         プロジェクトレコード       (参加者名簿レコード)
グループF    ー = ー  グループF       
               (プロジェクト名F    ー = ー  プロジェクト名)
の様にはって (()内は関連レコードへ移動とは関係ないですが 現在このようにもはってあります)   
「プロジェクト」から ボタンで 該当するグループが入力されている人を抽出することまでは出来ましたが

次の レコードのインポートスクリプトの オプションの設定や
インポート順の指定で 関連レコード(インポート元 インポート先)の設定が理解できません

それとプロジェクト途中で 新しい人が入った場合や グループが変更になり該当する人が増えた場合には
(今回 減る場合は問題ありません)
既存の参加者名簿に追加する場合には また違うスクリプトで 新しく該当する人のみインポートして参加者名簿レコードを
増やす事は出来るのでしょうか?

よろしくお願いします

#2 2014-07-03 11:49:59

旅人
Member

Re: スクリプト レコードのインポートについて

読み切れてないけど
関連レコード(のみ)移動したら関連テーブルは関連レコードのみが対象レコードになりますから
そのテーブルから新規レコードとしてインポートするだけでは?
名簿のグループFの複数入力可というのがひっかかるけど。

Offline

#3 2014-07-03 12:28:45

masahd
Guest

Re: スクリプト レコードのインポートについて

旅人様 ありがとうございます

「名簿」3レコード グループFには
Aさん 会社
Bさん プライベート 友人 (複数の例)
Cさん 友人 プライベート 会社 (複数の例)

「プロジェクト」3レコード プロジェクト名FとグループFには
1 会議  会社
2 バーベキュー 友人
3 旅行 プライベート

の時に「参加者名簿」には
1のプロジェクトの時には
Aさん 会議
Cさん 会議 の2レコード

2のプロジェクトの時には
Bさん バーベキュー
Cさん バーベキュー

3のプロジェクトの時には
Bさん 旅行
Cさん 旅行
のレコードを作りたいと思います


「そのテーブルから新規レコードとしてインポートするだけでは?」
その時 レコードのインポートの インポート順の指定で 関連レコード
はどのように設定すればよろしいでしょうか?
インポート元:名簿レコード2  インポート先:参加者名簿レコードとしたところ
3のプロジェクトの時には
関連レコードへ移動(一時停止)では Bさん Cさんの2レコードが抽出された状態から
続行を押すと
Aさん Bさん Cさんの3レコードが出来てしまいました

あと1のプロジェクトの参加者名簿を作成した後に
BさんのグループFが変更され プライベート 友人 会社 となり(会社が追加)
された場合には 若しくは
「名簿」に Dさん 会社 が追加された場合
1のプロジェクトの参加者名簿
Aさん 会議
Cさん 会議 の2レコードに
Bさん 会議 のレコードを追加したいのですが
(Dさん 会議)

この場合は インポート順の指定の中の
一致しないデータを新規レコードとして追加する だと思うのですがどのように使えば良いのでしょうか?

よろしくお願いします

#4 2014-07-03 12:51:27

旅人
Member

Re: スクリプト レコードのインポートについて

お、グループF がどちらも改行リストでもORで関連レコード移動するのか。知らなかったような・・・
例えばグループFが会議で関連レコード移動したら名簿はグループFに会議が含まれる
人だけにはなっているのですよね。
でしたら
レイアウトを参加者名簿に切り替えて、レコードのインポートで自分自身のファイルを指定して
インポート元は名簿、インポート先は参加者名簿です。

レイアウトを参加者名簿に切り替えるのを忘れないように。
それとスクリプトではなく手動でテストして下さい。

Offline

#5 2014-07-03 16:31:19

masahd
Guest

Re: スクリプト レコードのインポートについて

旅人様 ありがとうございます

例えばグループFが会議で関連レコード移動したら名簿はグループFに会議が含まれる
人だけにはなっているのですよね。

そうです


レイアウトを参加者名簿に切り替えて、レコードのインポートで自分自身のファイルを指定して
インポート元は名簿、インポート先は参加者名簿です。
レイアウトを参加者名簿に切り替えるのを忘れないように。
それとスクリプトではなく手動でテストして下さい。

ありがとうございます バッチリ出来ました!

ポイントはレイアウトを切り替える事だったんですか

それならば 「名簿」でグループFや 新しい人が追加になった場合も
(まだ試せておりませんが)
関連レコードへ移動で「名簿」を抽出したように
もう一度関連レコードへ移動で 「参加者名簿」をプロジェクト名で抽出して インポートしてやれば良いのでしょうか?
ここで
一致しないデータを新規レコードとして追加する
を使ったスクリプトを新しく作れば良いのでしょうか?

↑このあたり 今から少しいじってみたいと思います

お忙しい所申し訳ありませんが もう少しお力お貸し頂けないでしょうか
よろしくお願いします

#6 2014-07-03 16:53:46

旅人
Member

Re: スクリプト レコードのインポートについて

更新インポートは分かりにくいかも。
参加者名簿で「プロジェクト名(プロジェクトIDがいい)&参加者名」というテキスト計算フィールド
を作ってフィールドオプションで「常時」「ユニーク」制限をしておけば、何回新規レコードとしてイ
ンポートしても重複することはありません。

Offline

#7 2014-07-03 17:37:20

masahd
Guest

Re: スクリプト レコードのインポートについて

更新インポートは分かりにくいかも。

はい・・・ 私では全く理解できません


参加者名簿で「プロジェクト名(プロジェクトIDがいい)&参加者名」というテキスト計算フィールド
を作ってフィールドオプションで「常時」「ユニーク」制限をしておけば、何回新規レコードとしてイ
ンポートしても重複することはありません。

こちらの方法で試したところ 完璧なものになりました!!!

今回 レコードのインポートや ↑の裏技的レコードのインポート方法
大変勉強になりました 旅人様 どうもありがとうございました

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 10 queries executed - Memory usage: 581.59 KiB (Peak: 586.48 KiB) ]