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

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

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

You are not logged in.

Announcement

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


#1 2022-09-16 09:45:54

6120
Member

「任意の文字が含まなかったら」 if構文について

WIN 10
Pro15を使用しています。初心者です。

スクリプトを作成したいです
使用するテーブルは一つ
使用するフィールドは2つ
・年度フィールド(テキスト)
・確認フィールド(テキスト)

仮に年度フィールドで「2022」を検索して100レコード検索されたとします。
そこからloopで1レコードごとに「「確認」という文字が存在してないのであれば」というif構文を作成し動かしていきたいと思います。



※「もし確認フィールドのに「確認」という文字が存在していたら」であれば
If[PatternCount ( テーブル::確認フィールド ; "確認" )]
であるということは理解しました。今回はそのその逆の方法が知りたいのです。
※確認フィールドには業務上いろいろな文字を使用しているため「確認」という文字の存在の有無でその後の動きを変えていきたいのです。

是非ご教授よろしくお願いします。

Offline

#2 2022-09-16 10:05:47

Shin
Member

Re: 「任意の文字が含まなかったら」 if構文について

その検索の100レコードに対しての処理ですか。それともそれぞれのレコードに対しての処理ですか。

検索の後で、"確認" を含まないレコードに絞り込みをするのが簡単なのでは。
確認フィールドに "確認" を設定して、除外 とするか、スクリプトでしたら、レコードを対象外 のステップを追加します。

> ※確認フィールドには業務上いろいろな文字を使用しているため「確認」という文字の存在の有無でその後の動きを変えていきたいのです。
ということですが、その文字があるかどうかの処理は面倒です。例えば、"確認" ; "未確認" という文字が設定されるとすると、確認 で両方とも反応してしまいますので、間違いのもとです。確認フィールドを
Case ( PatternCount ( テーブル::確認フィールド ; "確認" ; "未確認" )
という計算フィールにしましょう。それら1項目ごとに有・無で1フィールド作っていかれる方が、将来的には面倒がなくなります。

Last edited by Shin (2022-09-16 10:14:20)

Offline

#3 2022-09-16 10:11:41

himadanee
Guest

Re: 「任意の文字が含まなかったら」 if構文について

論理値を逆にしたいときは、notを頭につければいいんですが、この場合はもっと素直に
If[PatternCount ( テーブル::確認フィールド ; "確認" )=0]
でしょうね。

もともとが本来なら
If[PatternCount ( テーブル::確認フィールド ; "確認" )>0]
と書くところです。論理値としては1以上なら何でも真とみなされるので「>0」を省略しているわけです。

#4 2022-09-16 10:14:23

himadanee
Guest

Re: 「任意の文字が含まなかったら」 if構文について

他の条件で何か別の処理するんでなければ、「確認」を除外で検索した方がいいのかも??

>※確認フィールドには業務上いろいろな文字を使用しているため「確認」という文字の存在の有無で
どっちにしても、「未確認」という語があっても「確認」だとみなされてしまいますが...

#5 2022-09-16 11:01:50

チポ
Member

Re: 「任意の文字が含まなかったら」 if構文について

If[PatternCount ( テーブル::確認フィールド ; "確認" )]
Else

こんな方法も、、

Offline

#6 2022-09-24 12:28:19

6120
Member

Re: 「任意の文字が含まなかったら」 if構文について

皆さまありがとうございます。
himadanee様,SHIM様
ご指摘通り、このままではよくはないですね、いままでのやり方があり、急には変えれませんでした。今後一つ一つ会社に理解を得て改善していくところです(;^_^A

himadanee様のご教授の通りで
If[PatternCount ( テーブル::確認フィールド ; "確認" )=0]で思想のスクリプトが組めました。ありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

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