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

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

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

You are not logged in.

Announcement

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


#1 2022-12-15 20:36:16

ice
Guest

テーブルの自動作成

FM19  windows10

A:従業員テーブル  B:従業員配置テーブル C:日付テーブル
シフト表を作成中です。
Aのうち在職中の従業員分のレコード(約30レコード)を、Cで新規テーブルを作成すると、Bに自動作成されるようにして配置を割り当てたいです。

Aに 1田中 2鈴木 3山田 の3レコードがあるとして
Cで2022/12/15を作成すると、Bに 2022/12/15田中、2022/12/15鈴木、2022/12/15山田
の3レコードが自動的に作成されるようにしたいです。

まだまだ問題は山積みですが、このような初歩的な段階でつまづいております。
なにかいい方法を教えていただきたいです。

#2 2022-12-15 20:47:47

Shin
Member

Re: テーブルの自動作成

日付テーブルの意味がよくわからないですが。
特定の日付でレコードを作りたい、ということでしょうから、
まずAテーブルでその日付での在職車を抽出します。Bテーブルでそれをインポートして、日付を全置換、というのが簡単でしょう。

Offline

#3 2022-12-15 21:24:07

ice
Guest

Re: テーブルの自動作成

毎日、5つの場所に必要な人数(日によって変わる)を日勤・夜勤で配置、従業員のレベルによって配置できる場所が限られる、正社員と派遣社員がおり、人員過多の場合は有給の残り日数が多い者から休ませるという事を、今まではエクセルでひたすら配置していました。
ファイルメーカーでは伝票管理だけおこなっていたので、上記の内容をファイルメーカーで毎日自動配置して、必要なときに変更できるようにできるんじゃないかと考え、勉強しながら作成し始めたばかりです。
日付テーブルとは確かに意味不明ですね。必要なテーブルもまだまだわからないまま、漠然と作っている状態です。その点もなにかアドバイスいただきたいですが、なにをどう伝えればいいのかわからなくてすいません。
インポート試してみます。ありがとうございます。

#4 2022-12-17 18:14:36

kajon
Guest

Re: テーブルの自動作成

場所がずっと固定なのか否かにもよりますが
従業員マスタ
場所マスタ(不変なら不要かも)
配置テーブル
が必要かと思われます。
配置テーブルでのレコード作成はインポートまたはリレーションを使用してレコード作成オプションを使用するのが良いと思います。
夜勤があるなら、前日勤務も参照出来るといいかもしれません。

#5 2022-12-20 18:12:34

ice
Guest

Re: テーブルの自動作成

Shin様 kajon様
ありがとうございます。

A:従業員テーブル(参照用)  B:日別従業員テーブル C:日別シフトテーブル

Cテーブルに、〇月〇日のレコードを作成(その日の配置場所ごとの必要人数も入力)すると、
Aテーブルに基づいてBテーブルに、在職中の全員分の(約30レコード)日付+従業員レコードが自動作成され、
Cテーブルのその日の配置人数に基づいて、Bテーブルの各従業員の配置場所を自動振り分けするところまではできました。

この先、kajon様がおっしゃられているように、前日夜勤の従業員は翌日の昼勤シフト作成時に、昼勤の従業員は同日の夜勤シフト作成時に、出現しないように、前回の勤務を参照するなりして、対処しないといけないんですが、なかなか進める時間がないのと、まだまだ初心者で知識も浅く、思うように進みません。
上記の夜勤対策には、Bテーブルで一人ずつ順に、従業員キーで絞り込み ⇒ 過去配置日でソート ⇒ シフト配置日の直近の日付+時間で出現させるか判定 ⇒を全従業員分ループさせるスクリプトでいいんでしょうか?
もっとシンプルに高速にできる方法があるのに、複雑で遅い下手な方法を選んでいる気がします。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 10 queries executed - Memory usage: 551.46 KiB (Peak: 562.58 KiB) ]