みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
よろしくお願いします。
FileMaker13です。
異なる部署で管理されていた社員の人事記録があります。
Aテーブル人事
日付 出来事
Bテーブル人事
日付 出来事
Cテーブル人事
日付 出来事
実際にはもう少し複雑なのですが、
上記のような異なるテーブルの記録を社員ナンバーでメインテーブルにつないで、
改行で区切って経歴を概ね把握できる文字列を作成したいのです。
どのような計算をすればよいでしょうか。
◯◯さん経歴
日付 入社
↓
日付 □配属
↓
日付 □配属
↓
日付 □配属
↓
日付 □配属
↓
日付 □配属
↓
現在
異なる部署で管理されていても、DB内では1テーブルで管理する、という事が可能ですね。アクセス権で切り分けします。
特定の部署では、その制限を解除し、全てのレコードを閲覧できるようにしておくと簡単でしょうね。
ファイルの構造の見直しをされれば良いです。
とりあえずは、それらのレコードを1テーブルにまとめておくと処理が簡単になります。一度インポートしておかれたらいかがでしょう。その上で、ポータルで表示していると一覧になります。さらにその中のフィールドを List() で取得すると、そのような文字列が得られます。
Offline
部署という表現をしましたが全く別の管理体制で、
この計算式が必要になるのは一度きりなのです。
インポートでひとつのテーブルにまとめる方法はわかるのですが、
もしリレーションと計算フィールドで実現する方法がありましたら
後学のために教えていただけないでしょうか。
これを実現する計算式があれば
いろいろなところに応用を考えているのですが、
自分ではわからず断念したのです。
A・B・C各テーブルで
日付 出来事
と連結する計算フィールドを作ります。
このとき各テーブルで日付書式が異なるとソートがうまくいきませんので、
その場合は同じにします。
メインテーブルと各テーブルでリレーションし、
メインテーブルで、計算フィールド
List ( List (テーブルA::連結 ) ; List (テーブルB::連結 ) ; List (テーブルC::連結 ) )
を作ります。
これでリストにはなりますが、日付順になりませんね。
日付順にするには、
このフィールドの動的値一覧を作り、
そのリストを得れば日付順に並び替えてくれます。
Offline
計算フィールド内に該当する全履歴が入るし非保存になるので
値一覧は作られないかも?
>この計算式が必要になるのは一度きりなのです。
そういう事でも、後々他の不便な事が必ず起こりそうですから
1テーブルにするべきかと。
Offline
値一覧としては使えないけれど、
リストは得られるでしょう。
定義の途中でおこられちゃいますがね ^^
Offline
そうだったかも知れないです・・
計算式で別フィールドを全置換するといいのかな?
でも、スクリプトを使っちゃいけないのか・・・
Offline
一時的な事なら、ローカルのファイルのテーブルに全部インポートしてきて、処理が済んだら削除してしまえば良いのでは。
人事項目だけ、そのテーブルで管理するという運用が良いと思いますがね。
Offline
みなさん、ありがとうございます。
同じテーブルで管理するのが良いということはよくわかりました。
後学のために教えてください。
>日付順にするには、
>このフィールドの動的値一覧を作り、
>そのリストを得れば日付順に並び替えてくれます。
チポさんの上記の方法がわかりませんでした。
Listの入れ子で1フィールドに合体させるところまではできたのですが、
上はどのようにするのでしょうか。
動的値一覧については理解しています。
自レコードのみ照合するリレーションで、
Listのフィールドの動的値一覧を作ります。
計算フィールドの計算式
ValueListItems ( Get ( ファイル名 ) ; "動的値一覧名" )
これで日付順のリストが得られます。
Offline
全く使ったことのない関数と手法で、大変勉強になりました。
皆様、ありがとうございましたm(__)m
Pages: 1
[ Generated in 0.024 seconds, 9 queries executed - Memory usage: 521.52 KiB (Peak: 526.05 KiB) ]