みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
普段は12/1など入力(2016/12/1となる)しますが、
年をまたいだあとに12/1と入力すると
2017/12/1ということになってしまいますよね?
どのように対処されていますか?
面倒でも2017/を入力するしかないですか?
年に一度のために年と月日でフォームをわけるのは
日々の手間を増やしてしまうのでバカバカしいですし
アドバイスおねがいします
fmp15 win10
まぁ一般的には4桁の年数を入れるんですが
スクリプトトリガや入力値の自動化などで
年がない場合に4桁にするという作業させる
という方法もあるとおもいます
Offline
年がない場合
の処理ですが
入力時に12/1と入力した時点で
自動で2017/12/1
となってしまうのですが 途中で割り込ませることはできるのですか?
100件ほどちょくちょく去年のデータをいれます
PCには、年を入力しない限り、今年なのか去年なのか分かり様がありません。
無茶振り承知でそれでもどうしてもなら、
年指定のない時の条件付けを、より詳細に条件付けしては如何でしょう?
例えば、年指定のない時は → [今年 → 入力月日が半年以上先なら去年、他は今年] へ自動変更とかと、
フィールド設定の計算値入力自動化&常時書換オプション指定をして条件設定します。その条件式は、
Case(Self-Get(日付)>180; Date(Month(Self);Day(Self);Year(Self)-1); Self)
Offline
年を入れずとも日付フィールドに
1/1
と入力すると
2017/1/1
と入力されます。
年の無指定は、今年と判断する仕様なので、
その結果を入力自動化機能を利用して条件判別で書き換えするアイデアですよ。
#4レスの内容を良くお読みください。
「入力値の自動化」ヘルプ参照 → http://www.filemaker.com/help/13/fmp/ja … .8.23.html
入力者が楽したいなら、その分、開発者は汗を掻かなければ...。
【補足】
検証してないけど、Get(日付)関数式の入力自動化は意図しない時点での書換えも考えられるので、
OnObjectSaveトリガスクリプトを利用しての書換えの方が安全かな?
Last edited by Hiro (2017-01-03 02:41:10)
Offline
その日付が必ず過去になり,年を省いた入力は,同月日の直近の過去、という条件で良いのでは。
Case ( self ≤ Get ( 日付 ) ; self ; Date ( Month ( self ) ; Day ( self ) ; Year ( self ) - 1 ) )
という計算式で、既存値を上書きする 設定で自動計算させれば良いでしょう。この式で運用していますが,楽になりましたよ。ただし、2月29日に対しては3月1日が返されますので。扱いは気をつけてください。
Offline
> #7 Shinさん
今日より後の先付日付が一切入力できなくとも良いかは、質問者の意向次第では?
Offline
Pages: 1
[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 514.16 KiB (Peak: 519.06 KiB) ]