初心者のFileMaker pro Q&A

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

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

ログインしていません。

アナウンス

Claris FileMaker Pro 19 ヘルプ
新しい質問は、新規トピック から投稿して下さい。


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

6120
メンバー

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

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

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

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



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

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

オフライン

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

Shin
メンバー

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

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

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

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

編集者 Shin (2022-09-16 10:14:20)

オフライン

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

himadanee
ゲストユーザー

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

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

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

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

himadanee
ゲストユーザー

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

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

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

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

チポ
メンバー

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

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

こんな方法も、、

オフライン

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

6120
メンバー

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

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

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

オフライン

クィック投稿

メッセージを書いて送信してください。
登録の確認

実在の人物による登録であることを確認します。

Board footer