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

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

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

You are not logged in.

Announcement

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


#1 2023-10-05 21:47:19

ひとし
Guest

ifとcase関数

お世話になります。
win11、PRO20です。
条件分岐を使ってそれぞれ違った請求書書式を印刷したいと思っています。
支払い方法フィールドに項目が口座振込、郵便振替、集金、引落の4種類があり、ドロップダウンで選択しています。
請求書書式も口座振込、郵便振替、集金、引落の4種類があります。

もし、支払い方法フィールドに項目が”口座振込”だったら口座振込印刷[スクリプト]を実行 のように条件分岐を使用し、4種類の印刷
を自動で実行したいと思っています。ifかcase関数でできそうですが、どのようなスクリプトを作ればよろしいのでしょうか?

よろしくお願いいたします。

#2 2023-10-05 23:04:59

Shin
Member

Re: ifとcase関数

オーソドックスには、
If ( 支払い方法 = ”口座振込” )
   レイアウト切り替え
   印刷
elseIf ( 支払い方法 = “郵便振替” )
   レイアウト切り替え
   印刷

と言うふうにするのですが、レイアウト切り替えを計算式で行うと、スクリプトを分岐せず、色々応用が効きます。
例えば、レイアウト名に支払い方法名を埋め込み、そのスクリプトを、f支払い方法 を引数として呼び出せば、スクリプト引数から切り替えるレイアウト名を指定できます。
または、支払い方法をマスターでコードかしておくと、Choose関数で指定することもできます。

Offline

#3 2023-10-05 23:34:34

ひとし
Guest

Re: ifとcase関数

Shinさん
有難うございました。
やってみます!

#4 2023-10-07 10:40:30

ひとし
Guest

Re: ifとcase関数

たびたびすいません。

先日Shinさんに教えていただいた方法で無事、条件分岐印刷が成功いたしました。
ただ、1レコード分は出来たのですが、欲を出して一括印刷ボタンを作成し全レコード分を印刷しようとしたら
すべて同じ請求書レイアウトで印刷されました。

一括印刷スクリプトは〔印刷〕の現在のレコードから対象レコードに切替ただけです。

これではダメなんでしょうか?

#5 2023-10-07 12:36:53

Shin
Member

Re: ifとcase関数

一括印刷は無理ですね。
するなら、支払い方法で検索して印刷、を繰り返します。
または、1レコードずつ loop で処理していきます。

Last edited by Shin (2023-10-07 12:56:24)

Offline

#6 2023-10-07 13:54:14

ひとし
Guest

Re: ifとcase関数

Shinさん
承知いたしました。
有難うございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 551.82 KiB (Peak: 579.48 KiB) ]