みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
os[Windows7],ver[12]
AとBのテーブルがあります。
Aは支払期日を求めるフォーム、Bはカレンダー(土日祝)を表示するフォームです。
【テーブル「A」の条件】
納品日「2019/10/10」
締日「10」
支払月「1」
支払日[10」
支払期日は「2019/11/10」ではなく「2019/11/8」で算出してほしいです。
(支払期日が土日祝の場合、前営業日の日付を表示することが前提)
3日かかりましたがうまくできません。
どなたかご教示いただければと思います。
何卒宜しくお願い致します。
Offline
納品日から、締め日、請求日との規則がよくわかりませんが、10日締め、翌日請求、 翌10日(前営業日)支払い ですか。
営業日カレンダーを作ってしまうのが簡単です。
1日1レコードのテーブルを作り、営業日のみのレコードにするか、営業日のみフラグを立てます。(それを判断するカスタム関数を作ってしまうのが簡単でしょうが、例えば、https://fm-aid.com/bbs2/viewtopic.php?pid=47879#p47879 )
そこへ比較リレーションをはり、自己以前の営業日を参照するといいです。
https://www.dropbox.com/s/yz8k642kmhh46 … 2.zip?dl=0
カレンダーの設定で、、隋時の休日設定も可能です。
Last edited by Shin (2019-09-30 15:46:26)
Offline
>#2Shinさんの「日付が[土日祝]かを判定する関数式」を利用、内包した、
「支払期日」算出のループ計算式です。
Let([
#日付=納品日; //「2019/9/10」(日付データ)
#締日=締日*1; //「"10"」("10" , "20" , "末日" などテキストデータ)
#請求月=支払月; //「1」(0 , 1 , 2 など数値データ)
#請求日=支払日*1; //「"10"」("10" , "20" , "末日" などテキストデータ)
#締日付=Date(Month(#日付-#締日)+1; #締日; Year(#日付-#締日)); //結果→「2019/09/10」
#請求日付=Date(Month(#締日付-#請求日)+1+#請求月; #請求日; Year(#締日付-#請求日)) //結果→「2019/10/10」
];
Let([
$dt=#請求日付;
$flg=0;
$LOOP=
"Case(
$flg
; $dt
; Let([
/*Shinさんの「日付が[土日祝]かを判定する関数式」を利用、用法:土日祝関数(日付)*/
$flg=土日祝関数($dt); /*結果: [土日祝]なら「0」、営業日なら「1」を返すよう式設定*/
$dt=$dt - Not($flg)
]; Evaluate($LOOP))
)"
];
Evaluate($LOOP)
)
)
Offline
腰を折る様ですが、、
土日、祝日以外にも独自の休業日も含むのでしたらそれは手入力しか有りませんよね。
そのついでに祝日も手入力できちゃいそうですが。。
カレンダ見ながらクリックするだけでできますよね。
Last edited by チポ (2019-09-30 14:41:16)
Offline
Shin様
ご教示ありがとうございます。
Shin様が作成いただいた内容を確認しました。
なるほど、この方法でうまくいけました。
本当に助かりました。ありがとうございました。
Hiro様
ご教示ありがとうございます。
「土日祝関数」というカスタム関数を使っているようですが、こちらのアプリケーションでは対応できませんでした。
その代わりLet関数を使っていろいろと組み込みしてみたらうまくできました。
本当に助かりました。ありがとうございました。
チポ様
ご教示ありがとうございます。
確かに手入力が必要ですが、毎日の請求書を作成するにあたり手入力で作業するのは大変であり業務効率が悪くなります。
ですから、残業撲滅(定時退社を目標)を実現するためには、やっぱり手入力するのは控えたいと思っております。
チポ様のおっしゃることはごもっともですが、Shin様が作成いただいたものを使わせていただくことをお許しください。
ありがとうございました。
こちらでうまくいけましたので、解決といたします。ご教示ありがとうございました。
Offline
私がお伝えしたのは、カレンダ作成の方法ですよ。
休業日を入力するのに面倒な計算式を作るより、
ボタンにしてクリックした方が手っ取り早いでしょうと言いました。
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 520.38 KiB (Peak: 525.29 KiB) ]