初心者のFileMaker pro Q&A

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

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

ログインしていません。

アナウンス

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


#1 初心者のFileMaker pro Q&A ≫ 集計表の作り方の基本的な考え方について ≫ 2023-08-21 21:16:49

6120
返信: 2

win10
pro15を使用しています。初心者です。

インボイスに伴い1レコードのレイアウトに下記のような請求書を作成しようと思っています。


項目   税率  税抜金額   税額    金額
りんご   10   1000    100     1100
みかん   10   1500    150     1650
メロン   10   1100    110     1210



(10行)
合計        3600    360     3960



ファイルメーカーにおいてこのようなエクセルのような表計算を1レコード上に作成するときは、

①入力する数だけのフィールドを作成して根気よく並べていくのか?(この場合は5列×10行+3で53フィールド)
②それとも他にクロス集計?のような手法を使うのが一般的なのか?(少ないフィールドで再現できるのか?)
③それとも請求項目ごとに1レコードに入力して(この場合は10レコード作成して)リレーションなどを駆使して一つのレコードに再現するのが一般的なのか?
※大事なデータなので繰り返しフィールドは活用しない方がいいことは認識しています。

今までは①のやり方で根気よく作っていましたが本来の作り方ではないのでは?とつくづく思っています。

初心者で不勉強ですみません。データベースを作成する基本的な考え方かと思いますがよくわかっていません。
是非ご教授よろしくお願いします。

#2 Re: 初心者のFileMaker pro Q&A ≫ 関数が多すぎるというエラー処理について ≫ 2022-11-05 18:56:56

SHIN様
できました。
括弧の数が合っていないということだったとは・・構文もすごくすっきりなりました。<m(__)m>
皆さまありがとうございます。

#3 Re: 初心者のFileMaker pro Q&A ≫ 関数が多すぎるというエラー処理について ≫ 2022-11-05 11:49:37

himadaneeさん
ご回答ありがとうございます。
エラー説明不足でした。すみません。

関数ごとに引数の数は決まってるんですね・・・

