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

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

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

You are not logged in.

Announcement

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


#1 2018-03-12 12:11:25

フィールド数の取得について

いつもご回答いただきありがとうございます。
現在、取引先へ提出する指示書等をFMPで管理しているのですが
新規作成入力フォームからマスタへ転記後、入力フォームの内容をすべてクリアする際
ループ処理でフィールドの総数分、処理しています。

変数を設定【$n;値:1】
loop
フィールド内容の全置換【””】
次のフィールドへ移動
変数を設定【$n+1】
   exitloop【$n=フィールド総数】
end loop

まだ運用開始から間もないため、工場よりさらに項目を追加して欲しいとの依頼があることを想定した場合
上記のような処理ではフィールドの総数(項目数)が増える度、スクリプトの書き換えを行わなくてはならないと思います。
より良い処理方法などがございましたらご意見いただければ幸いです。

【環境】
win10
FMP16

Offline

#2 2018-03-12 12:19:58

Shin
Member

Re: フィールド数の取得について

新規入力を、別のフィールドで入力させ、さらにそれを転記する処理が必須かどうかを考えてみてください。(ほとんどは、無駄な処理です)

どうしても必要な処理でしたら、同じフィールド構成のテーブルを別に作り、入力後に運用テーブルへインポートした後で、レコードを削除してしまう処理が簡単でしょう。ただ、ファイルのフラグメントが発生するので、適宜最適化がいるかも。

Offline

#3 2018-03-12 12:39:07

Re: フィールド数の取得について

shin様

いつもご回答いただきありがとうございます。

ご提案頂いた別テーブルに同じフィールド構成の入力フォームを作成する手法で行おうと思います。

別テーブルに入力フォームを作成~インポートとございますが、照合インポートとフィールド設定での転記ではどちらの処理が
より良い手法なのでしょうか?
未だ複数人での運用にまで至っていない故、処理速度等は意識したことありませんが後学のため、タイトルとはそれますが
引き続きご教示いただければと思います。

適宜最適化については私の知識にはいまだないので、勉強してみます。

Offline

#4 2018-03-12 13:26:09

Shin
Member

Re: フィールド数の取得について

直接マスターへの入力は検討されないのですか。
レイアウト上のフィールドを順番に回るには、タブ順を全てのフィールドに設定しておきます。最初のフィールドでアクティブフィールド名を取得して起き、 loop の中で、次のフィールドに移動、を行い、最初のフィールド名と同じフィールドになれば終了、というスクリプトにすればいいでしょう。

Last edited by Shin (2018-03-12 15:37:13)

Offline

#5 2018-03-12 17:00:21

mic
Member

Re: フィールド数の取得について

FieldNames という関数であるレイアウトに配置されているフィールドの一覧を取得出来るので、それと フィールドを名前で設定 ステップを使えばレイアウトにフィールド設置するだけでスクリプトの変更は不要に出来ますね。

Offline

#6 2018-03-13 13:32:50

Re: フィールド数の取得について

Shin様
ご回答ありがとうございます。
直接マスターへの入力をしていたのですが、私の立場上、外出等が多い為
同僚に編集を行わせたところ、既存のデータを間違えて編集してしまう事案があった為このような形式をとっております。
loop処理の知識を頂きありがとうございます。
早速、試行させて頂きます。

mic様
ご回答ありがとうございます。
使用したことがない関数なので、未だどのような動作をするのかピンとこないですが
フィールド名を取得してくるとあるので何かに応用できそうですね。
是非、こちらも試行させて頂きたく思います。

お二人ともご回答本当にありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.023 seconds, 7 queries executed - Memory usage: 513.21 KiB (Peak: 517.75 KiB) ]