みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
お世話になります。
Fmp16/Win10 です。
フィールド名:"年"
フィールド名:"月"
フィールド名:"今月は"(計算) =年&"/"&月&"/"&"01"
フィールド名:"月末計算" =Day(Data(Month(今月は)+1;0;Year(今月は)))
という各月の最終日を算出しています。
これをもとに各月の繰り返しフィールドの繰り返しの長さを動的(?)に計算する方法を
御教授頂きたいのです。
現在は31分の繰り返しを作成し偶数月はマスクで覆って処理しています。
Offline
繰り返し数は、月末の日づけだから、
Day(Date(月+1;0;年))
と単純では?
【==補足==】
また、最終目的が、
『有効な日付だけの月次カレンダを繰り返し[31回]に展開したい』
ということなら、繰り返し[31回]フィールドを計算フィールドとして、
Let([
#y=年[1];
#m=月[1];
#dt=Date(#m; Get(計算式繰り返し位置番号); #y)
];
Case(Month(#dt)=#m; #dt)
)
この計算式を設定すれば、他の中間計算フィールドは不要です。
Last edited by Hiro (2019-03-21 13:03:41)
Offline
hiro様
ありがとうございます。
月末の数ができることは理解していますが
それを毎月の繰り返しに反映する方法が不明です。
Offline
>#3『それを毎月の繰り返しに反映する方法が不明です。』
#2に補足しました。
Offline
Hiro様。 ありがとうございます。
ご明示いただきましたが
・計算結果=日付
・繰り返し数=?
で、「繰り返し数」に入れて、フィールドに反映する方法が理解できません。
返す返すで申し訳ありませんが、
年と月に応じて繰り返しフィールドが伸縮する方法を手ほどきお願いします。
Offline
>#5 『年と月に応じて繰り返しフィールドが伸縮する方法』
繰り返しフィールドのレイアウト枠取りは固定設定で、
動的に伸縮させることは出来ません。
なので、代わって、その固定枠の内容表示に表示条件を加え、
表示項数により仮想的に一見伸縮見せ(日付表示・非表示)する、
ということです。
Offline
>#5 『年と月に応じて繰り返しフィールドが伸縮する方法』
繰り返しフィールドのレイアウト枠取りは固定設定で、
動的に伸縮させることは出来ません。なので、代わって、その固定枠の内容表示に表示条件を加え、
表示項数により仮想的に一見伸縮見せ(日付表示・非表示)する、
ということです。
Hiro様
ありがとうございます。
>なので、代わって、その固定枠の内容表示に表示条件を加え、
>表示項数により仮想的に一見伸縮見せ(日付表示・非表示)する、
>ということです。
……?仰せの意味が?
繰り返しフィールド"枠"を、最長で[31]着色した場合は
2019年2月は3つの枠が空欄で表示されるので
やはり、マスクで隠す方法になるわけですか…
Offline
どうも話が通じない様なので、作例サンプルをアップしますので、
説明代わりにご覧ください。
●サンプル「月次カレンダ伸縮表示.fmp12」 → https://yahoo.jp/box/x4YDba
Offline
Hiro様。
申し訳ありません。
説明が不十分で意図した事項が表現できてないようです。
日付の繰り返しフィールドの他に4つのテキストフィールドを併記並列しますので
認識しやすいようにフィールド枠を作りたかったので今回の質問になりました。
仕様が最大値で繰り返し数を設定すると、増減はできないことが判明しましたので
やはり空の枠はマスク処理する以外に方法が無いことが理解できましたので
この件は解決とさせて下さい。
ありがとうございました。
Offline
そのフィールドを4個作り、それぞれ繰り返し数を28から31に設定します。不要なものを隠してしまえばいいのでは。ただし、FM13以降(だったかな)限定ですが。
Last edited by Shin (2019-03-22 09:18:54)
Offline
Shin様。
ありがとうございます。
[次の場合にオブジェクトを隠す]
ですと、表示するフィールドが5つありますので
5組(グループ)のものを予め作成しておく、ということですね。
実行してみます。
Offline
繰り返しの内容が分かりませんが、
日々の記録をするのなら、繰り返しをやめて、
ポータルを検討したらいかがでしょう。
データの利用が圧倒的に簡単になりますよ。
Offline
単なる日付の表示なら、繰り返しフィールドのコントロールで良いでしょうが、日付毎に何らかの入力を行うようですね。
1日1レコードにして、それを抽出してリスト表示、というのが、最善では。
Offline
Shin様。チポ様。
ありがとうございます。
A4用紙のボディ一杯に5つの縦の繰り返し[31]フィールドが埋めていて
隠すための御指示くださった4組の設定をしますと
レイヤー機能があればできると思いますが
ちょっと無理と思いました。
また、繰り返しフィールドの方法はひと月分が1レコードで完結するので重宝していて
月末に1レコード分を出力するためにも便利です。
Offline
ポータルでもひと月1レコードでできますよ。
繰り返しではほとんどワープロとなっちゃいますね。
印刷のためならスライドを使えばいいのでは。
Offline
1日1レコードで、今求めているのと同じ動きになるサンプルです。
https://www.dropbox.com/s/94rfhruuwrb8p … 7.zip?dl=0
将来的に、非常に柔軟ですので、発展も簡単ですよ。
繰り返しフィールドを複数置いて隠す方法も、4組のフィールドを組でまとめてアクティブにすれば一挙に設定可能で、4回の設定だけで作れますよ。
Offline
チポ様。Shin様。
ありがとうございます。
感謝申し上げます。
実はこのファイルはある団体の分担、役割表で視認しやすく印刷して張り出しています。
なので、今までポータルでも試みたのですが満足できる状態にはいたりませんでした。
よって、現行のままで続けていこうと思います。
重ねてお礼を申し上げます。
Offline
保存する必要ガ無い単なる2次元のシートでしょ。
ポータルでも、私のサンプルのやりかたでも満足できないのがわからんですね。
わざわざ FIleMaker 使う必要が有ります?Excel で日付を設定するだけで汁分では。
Last edited by Shin (2019-03-23 12:49:52)
Offline
Shin様。
いろいろと御心配くださりありがとうございます。
>保存する必要ガ無い単なる2次元のシートでしょ。
月々の記録を7年ほど保存しています。
先日来ご指導くださった方法をいろいろと試していますが
手慣れた先生方のようには、なかなかできません。
ほぼ、メドはつきましたが、今ひとつ納得できないところです。
Offline
エクセルで2500行ほどのシートにして、日付をダウンコピーしておき、印刷するときに印刷範囲を月単位で指定する、という簡単な作業で十分なのでは。
それを、FileMaker らしく展開したのがサンプルなんですがね。年月の移動だけでシートを作ってくれます。月跨ぎが発生するはずです。
月単位で来られてしまうと、それも管理できないと思いますが。
何を納得されたいのでしょうか。
Last edited by Shin (2019-03-24 08:51:51)
Offline
Shin様。
ありがとうございます。
「クラリスワークス4」の時から愛用し在職時には、少数部署の勤務表を作成して以来、進歩のないユーザー(?)で
エクセルで作成するなど考えたこともありません。
#16 で作成して下さった月移動のボタンで月が作成され、替わるのは便利ですが
「フィールド2」を日ごとのルックアップできません。
お許し下されば方法をお願いします。
Offline
新規レコードのために、前日のレコードを複製しているので、入力後のでーたがそのまま残ってしまいます。それは、ルックアップの設定で、該当がなければ の設定が無いからです。そこに、例えば、スペース を入力するようにしておけばいかがでしょう
ただ、ルックアップ先のデータが、月日しか持っていないので、別年でも同じ日で参照されてしまうことになりますし、今のリレーション条件では、年ごとのマスターにすることは難しいのでは。
Last edited by Shin (2019-03-24 12:15:08)
Offline
Shin様。
お付き合いくださりありがとうございます。
一日1レコードでとなると添付のようになりますので
月の移動は、ちょっと、もたつきますが
結局、この方法で行おうと思います。
Offline
>#21『「フィールド2」を日ごとのルックアップできません。』
回答しても、またゴールポストをずらされそうですが、懲りずに一応。
摘要をルックアップフィールドからLookup計算フィールドへ変更、
式を、(計算結果:非保存で)
・ Lookup(摘要元::摘要)
とすれば、自動更新します。
Offline
ルックアップの代わりに、自動入力を使うのがベストでしょうね。Evaluate ( "リレーション::摘要" ; 日付 ) を自動入力の計算式に設定します。
https://www.dropbox.com/s/94rfhruuwrb8p … 7.zip?dl=0
Offline
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 575.71 KiB (Peak: 612.62 KiB) ]