みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
WIN7 fmp12 です。
お世話になっております。
[来月フィールド]に「2013年10月」という形で、今日を基準にした来月の求め方・表示方法を教えてください。
※Get(日付)+30にした場合、基準日が2014年1月31日の来月フィールドが2014年3月になってしまうためいろいろ考えているのですが、ぜんぜん思いつきません。
何卒宜しくお願いいたします。
Date ( Month ( Get ( 日付 ) ) + 1 ; 1 ; Year ( Get ( 日付 ) ) )で、来月1日が求められます。
Let (
YM = Year ( Get ( 日付 ) ) * 12 + Month ( Get ( 日付 ) ) ;
Div ( YM ; 12 ) & "年" & ( Mod ( YM ; 12 ) + 1 ) & "月"
)でもいいかも
Offline
Shin 様
ありがとうございます。LET関数の記述にて希望通りの表現ができました。
またよろしくお願いいたします。
来月1日の式を使って、日付書式で表示した方が、ソートにも使えたり便利かな。
Letの式は、年末に+1にするのが漏れてるような気が。
Let ( m = Month ( Get ( 日付 ) ) ;
Year ( Get ( 日付 ) ) + Case ( m = 12 ; 1 ) & "年" & ( Mod ( m ; 12 ) + 1 ) & "月"
)
Layouter 様
Letの式は、年末に+1にするのが漏れてるような気が。 …… まじですか?
Get ( 日付 )なので12月時点でのの来月フィールドを確認していませんでした。今から検証してみます。
補足いただけありがとうございました。
Let (
YM = Year ( Get ( 日付 ) ) * 12 + Month ( Get ( 日付 ) ) + 1 ;
Div ( YM ; 12 ) & "年" & ( Mod ( YM ; 12 ) ) & "月"
)
でいいのでは。
このフィールドは非保存としなければなりませんね。
Offline
Div ( YM ; 12 ) & "年" & ( Mod ( YM - 1 ; 12 ) + 1 ) & "月"
にしないと、0~11月になる。
ああ、ダメでした。。
> Div ( YM ; 12 ) & "年"
これも12月のとき翌年になっちゃいます。
結局、
Layouterさんの最初の式がいいみたいですね。
Offline
Letの式は、年末に+1にするのが漏れてるような気が。
2012年12月に上の式を動かすと、
2012*12+12=24156
24156/12=2013余り0となり、2013年1月になりますが。どこがおかしいですか。
Last edited by Shin (2013-09-12 19:07:47)
Offline
あら?「気が」しただけだったみたい(^^;;失礼しました。
お勧めは最初の来月1日の式(日付タイプ)なんですけどね。データサイズも日付の方が半分ぐらいです。
shin様の 最初のLet関数で12月時点での来月も検証できました。
皆様いろいろお知恵をいただきありがとうございました。
Pages: 1
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 560.36 KiB (Peak: 579.67 KiB) ]