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

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

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

You are not logged in.

Announcement

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


#1 2020-06-10 16:03:55

mayrinrin
Member

ポータルの値をコピーしたい

こちらURLにあるような事をしたいと思っています。
https://xxup.org/file/ixfay.png

Filemakerを始めて1ヶ月なのですが、全然わからないので教えて下さい。他の言語は経験しています。

社員マスタと社員マスタコピー先という2つのテーブルがあったとします。
社員名同士でリレーションが組まれています。

レイアウト上に2つのポータルが表示されています。1つは社員マスタ、もう一つは社員マスタコピー先です。
社員マスタにはチェックボックスを付けることができます。チェックボックスが付いたもののみ、社員マスタコピー先のポータルへコピーしたいです。

SQLだとInsert into 社員マスタコピー先 select * from 社員マスタ where ...でやれるのですが、
filemakerの場合どうしたらよいでしょうか?

または、社員マスタポータルから1行ずつ見て、チェックが入っているものは社員マスタコピー先に移動ということを
スクリプトでやったらいいような気がしますが、そのスクリプトが全くわかりません。

どうぞよろしくおねがいします。

Offline

#2 2020-06-10 16:48:03

Moz
Member

Re: ポータルの値をコピーしたい

レコードをコピーする目的は何でしょうか?

目的によっては同じ構造のテーブルを2つ持つ必要はありません。

Offline

#3 2020-06-10 18:02:11

koeda
Member

Re: ポータルの値をコピーしたい

ExecuteSQL()関数を使って、SQLでINSERT INTO ... SELECTも実行できますよ。
リファレンスの18〜19ページ参照。
https://fmhelp.filemaker.com/docs/16/ja … erence.pdf
日本語のテーブル名/フィールド名は""で囲うのがルールです。

スクリプトでも実現可能ですが、2つのテーブルをリアルタイムに同期するのが望ましいのか
何かのタイミングで一括コピーすれば良いのか、目的によって作りは変わると思います。
上記SQLを使うなら一括コピーでしょうか?

Offline

#4 2020-06-10 18:36:15

Moz
Member

Re: ポータルの値をコピーしたい

ExecuteSQL 関数では INSERT はサポートされていません。
SQL を実行ではサポートされていますが。

Offline

#5 2020-06-10 18:46:54

koeda
Member

Re: ポータルの値をコピーしたい

Mozさん、ご指摘ありがとうございます。
リファレンスの最初(5ページ)に「FileMaker Pro の [ExecuteSQL] 関数は SELECT ステートメントのみをサポートします。」とありますね。

Last edited by koeda (2020-06-10 18:48:05)

Offline

#6 2020-06-10 19:11:05

Shin
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.008 seconds, 8 queries executed - Memory usage: 559.6 KiB (Peak: 569.89 KiB) ]