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

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

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

You are not logged in.

Announcement

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


#1 2021-07-11 13:13:20

jjj
Member

検索をかけてレコードがなければ新規レコードを作成するとしたい場合

環境
FileMakerPro19&Server
OS:Windows10

検索をかけたレコードがなければ新規レコードを作成する、としたい場合、
計算式はどのようにすればよいでしょうか?

フィールド名:発注No

こんな感じで、If文の中で「レコードがなければ」を表現すれば良いと思うのですが、
いくつか試しているのですが、思った結果が得られません。

検索実行
If [  ★★★★]
新規レコード
End if

おわかりになる方であれば、造作もない事だと思いますが、ご教授いただければと思います。

Offline

#2 2021-07-11 16:10:10

Shin
Member

Re: 検索をかけてレコードがなければ新規レコードを作成するとしたい場合

発注番号のような一意のフィールドの検索で、私がよく使う手法は、
その検索ワードをグローバルフィールドに収納させます。(この手間は、これ以外のどの方法にしても、フィールドか変数に入力させることになるので、同じです)
そのフィールドから、発注No.へリレーションを張っておき、リレーション先の発注No. を IsValid() で評価します。0ならばリレーション先のフィールドへ発注No.を設定します。次に、関連レコードへ移動させます。
もう少し乱暴ですが手軽な方法は、リレーション先のフィールドへ発注No.を設定してしまいます。その後、関連レコードへ移動させます。レコードがあるかないかを見ないので早いですが、レコードがあった場合、書き換えを行ってしまうので、レコードの修正記録が残ってしまいます。これが気にならないのでしたら、2ステップだけですので、簡単です。

検索を行うのでしたら、Get ( 最終エラー ) でエラーを拾って、分岐します。

Last edited by Shin (2021-07-11 17:27:09)

Offline

#3 2021-07-12 09:31:34

Re: 検索をかけてレコードがなければ新規レコードを作成するとしたい場合

エラー処理[オン]
検索実行
If[Get(最終エラー)=401]
新規レコード/検索条件
End if

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.015 seconds, 7 queries executed - Memory usage: 505.67 KiB (Peak: 516.66 KiB) ]