10 返信 最新の回答 日時: Jul 21, 2014 12:40 AM ユーザー:nkk47

    現在の日付から該当データを表示させる

    nkk47

      タイトル

      現在の日付から該当データを表示させる

      フォーラムに投稿

           お世話になっております。

           下記のファイル構成で、勤務表レイアウト上の[集計開始年月日]と[集計終了年月日]を入力すると、集計開始年月日が1行目で、集計終了年月日が最下行のカレンダーがポータルで表示されるようになっています。(こちらでご教示頂きました)

           そこに『当月度』というボタンを配置し、それをクリックするとその日が該当する『年』『月度』『カレンダー』に切り換えさせるようにするにはどうしたらよいでしょうか?

           集計開始年月日の「日」と集計終了年月日の「日」は不定期で、月度毎に変わってしまいます。

           クリックした『その日』を Get ( 日付 ) で取得して、それに適合するデータを呼び出せば良いのかと思いますが、それをどうすればよいのかが考えつきません。


           ●テーブル
           ・勤務表
           ・カレンダー

           ●フィールド
           ・勤務表(レコードは1つ)
            ・年       <計算>  Year ( 集計開始年月日 )
            ・月度      <計算>  Month ( 集計終了年月日 )
            ・集計開始年月日 <日付>
            ・集計終了年月日 <日付>

           ・カレンダー(2010年~2020年までの10年分)
            ・年月日

           ●リレーションシップ
           ・勤務表;;集計開始年月日 >= カレンダー;;年月日
           ・勤務表;;集計終了年月日 =< カレンダー;;年月日


           ご教示の程宜しくお願い致します。
            

        • 1. Re: 現在の日付から該当データを表示させる
          sago350@未来Switch

          そこに『当月度』というボタンを配置し、それをクリックするとその日が該当する『年』『月度』『カレンダー』に切り換えさせるようにするにはどうしたらよいでしょうか?

               赤文字の部分がよく解らないのですが、どういう状態でしょうか?

                

          集計開始年月日の「日」と集計終了年月日の「日」は不定期で、月度毎に変わってしまいます。

               例えば今月7月なら2014/06/30〜2014/07/27となるということでしょうか?
               法則がないなら、その開始日/終了日を予め登録する必要があります。そして、その登録したテーブルのどこに当たるかを判定すればOKです。
               不定期とおっしゃっているのが、月末の日付が28,30,31のどれかが解らないということであれば、Date (Month (日) + 1 , 0 , Year (日) ) とすれば、月末を求めることが出来ます。
          http://filemaker-jp.custhelp.com/app/answers/detail/a_id/8030

          • 2. Re: 現在の日付から該当データを表示させる
            nkk47

            sago35 さん

                  

                 お世話になります。

                 勤務表レイアウト上には、[集計開始年月日]、[集計開始年月日]、[年]、[月度]、[カレンダ(ポータル)] が表示されております。

                 ポータルのカレンダーには、[集計開始年月日]が1行目で、[集計終了年月日]が最下行で表示されます。

                 集計開始年月日と集計終了年月日は、例えれば

                 [2014] 年、[8] 月度は、2014/07/13~2014/08/15 で、

                 [2014] 年、[9] 月度は、2014/08/16~2014/09/15 という感じです。

                 月毎に異なるので、毎月*日開始で、*日締めというような法則はありません。

            • 3. Re: 現在の日付から該当データを表示させる
              sago350@未来Switch

                   となると、
                   2014 08 2014/07/13~2014/08/15
                   2014 09 2014/08/16~2014/09/15

                   というレコードを予め作らないといけませんね。
                   そして、年と月でリレーションを組めば開始日終了日が呼び出せますよね。
                   それを[集計開始年月日]、[集計開始年月日]に入れればOKです

              • 4. Re: 現在の日付から該当データを表示させる
                nkk47

                     早々のご回答をありがとうございます。

                     入力手順ですが、
                     1,[集計開始年月日]と[集計終了年月日]をそれぞれ入力。(ドロップダウンカレンダー)
                     2,[カレンダー(ポータル)]に集計開始年月日が1行目、集計終了年月日が最下行で表示される。
                     3,[年][月度] は計算によって自動入力

                     毎月、開始日(前月の締め日の翌日)と締め日が確認出来次第この作業を行います。
                     ですので、[年][月度][集計開始年月日][集計終了年月日]で1つのレコードとなっています。

                     過去の勤務表を参照していて、現在(現時点)の勤務表に戻る時に[当月度]ボタンをクリックすると
                     一発で戻れるようにしたいと思ったわけです。
                     で、[当月度]ボタンにはどういったボタン設定をすればよいのかという事でした。
                      

                • 5. Re: 現在の日付から該当データを表示させる
                  nkk47

                       今更ですが、こちらの環境を記述し忘れておりました。

                       ・Windos Vista HP SP2
                       ・FileMaker PRO 11 0v3

                       宜しくお願い致します。

                  • 6. Re: 現在の日付から該当データを表示させる
                    sago350@未来Switch

                         勤務表テーブルを1レコードじゃなくて、期間ごとに作っていけば一番最後のレコードが最新の期間(=当月)になりませんかね?

                    • 7. Re: 現在の日付から該当データを表示させる
                      nkk47

                           sagoさん

                           ちょっと混乱してきたので、当初からのコメントを読み直して咀嚼しております。

                           > 法則がないなら、その開始日/終了日を予め登録する必要があります。
                           > そして、その登録したテーブルのどこに当たるかを判定すればOKです。

                           まさにその通りで、年、月度、開始日、終了日は予め登録(入力)されていますので、
                           ボタンをクリックする事で、現在の年月日がそのどこに当たるかを判定させたいとい
                           う事でした。


                           > 2014 08 2014/07/13~2014/08/15
                           > 2014 09 2014/08/16~2014/09/15

                           > というレコードを予め作らないといけませんね。

                           上記のレコードは勤務表テーブルで作成されます。


                           > そして、年と月でリレーションを組めば開始日終了日が呼び出せますよね。
                           > それを[集計開始年月日]、[集計開始年月日]に入れればOKです

                           この部分がよく分からないのです。
                           現在テーブルは「勤務表」と「カレンダー」だけですから、リレーションを組むのは「勤
                           務表」の自己リレーションという事ですよね?

                           > 勤務表テーブルを1レコードじゃなくて、期間ごとに作っていけば一番最後のレコードが最新の期間(=当月)になりませんかね?

                           別途、集計期間テーブルのようなものを作るという事でしょうか?

                           前に「毎月、開始日(前月の締め日の翌日)と締め日が確認出来次第この作業を行います」
                           と書きましたが、開始日と終了日が2,3ヶ月先まで決まっている場合もありますので、
                           一番最後のレコードが当月では無い場合があります。申し訳ございません。


                           引き続きましてご教示の程宜しくお願い致します。

                            

                            

                      • 8. Re: 現在の日付から該当データを表示させる
                        Shin

                             カレンダー側に年月度をルックアップで持たせる様にしておきます。

                             それとのリレーションを張っておけば、検索と関連レコードへ移動、で出来るでしょう。

                             https://dl.dropboxusercontent.com/u/9260632/FileMaker/FMTips/forum/forums0d269fd4a4.fp7.zip

                        • 9. Re: 現在の日付から該当データを表示させる
                          sago350@未来Switch

                               勤務表テーブルが「レコードは一つ」と最初に書いてあったので、常に1レコードしかなく、集計開始年月日を上書きしているのかと思っていましたが、複数あるんですね。

                               その前提に齟齬があったようです。

                               以前の提案は忘れてください。

                                

                               要は、勤務表テーブルに開始日/終了日があって、今日の日付がどこに所属するか?

                               というのが本題だったのですね。

                               それならば、画像のようなスクリプトの検索方法で可能になります。

                                

                          • 10. Re: 現在の日付から該当データを表示させる
                            nkk47

                                 sago35 さん

                                 > 勤務表テーブルが「レコードは一つ」と最初に書いてあったので・・・

                                 間違った情報で無駄な時間を使わせてしまい、大変申し訳ございません。

                                 ご教示頂きましたスクリプトで解決いたしました。
                                 たぶん「検索」するのだろうなと思いはしましたが、その方法が分かりませんでした。

                                 フィールド設定[勤務表;;集計開始年月日:"<-" & Get( 日付 )]
                                 フィールド設定[勤務表;;集計終了年月日:"->" & Get( 日付 )]

                                 も、<-(->)を "" でくくる意味や、& の意味がまだ分かっていません。
                                 これらにつきましてはいまから調べてみます。

                                 まずは取り急ぎましてお礼まで。