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

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

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

You are not logged in.

Announcement

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


#1 2022-04-05 09:32:01

6120
Member

任意の曜日にスケジュール入力したい

Win 10
Pro 15 を使用しています。初心者です。長文すみません

社内のスケジュールを管理していますが、毎回毎回スケジュールを入力するのが面倒で、決まっているタスクは任意の期限日付まで一括して入力できないかと悩んでいます。一括入力したいのは「金曜日は午前中会議」「日曜日はゴミ出し」などの基本的なルーティーンタスクです。

現在使用しているテーブルとレイアウトは一つです。使用するフィールドは一つのレイアウトに以下の3つです。

・日付フィールド:日付
・内容フィールドテキスト
・期限日付フィールド:日付


やりたい(作成したいスクリプト)は以下のようにしたいです。
日付フィールドに       「2022/4/1」
内容フィールドテキストに   「金曜日は午前中会議」
期限日付フィールド      「2022/9/30」       

と入力し、上記でスクリプト実行すると・・・
新規レコードが作成され  日付に 「2022/4/8」  内容に 「金曜日は午前中会議」  と自動入力される
新規レコードが作成され  日付に 「2022/4/15」  内容に 「金曜日は午前中会議」  と自動入力される
新規レコードが作成され  日付に 「2022/4/22」  内容に 「金曜日は午前中会議」  と自動入力される
新規レコードが作成され  日付に 「2022/4/29」  内容に 「金曜日は午前中会議」  と自動入力される
新規レコードが作成され  日付に 「2022/5/6」  内容に 「金曜日は午前中会議」  と自動入力される
新規レコードが作成され  日付に 「2022/5/13」  内容に 「金曜日は午前中会議」  と自動入力される



最終の新規レコードが作成され  日付に 「2022/9/30」  内容に 「金曜日は午前中会議」  と自動入力される

以上のようなことができればなと考えています。

新規レコード作成やフィールド設定など基本的なスクリプトは理解していますが、毎週の曜日が絡んできたり、期限日付が絡んできたりするとお手上げです。
是非ご教授のほどよろしくお願いします。

Offline

#2 2022-04-05 09:51:08

チポ
Member

Re: 任意の曜日にスケジュール入力したい

考え方
Loop
  日付 + 7 > 期限日付  でLoopを出る
  レコード複製
  日付=日付+7
End Loop

これでいかがでしょう。

Offline

#3 2022-04-05 09:57:44

himadanee
Guest

Re: 任意の曜日にスケジュール入力したい

色々な実装方法があると思いますが、レコードを毎回分作るなら、とりあえずフィールドを2つ追加して、主キーと自動追加されたレコードの元レコードの主キーを保存しておいた方がいいでしょう。
(元のデータを変更・削除する場合に自動追加されてたレコードも処理する必要がある)

#4 2022-04-05 11:49:29

6120
Member

Re: 任意の曜日にスケジュール入力したい

・チポ様
ありがとうございました。解決されました。すごく勉強になりました。
・himadanee
ありがとうございました。主キーとのご教授ですが私のレベルではまだ理解できていません。チポ様方式の方えとりあえず問題なくできていますのでそちらで組成させていただきました(元のデータを変更・削除する場合は一括削除や置き換えで対応できそうでした)

ありがとうございました。<m(__)m>

Offline

#5 2022-04-05 13:50:53

Shin
Member

Re: 任意の曜日にスケジュール入力したい

ちょっと別の方法を。
テーブルをもうひとつ作り、日付フィールド、内容フィールドテキスト、期限日付フィールドを持たせます。別に計算フィールド(繰り返し30位)で、
let (
    d = 日付[1] + 7 * ( Get ( 計算式繰り返し位置番号 ) - 1 ) ;
    Case ( d ≤ 期限日付[1] ) ; d )
)
としておきます。このレコードを、目的のテーブルへ、繰り返しを別レコードに分解するようにインポートすると、レコードが作成されることになります。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.042 seconds, 9 queries executed - Memory usage: 511.07 KiB (Peak: 518.27 KiB) ]