Let ( [
nM日数=Date ( Month ( 入居年月日 ) +1 ; 1 ; Year ( 入居年月日 ) )-1
] ;
Case ( 駐車代="" or 駐車代=0 ; "" ;
Day ( 入居年月日 )=1; 駐車代;
駐車場消費税なし="" ; Int ((Truncate(駐車代/1.1/30;3)*(nM日数-(入居年月日-1))*1.1 );  ←ここの「;」が選択状態になります
Int ((Truncate(駐車代/30;3)*(nM日数-(入居年月日-1)
)))

上記の個所が選択状態になります。
ではこの構文は引数をなんとかして減らすしか方法はないということですね?(;^_^A

#4 Re: 初心者のFileMaker pro Q&A ≫ 関数が多すぎるというエラー処理について ≫ 2022-11-05 11:10:34

himadaneesa様
ありがとうございます。
なるほど仰せの通りにcaseを使うとすっきりしました。大変ためになりました。
しかし
それでも「関数中の引数が多すぎます」と出てきてしまいます・・・
どうしたらよろしいでしょうか?
構文が間違っているのでしょうか?引数の使い過ぎということでしょうか?
ご教授よろしくお願いします。

#5 初心者のFileMaker pro Q&A ≫ 関数が多すぎるというエラー処理について ≫ 2022-11-05 09:13:49

6120
返信: 6

win10
pro15を使用しています。長文すみません。


使用するテーブルは一つ
使用するフィールドは以下の通り

・入居年月日(日付)
・駐車代(数字)
・駐車場消費税なし(テキストフィールド)
・初月日割り計算(計算、(結果は数字))


※現在、駐車代フィールドには「10,000」や「11,000」など税抜き税込すべての結果数字を入力しています。
※駐車場消費税なしフィールドはチェックボックスセットになっており「*」であれば税金不要「””」であれば税金必要という意味です。


(したいこと)初月日割り計算フィールドに以下の計算式を入れて入居初月の日割り駐車場代を計算したいのです。


Let ( [
nM日数=Date ( Month ( 入居年月日 ) +1 ; 1 ; Year ( 入居年月日 ) )-1
] ;
If ( 駐車代="" or 駐車代=0 ; "" ;
If ( Day ( 入居年月日 )=1; 駐車代;
If ( Day ( 入居年月日 )<>1  and 駐車場消費税なし="" ; Int ((Truncate(駐車代/1.1/30;3)*(nM日数-(入居年月日-1))*1.1 )


)))))


上記はうまく計算できます。これに

If ( Day ( 入居年月日 )<>1  and 駐車場消費税なし<>"" ; Int ((Truncate(駐車代/30;3)*(nM日数-(入居年月日-1)) )
を加えたいのですが・・・

Let ( [
nM日数=Date ( Month ( 入居年月日 ) +1 ; 1 ; Year ( 入居年月日 ) )-1
] ;
If ( 駐車代="" or 駐車代=0 ; "" ;
If ( Day ( 入居年月日 )=1; 駐車代;
If ( Day ( 入居年月日 )<>1  and 駐車場消費税なし="" ; Int ((Truncate(駐車代/1.1/30;3)*(nM日数-(入居年月日-1))*1.1 );
If ( Day ( 入居年月日 )<>1  and 駐車場消費税なし<>"" ; Int ((Truncate(駐車代/30;3)*(nM日数-(入居年月日-1)) )
))))))

とすると「関数が多すぎる」というエラーが出てしまします。

どのようにしたらよろしいでしょうか?
説明足らずでしたらご指摘お願いします。
どうぞご教授よろしくお願いします。

#7 初心者のFileMaker pro Q&A ≫ チェックボックスにチェックを入れるだけのスクリプト方法 ≫ 2022-09-29 15:00:00

6120
返信: 2

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

スクリプトを作成方法ついて質問です。
使用するテーブルは一つ(Aテーブル)
使用するフィールドは一つ

フィールドの内容
・フィールド名;チェックフィールド
・フィールドの種類;テキストフィールド
・コントロールスタイル;チェックボックスセット
・値一覧名;「チェック」
・値;カスタム値を使用
・値リストは「有」 のみ    です。

スクリプトの中で、純粋にチェックボタンにチェックを入れるだけの作業を入れたいのですがやり方がわかりません。
つまり   □有    →  ☑有  としたいのです。     
フィールド設定でしょうか?
ご教授お願いします。

#8 Re: 初心者のFileMaker pro Q&A ≫ 入力した日付によってスクリプト時にカスタムダイアログを表示させたい。 ≫ 2022-09-29 14:41:30

皆さまありがとうございます。
himadanee様
>... は検索時の範囲記号なので、計算式には使えません。
→なるほど勉強になりました。
Moz様
ありがとうございます。仰せの通りでできました。
Shin様
>Day ( self ) < 16 としておき、エラー時のコメントに、「月後半です」を設定
→そのようなテクニックを初めて知りました。これは必須ですね・・・・今後活用させて頂きます。

#9 初心者のFileMaker pro Q&A ≫ 入力した日付によってスクリプト時にカスタムダイアログを表示させたい。 ≫ 2022-09-24 13:35:05

6120
返信: 4

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

スクリプトを作成したいです
使用するテーブルは一つ(入居者管理テーブル)
使用するフィールドは1つ
・解約日フィールド(日付)

解約日にもし「2022/9/16」「2022/10/17」「2022/11/25」「2022/12/16」など、16日~月末日が入力されている場合、スクリプト実行した際にカスタムダイアログを表示させ、"月後半です"と表示させたいと考えております。

私なりに下記のように作成しました。

If[Date (Month (入居者管理::解約日) ; 16; Year (入居者管理::解約日)) &"..."&Date (Month (入居者管理::解約日)+1 ; 1; Year (入居者管理::解約日)) - 1]
カスタムダイアログを表示["月後半です"]

しかし上記では、「2022/9/10」「2022/10/3」など、月前半でも(つまりどんな日付でも)カスタムダイアログが表示されてしまします。

解約日に16日~月末の日付を入力し、その後のスクリプト発動時に"月後半です"と表示させるためにはどのようにすればよろしいでしょうか?

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

#10 Re: 初心者のFileMaker pro Q&A ≫ 「任意の文字が含まなかったら」 if構文について ≫ 2022-09-24 12:28:19

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

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

#11 初心者のFileMaker pro Q&A ≫ 「任意の文字が含まなかったら」 if構文について ≫ 2022-09-16 09:45:54

6120
返信: 5

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

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

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



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

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

#12 Re: 初心者のFileMaker pro Q&A ≫ コメントアウト(アンコメント)するような機能はありますか? ≫ 2022-09-16 08:45:58

himadanee様
チポ様
ご回答ありがとうございます。
Advanced限定機能ということは残念でした(泣)。
気を付けて組成していきたいと思います。

#13 初心者のFileMaker pro Q&A ≫ コメントアウト(アンコメント)するような機能はありますか? ≫ 2022-09-15 08:02:23

6120
返信: 4

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

スクリプト構文作成中に
一旦保留したい(稼働させたくない)箇所にコメントアウト(アンコメント)するような機能はありますか?
vbaでいうところの「'」のことです。
ご教授よろしくお願いします。

#14 Re: 初心者のFileMaker pro Q&A ≫ 任意の文字を含む if構文について ≫ 2022-09-14 18:13:32

Shin様
ありがとうございます。解決しました。勉強になりました。応用して活かしていきます。
<m(__)m>

#15 初心者のFileMaker pro Q&A ≫ 任意の文字を含む if構文について ≫ 2022-09-14 16:07:50

6120
返信: 2

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

スクリプトを作成したいです
使用するテーブルは一つ
使用するフィールドはふたつ
・Aフィールド(テキスト)
・解約フィールド(テキスト)

・もしAフィールドのに「まで」という文字が入っていたら
→解約フィールドに「解約済」という文字が入力されるようなスクリプトを作成したいです。

※Aフィールドにはいろいろなパターンの文字が入っています
「田中太郎 2021/10/15まで」
「田中太郎
2021/10/15まで」  ←段落
「田中太郎2021/10/15まで」
「田中太郎 2021/10/15までで解約」
などです。


以下のようなスクリプトを考えましたがうまくいきません。

レコード/検索条件/ページの移動[最初の]
Loop
If [テーブル::Aフィールド = ”まで”]
  フィールド設定[テーブル::解約フィールド=”解約済”]
End If

  レコード/検索条件/ページの移動[次の;最後まできたら終了]
End Loop

*が使えない、patterncount関数などでやらなければならないかと思いますが分かりません。
是非ご教授よろしくお願いします。

#16 Re: 初心者のFileMaker pro Q&A ≫ テーブル間のエラー検索、エラー表示について ≫ 2022-08-19 11:15:36

すみません誤ってクロス集計という文字を入れてしましましたがクロス集計は関係ありません。

#17 初心者のFileMaker pro Q&A ≫ テーブル間のエラー検索、エラー表示について ≫ 2022-08-19 11:13:50

6120
返信: 2

Win 11
FMPro 15 を使用しています。初心者です。

クロス集計
・部屋テーブル・・・フィールド3つ  ①物件IDフィールド(テキスト) ②部屋号数フィールド(テキスト) ③入居者氏名フィールド(テキスト)

・物件DBテーブル・・・フィールド1つ  ①物件IDフィールド(テキスト)

お互い物件IDでリレーションしています。

物件DBテーブルのレコードを誤って削除してしまった場合、(つまり片方のテーブルにしかないIDが存在した場合)にカスタムメッセージで警告表示が出るような設定ができればなと思っていますが可能でしょうか?

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

#18 Re: 初心者のFileMaker pro Q&A ≫ クロス集計について ≫ 2022-08-19 08:30:07

Shin様
大変勉強になり、解決できました。誠にありがとうございます。
今後このクロス集計にさらに改良を加え業務や役立ててまいります。
今後ともよろしくお願いします。<m(__)m>

#19 Re: 初心者のFileMaker pro Q&A ≫ クロス集計について ≫ 2022-08-18 07:42:58

Shin様
サンプル迄作成いただき誠にありがとうございます。大変助かりました。
繰り返しなどとても苦手としている領域でしたので今回、すごく理解を深めることができました。
一旦解決しましたがまたもう一つ質問させてください。

号数でソートしましたら理想的な形になりました。この状態から、

①町費の金額を修正をしたい場合はレイアウト1の修正したい金額のフィールド(s_町費の繰り返し位置)を押すと(レイアウト2の)その関連レコードに移動するようなスクリプトはできるものでしょうか?
②金額が入っていない繰り返し位置(つまり町費を集金していない箇所)のみ背景の色を変えることはできますでしょか?(条件付き書式でいろいろ試しましたがやり方わからずで・・・)
※質問の内容が変わってきているので別で投稿すべきかと思いましたがクロス集計の繰り返しの中での操作ですので今回の投稿の続きでさせていただきました。
何度もすみません。ご教授よろしくお願いします。

#20 Re: 初心者のFileMaker pro Q&A ≫ クロス集計について ≫ 2022-08-15 17:57:29

SHIN様ありがとうございます。

仰せの通りにフィールドおよびレイアウトを作成しましたがよくわかりません(初心者ですのですみません<m(__)m>)。

・新レイアウトで、号数でソートすれば目的のクロス表が表示されますとありますが、
→新レイアウトには月一覧フィールドおよび町費_l フィールドは配置しないのでしょうか?

・小計パートに集計フィールドを配置しましたが、横に12ケ月分表示させることができないのですが・・・
あたらしいレイアウトの表示を具体的にご教授いただけませんでしょうか?

#22 初心者のFileMaker pro Q&A ≫ クロス集計について ≫ 2022-08-10 08:00:42

6120
返信: 8

win11
ファイルメーカー15

を使用している初心者です。長文失礼します。


例えばテーブルAに以下のようなDBがあったとします   
号数(テキスト)  月(テキスト)    町費(数字)
101       1月     300
102       1月       300
103       1月      300
101       2月      300
102       2月      300
102       2月      300
103       2月      300
101          3月       300
102          3月       300
104          3月       300
   

ここから
          1月      2月       3月   
101       300     300        300
103       300     300     
104                            300

のような感じの集計表を作りたいです。

過去の投稿を参考に以下のようにフィールド作成しました

・レコードID(計算)・・・  Get ( レコード ID )
・号数(テキスト)
・月(テキスト)
・町費(数字)
・月一覧(計算、繰返し数12)・・・  GetValue(ValueListItems(Get(ファイル名) ; "月一覧"); Get(計算式繰り返し位置番号)) 
※月一覧に使用するフィールドは「月」を指定
・区分トップIDs(計算) ・・・ValueListItems(Get(ファイル名) ; "区分トップIDs")   
※区分トップIDsに使用するフィールドは 「最初のフィールドは「レコードID」」 「2番目のフィールドは「月」」を指定

リレーションは以下の通りデータベースはDBとDB1のみ

DBの区分トップIDs  =  DB1のレコードID


以上です。

これでいけば(BD上DB1の号数をリレーション表記したら)

          1月     2月     3月   
101   
102     
103         
104                   

まで表示することはできました。
しかし肝心の町費をどう表示させるのかがわかりません。

皆さまご教授よろしくお願いします。<(_ _)>

#23 Re: 初心者のFileMaker pro Q&A ≫ 順番通りにリレーションを表示させる方法について ≫ 2022-08-10 07:55:26

契約者DBで
::順番
でソートすればいいのでは。
→そうですね。解決しました。ありがとうございました。

#24 初心者のFileMaker pro Q&A ≫ 順番通りにリレーションを表示させる方法について ≫ 2022-07-14 08:16:53

6120
返信: 4

win11
ファイルメーカー15

を使用している初心者です。長文失礼します。


使用しているテーブルは二つ
①テーブル:物件DB   
フィールド2つ
     :物件ID(数字)
     :順番(数字)   ※1,2,3,4,5・・・と整数が続いているわけではなく、 実際には1,2,3,5, 6.5 ,7,9・・・と間が抜けていたり、少数が入ったりしている個所があります。
②テーブル:契約者DB

フィールド2つ
     :契約者名(テキスト)
     :物件ID(数字)



現在、契約者DBのレイアウトで作業しています。

やりたことは
①契約者DBレイアウト上で、物件DBの順番で契約者を表示しながら作業したい。

以下のようなスクリプトボタンを作成しています。


変数を設定[$順番;
値: 物件DB::順番]

検索モードに切り替え[]

フィールド設定[物件DB::順番;($順番)+1]

検索実行[]

これであらかたの作業はできますが、どうしても順番が「+1」でない場合、スクリプトが中断して手入力で検索し直しています。
物件DBの順番通りに検索実行ができる方法はありますか?ご教授おねがいいします。

※そもそもこれをするなら物件DB上のレイアウトで一度順番通りにソートして契約者をリレーション表示させることが正しい運用方法なのでしょうか?
(そうなるとある物件IDは少ない契約者もいればある物件IDは大人数の契約者が表示される物件もあるので現在は契約者DBレイアウトを活用しています)

Board footer

Powered by FluxBB