初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2021-02-05 11:30:02

gon
Member

翌月の特定曜日の日付を取得し利用したい

いつも参考にさせていただいております

Filemakerserver18(Windowsserver2016)、Filemakerpro17~19(Windows10)で運用しています

社内の商品移動(社内発注)のシステムで発注担当が発注番号を取得し商品を紐づけして社内移動データを作成しています
任意の発注に関してはこれで良いのですが、定期発注リスト(曜日別で部署、商品が固定のもの)を元に翌月分の定期発注を1か月分自動で発注予約したいとのリクエストがありました

※構成は簡単なものです [発注番号テーブル] [発注明細テーブル] [商品マスタ]
発注番号テーブルに日付と移動先データがあります

翌月の特定曜日の日付リストが必要なのですが何かスマートな方法は無いでしょうか?

案1 翌月1日の曜日を特定し月が替わるまで7を足した日付リストを作る
案2 翌月すべての日付の曜日を取得したテーブルを作って曜日日付リストを作成する

考えつくものがひどく幼稚に思えていやになってい待っています
何か良い案は無いでしょうか?

よろしくお願いします

Offline

#2 2021-02-05 13:23:51

チポ
Member

Re: 翌月の特定曜日の日付を取得し利用したい

必ず毎週の発注レコードを作るのなら、
日付フィールドの入力値の自動化・計算式・既存値置き換えで
  日付 + 7
としておいて、
最終のレコードをコピーすればいいでしょう。


> 案1 翌月1日の曜日を特定し月が替わるまで7を足した日付リストを作る
その月の最初の指定曜日の日付は
  1 + ( 1日の曜日 - 指定の曜日 )の絶対値
           ここでの「曜日」は、DayOfWeek関数で得られる数値
で求められますね。

Offline

#3 2021-02-05 17:51:56

gon
Member

Re: 翌月の特定曜日の日付を取得し利用したい

チポ wrote:

必ず毎週の発注レコードを作るのなら、
日付フィールドの入力値の自動化・計算式・既存値置き換えで
  日付 + 7
としておいて、
最終のレコードをコピーすればいいでしょう。

ありがとうございます
各曜日の発注が10~20件あるため全件をコピーしそれに対応する注文内容もコピーするとすこしややこしい手順のような気がします

その後現場からの意見で一か月分の発注は必要がなくなりました
毎日3日後の曜日の発注を作成したいということに代わってしまいまたまた悩んでいるところです

曜日別予約発注リストには曜日番号(日曜日が0、月曜日が1・・・)があるためDayOfWeek(Get(日付)+3)に適合する曜日番号を含む発注リストの日付を今日より後の最も近い日付を取得して入れればできるような気がしますが、、、やり方がわかりません

※DayOfWeekで取得した曜日番号を用いて今日より後の最も近い日付を取得する方法をご教授ください

Offline

#4 2021-02-05 19:00:03

Shin
Member

Re: 翌月の特定曜日の日付を取得し利用したい

難しく考えすぎです。
Get(日付)+3 の日付で、DayOfWeek(Get(日付)+3)に適合する曜日番号を含む発注リストを作ればいいでしょう。

Offline

#5 2021-02-09 08:55:48

gon
Member

Re: 翌月の特定曜日の日付を取得し利用したい

一カ月分の日付を取得することはなくなったので簡単に考えればよかったのですね、、、お恥ずかしい

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 560.86 KiB (Peak: 590.17 KiB) ]