by Guantare.com
SampleDB_08.zip サンプルをダウンロード
SampleDB_08に間違いがありました。管理団体を受入先に設定する時に別の実習先名称を書き込んでいました。
また、受入先作成時に受入先の重複チェックを忘れていました。
2点を修正したファイルがSampleDB_08_mk2です。
前回、実習生を作成したので実習先と関連付けたいところですが、実習生と実習先を直接関連付けしていいのかどうか、もう一度考えて見ることにします。
実習生レコードの中に実習IDと実習先IDを持てば何年度の何という実習をどこの実習先で実習したのか特定することができます。
しかし、実習先によっては学生と関連付ける前に実習予約枠を設定する場合があり、実習枠を打診するタイミングでは実習生が決まっていないことが多くあります。実習先と関連付ける実習生のレコードがないので関連付けできないことになります。「実習枠」というような実習生レコードを作成して関連付けることもできますが、内容が異なり、同じテーブルにレコードを作るのは躊躇してしまいます。実習生と同じ列のセルに異なる内容を入力できるエクセル的な解決方法に思えます。データベースとしてはピンときません。
既に、実習生と関連付けなければならないテーブルは実習先と管理団体の二つになっているので、さらに実習生のテーブルが二つの内容を持つとなると複雑になりすぎて収拾がつかなくなるような気がします。
中間ファイル(テーブル)
色々と考えた結果、それぞれの実習ごとに受入先を作ることにしました。受入先を実習先と管理団体の両方から作成できるようにしておけば、実習生と受入先の関係はシンプルになります。
管理団体から作成した受入先は一時的なものになります。
打診と実習依頼の業務手順
実習枠の打診は実習先もしくは管理団体になり、打診の際に受入先を作成します。打診結果は受入先に入力することにします。こうしておけば年度ごとの打診結果も明確になり管理しやすくなります。
打診しない場合も含めて実習依頼状を送付する際に管理団体もしくは内諾を得た実習先から受入先を作成します。
その後、正式な承諾を得られたら受入先に必要書類を送付することになりますが、管理団体から指定された実習先を新たな受入先として追加し、受入先に実習生に関する書類を送付することになります。これで実習生と実習する現場が関連付けられることになります。
打診する場合の手順です。
打診しない場合の手順です。
どちらの場合でも実習先に直接依頼した実習生(受入先A)はそのままですが、管理団体に依頼した実習生(受入先B)は管理団体が管理している実習先との関連付けをし直さなければなりません(受入先C)。
管理団体に依頼した実習生の実習先への関連付けが終われば、管理団体から作成した受入先は必要なくなります。
受入先テーブルの作成
実習管理ファイルにc03_受入先テーブルを作成します。
受入先IDの他に実習idと実習先id、管理団体idのフィールドを作ります。受入先のレコードは実習先か管理団体のいずれかから作成することになりますので、実習先idと管理団体idはどちらか片方にそれぞれのIDを入力することになります。
受入先のリレーションシップ
受入先のポータルは実習先と管理団体ではそれぞれにリレーションを設定しなければなりません。
でも、セレクタを利用し、セレクタのuiz02_g_実習IDと受入先のc03_実習idを結びつければ実習先と管理団体のどちらからでも受入先に関連付けることができます。
セレクタと関連付けたslex_c03_受入先TOがそれになります。
私は勝手に、様々なテーブルとセレクタを関連付けるのはそれぞれのIDで結びつけるのが基本だと思っているので、このTOは「セレクタ拡張」という枠に置くことにし、TO名も「slex」を先頭に付けることにしました。
レイアウトのテーブル
受入先を実習先から作る場合と管理団体から作る場合とでは使用するレイアウトが異なります。
実習先から受入先を作成する画面です。c01_実習先TOのレイアウトです。
c01_実習先TOのレイアウトを使い、ポータルは「現在のレコード」のポータルにし、地域や名前のフリガナで検索して絞り込むようにしています。
受入先にする実習先や管理団体を選択し、「受入先に設定」ボタンをクリックすることで受入先に新規レコードを作成することになります。
管理団体から受入先を作成する画面です。
c02_管理団体TOのレイアウトを使い、ポータルは「現在のレコード」のポータルにし、実習先の場合と同じように地域や名前のフリガナで検索して絞り込むようにしています。
管理団体の検索では地域とフリガナ以外にテキストを入力できる検索フィールドを設定しました。この検索フィールドに入力されたテキストで管理団体の名前と役所名や法人名の両方を検索するようにスクリプトを書いています。
また、保育園固有の問題ですが、自治体が管理している担当部署には「子ども」とつく部署が多くあります。表記が「子ども」だったり「こども」だったりします。パソコンで入力すると「子供」と変換されることが多くあります。3通りの表記の一つが入力された時に3通りの表記で検索するようにしてあります。
テキストでの検索は設定された地域の中での検索になりますが、検索結果が出た後でも全国に拡大して検索し直せるようにもしてあります。
受入先のポータルはslex_c03_受入先TOを使っています。実習先と管理団体の両方のレイアウトで共通です。
受入先のレコードはポータル内で選択することで削除できるようになっています。削除にあたっては関連付けられている実習生の有無を確認した上で削除するべきなのですが、今回は無条件で削除できるようになっています。受入先と実習生を関連付ける方法によって、確認方法を考えることにします。
地域の特定
地域は全国、東日本、西日本、埼玉、千葉、神奈川、東京23区、東京23以外の8パターンにしてあります。関東中心で設定しましたが、これは学校の所在地によって使いやすく変更してください。
また、ui_実習管理ファイルに一時的なui02_都道府県というテーブルを作ってあります。「ループ」(非表示)というスクリプトの中にc01_ 実習先テーブルとc02_管理団体テーブルに地域をコピーする部分があります。サンプルファイルでは無効にしてありますが、これを有効にすれば地域をコピーすることができます。両方を一度にはできないので片方づつ有効にしてコピーしていきます。
都道府県名をキーにしているのですが、先ほどのセレクタを利用したリレーションを使って実習先と管理団体の両方から関連付けています。
「一時的に」と書いたのは、この先、郵便番号を入力すれば住所が入力され、同時に地域も入力されるようにしたいと考えているからです。今回は便宜的にその場しのぎで切り抜けます。
今回はセレクタやui_実習管理のグローバルフィールドをキーにして様々な情報を表示することが多くなりました。どのフィールドにどんなキーが入っているのか確認できるようにヘッダ部分にセレクタとui_実習管理のグローバルフィールドを配置してあります。実際の運用では邪魔になりますが、開発するには必要な情報になります。
FileMakerにステータスツールバーのように運用中でも表示したり、非表示にできるヘッダがあれば良いのにと強く思います。
次回はやっと実習生と受入先の関連付けです。
自衛隊所属のYS-11。ネットで調べたら1965年製造とありました。
30年ほど前にYS-11で九州の空を飛んだことがあるので懐かしい想いです。
老骨に鞭打って、涙ぐましくも励まされる姿。
Canon EOS KissX7 EF-S55-250mm 250mm ISO800 1/800 F10.0 -0.7EV P
Raw SILKYPIX
2018/11 Kodaira City