みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
Win 7、 FMP10 にて 名簿管理を試みています。
「会員名簿」、「故人名簿」、「家族名簿」、の3つの名簿があります。
同一人物が複数の名簿に登録されています。
「故人」は「会員」から派生するのが基本ですが、
「故人」入りした場合でも、「会員」名簿では現状が「故人」ということで、名簿にデータは残ります。
「家族名簿」には会員と、会員の家族で、まだ会員手続きはしないで出席している人が含まれ、
ここから後に「会員」になる場合もあります。
会員で家族が会に関わっていない人(=自分一人だけでの参加の場合)は、「家族名簿」にデータはありません。
また、家族名簿にデータがあってもなくても、会員外が「故人」名簿に入る場合もあります。(補足:会員の家族の葬儀を会で行った場合など。)
いずれかの名簿に新規登録する際、
他の名簿に同一人物の情報があるかどうかをまず確認したいので
できれば統合された一覧表示のものが欲しいと思ったのですが、
どうしたら一番よいのでしょうか?
3つ案を考えてみました:
1)総合名簿を別テーブルで作り、これを登録のスタートにする。
氏名とヨミガナを入力後、「会員」「故人」「親族」のスクリプトボタンで
該当テーブルにて新規レコードを同名で作成するようにする。
この場合、総合名簿での1レコードの内容をどうしたらよいか?
a)一人1名簿で1レコードとし、同一人物のレコードが複数作成され得る。
b)一人1レコードとし、各名簿のチェックフィールドを設けて登録先を記録する。
2)テーブルは総合名簿の1つのみで管理し、レイアウトでの区別のみにする。
この場合、各名簿のレイアウトに作成チェックのフィールドを設け、
各名簿(=レイアウト)を開いた場合はチェックのある該当者のみ表示されるようにする。
3)総合名簿テーブルは作らず、名簿ごとにテーブルを分け、
検索レイアウトで検索用氏名フィールドと
各名簿ごとのポータルを3つ並べてそれぞれの名簿のままで閲覧し、
各々の名簿ごとで新規登録していく。
お知恵を拝借致したく 宜しくお願い致します。
Offline
2)テーブルは総合名簿の1つのみで管理
に1票
同、2票目
> 各名簿のレイアウトに作成チェックのフィールドを設け
よく分かりませんが、、
単にチェックではなく、ステータスとして、
会員
故人
家族
と特定すればいいのでは。
Offline
himaganee様 、 チポ様、
アドバイスありがとうございました。
紙の原本を目の前に、頭もアナログ構成にとらわれて
せっかくのデータベース機能をなかなか活かしきれないところ、おかげさまで方向性がひとつ見えました。
同姓同名の他人も既にいるので、先にエクセル内でつきあわせて、
重複氏名のチェックをしてリストの一元化をしてからFMPに流し込もうかと思います。
助けていただいて感謝です!頑張って構築してみます。
Offline
先日はありがとうございました。
方針確定については「解決」しておりましたが、実施にあたっての付随事項について
追加で質問させて下さい。
前提としての上記があるので、このスレッドのまま続けさせていただくことにしました。
レイアウトを以下の4つに設定しました:
「会員名簿」、「故人名簿」、「家族名簿」、「宛名ラベル」
追加された「宛名ラベル」は夫婦で会員の場合などは、
連名の宛名のものを、個人宛のラベルと別に用意したいからです。
ここで、完全個別のIDとしてはレイアウトがどこであれ
新規作成時にシリアルナンバーを自動入力でつけておきますが、
それとは別に 各名簿ごとでの通し番号で各名簿ごとのID番号を採番したいと思い、
リスト表示に並べて手入力、としてみましたが
きっと自動化できるに違いない、と思いなおしたもののやり方がわかりません。
計算フィールドで設定をする?
スクリプトでステータスを入力してタブキーを押したら採番する設定にする?
該当ステータス表示のある対象レコード数を使って…
あたりを想像してみましたが、形にできません…
たとえば
「会員名簿」にのみレコードのある人(=「会員ステータス」フィールドに「会員」と入力されている)
に新しくラベルを作る時に、
「宛名ステータス」フィールドに「宛名」と入力すると、「宛名ID」フィールドに新規の番号を表示、
を自動化できたら嬉しく思います。
ご教授いただきたく宜しくお願い致します。
Offline
その構成では、自動化は無理です。
会員、故人、家族を、1個のテーブルの中に入れてしまいます。
シリアル番号を設定するフィールドを作り、全レコードに、シリアル番号を振ってしまいましょう。(順番は全く気にしないでおきましょう)自動入力でシリアルの設定をしておきますが、入力済のものには、全置換で設定します。その際に、次のシリアルを反映するオプションをチェックしておくといいです。
故人、というチェックをするフィールドを作り、故人はチェックしておきます。
家族は、家族チェックフィールドを作ります。その家族のメインとなる人を決め、そのシリアル番号を設定します。
会員名簿の抽出は、故人を対象外、家族チェックが空白、と言う条件で良いです。
そのリストの中だけでの連続番号が欲しいのでしたら、レコード番号で良いのでは。レイアウト上で、@@ を打っておけば良いです。
Offline
Shin様、 お返事ありがとうございます。
> その構成では、自動化は無理です。
そうですか(T T)
> 会員、故人、家族を、1個のテーブルの中に入れてしまいます。
> シリアル番号を設定す るフィールドを作り、全レコードに、シリアル番号を振ってしまいましょう。(順番は全く気にしないでおきましょう)
自信がないのですが、私の脳内理解では冒頭での試案の 2) を採用して
この内容にはしてみたつもりです。
> 故人、というチェックをするフィールドを作り、故人はチェックしておきます。
これに相当するのが「故人ステータス」フィールドで、「故人」と表示するようにしました。
> 家族は、家族チェックフィールドを作ります。その家族のメインとなる人を決め、そのシリアル番号を設定します。
家族も同様に、「家族ステータス」フィールドで、「家族」と表示するようにしてあります。
が、シリアル番号を設定とは?結局、それが手入力でないと、ということでしょうか?
> 会員名簿の抽出は、故人を対象外、家族チェックが空白、と言う条件で良いです。
家族チェックの空白=会員、とは限らないのです。
たとえば親子4人の家族で2名が会員、残り2名は非会員などもあるからです。
各名簿ごとの表示は、会員ならば「会員ステータス」フィールドに「会員」を表示させ、
それぞれのリストでの表示は各ステータス表示のあるもので出します。
> そのリストの中だけでの連続番号が欲しいのでしたら、レコード番号で良いのでは。レイアウト上で、@@ を打っておけば良いです。
すみません、この部分がわかりません。
「レコード番号」=全種混合のシリアルナンバー となってしまいますが、
目指しているのはカテゴリー別の連続番号なのですが
やはり 無理なのでしょうか。
Offline
どうもはっきりしないな。
名簿テーブルは一つになっていますか?
> 各名簿ごとでの通し番号で各名簿ごとのID番号を採番したい
ここでは複数に思えるし、
> 私の脳内理解では冒頭での試案の 2) を採用して
ここでは一つになっているようでも有るし、、
とにかく、名簿は一つにするんですよ。
Offline
チポ様、
名簿テーブルは一つになっていますか?
はい、テーブル1つで1本です。
> 各名簿ごとでの通し番号で各名簿ごとのID番号を採番したい
ここでは複数に思えるし、
言葉足らずだったようですみません。
各名簿ごとというのは、各レイアウトごと、という意味です。
レイアウトを個別の名簿ごとに詳細用と、一覧リストと作りました。
ユーザーからはそれぞれの名簿に見えるよう、
切り替えボタンに各ステータスの表示のあるもののみを選択表示するよう
スクリプトをあてがおうと思いつつ、まだ組んでいないところです…
Offline
それなら形はいいですね。
では、
> 各名簿ごとでの通し番号で各名簿ごとのID番号を採番したい
これはいかがでしょう。
まず、
個人のIDとして、全体でユニークな値を振るべきでは。
ステータスが変わることも有るのですから、、
> 目指しているのはカテゴリー別の連続番号なのですが
カテゴリー = ステータス
ですよね。
そのステータスごとに連番にして、何か意味が有ります?
Offline
そのステータスごとに連番にして、何か意味が有ります?
正直、私自身がFM上で管理する上では不要とも思えます(苦笑)
実際の運用は、FM上で私がおおまかな管理をしたものを
エクセルに出して、複数事務担当者の方々が
いろいろな用事の担当割り振りや、発送先の選別などにリストを
紙状態でチェックしたり、エクセル上加工していくのが現状なのです。
エクセルをまともに扱える人も限られている現状です(^^;
おかげで紙資料のファイルがあふれかえってきてしまったので
まとめてみているところなのですが、
会員、故人あたりは名前順であればナンバリングなくてもいけると思うのですが、
家族名簿は名字の違う親族もかかわってくるので、
名簿順だけでソートするわけにはいかなくなることもあるのと、
一覧リストでの通し番号があれば あの人どうだったっけ?という記憶をたどるときの
紙資料状態で作業する方々の目印にあったらいいかな、と思った次第です。
そしてそれを エクセルに出したものに、そのときだけの連番をつけてあげるより
固定番号をつけておいたほうがわかりやすいかと考えた次第です。
エクセルを使える方に、用途に応じて項目は置き換えたりしてもよいけれど
ID番号(=全部通しの個別シリアル)は絶対に切り離したり消したりしないよう
教育中なのですが… ここも不安が残るくらいです。
今のところ、同姓同名は1組しかいないようなので氏名で検索はできますが。
その紙上でチェックしたりしたものをエクセルまで記録してもらい、
最終的に私がFMにまとめこんでいくことになります。
まわりが限りなくアナログ環境の中でやってみております。
そういう意味では、データベースソフト内では無意味なお飾りということですよね。
つまりは、アナログ用のものなので、アナログ式に
検索してステータスごとに抽出して、手入力で番号を振っていこうと思います。
お煩わせしましたが、ご意見ありがとうございました。
Offline
「解決」ですが、、
> 家族名簿は名字の違う親族もかかわってくるので
家族IDをつければいいのでは。
> 検索してステータスごとに抽出して、手入力で番号を振っていこうと思います
対象レコードの並び順に番号をつけるのなら、
非保存の計算フィールドで Get (レコード番号) とすればいいですよね。
Offline
チポ様、 すみません ご提案をいただいたので
解決を撤回して、もう少しご相談させていただくことにしました!
> 家族名簿は名字の違う親族もかかわってくるので
家族IDをつければいいのでは。
Shin様も先に言及されていましたが、一応家族長となる人を設定して、
家族長名+番号をつけたものは設定してあります。
データベース上はこれで十分なのですが、紙用には長くて邪魔くさいので
家族長名-メンバー を 000-00 とすべて数字でIDでしますかね。
となるとやはりここで、家族単位の番号を採るのに 検索抽出して…でしょうか?
> 検索してステータスごとに抽出して、手入力で番号を振っていこうと思います
対象レコードの並び順に番号をつけるのなら、
非保存の計算フィールドで Get (レコード番号) とすればいいですよね。
たぶん、私がイメージしてみたのが ↑ こういったものかと思われるのですが、
「家族ステータスID」という計算フィールドに下記設定をしてみたのですが、
Case ( 家族status= "家族" ; Get (レコード番号) )
では抽出されていないのですね。 全レコードの通し番号になってしまいました…
添削いただきたくお願い致します。
Offline
家族長名+番号をつけたものは設定してあります。
家族長名-メンバー を 000-00 とすべて数字でIDでしますかね。
となるとやはりここで、家族単位の番号を採るのに 検索抽出して…でしょうか?
IDは数字で十分でしょう。
その入力方法の一例、
既存のレコードには、
家族長名でソートして、
最初のレコードから順に、家族長名が変わるごとにID番号を変えて入力
新規レコードは自動入力できますよね。
Case ( 家族status= "家族" ; Get (レコード番号) )
では抽出されていないのですね。 全レコードの通し番号になってしまいました…
非保存の計算フィールドの計算式を
Get (レコード番号)
として、
家族ステータスで検索すれば、その対象レコードに番号が振られます。
ですから、
検索・ソート等のたびに変わることになりますね。
固定した番号にするのなら、
家族ステータスで自己リレーションして番号を振る方法が有ります。
Offline
チポ様、 たくさんのアドバイスをありがとうございます。
新規レコードは自動入力できますよね。
このアドバイスで、なんか光が見えた気がしました。
現状まだ元データがエクセルに並んでいるので、
そこで通し番号を振ってしまい、
家族長名の番号も振ってしまい、
数字フィールド状態でそれぞれに流しこんだあとで
フィールドを計算に変更して、そしたらそこからなら
それぞれ
Case ( 家族status= "家族" ; Max (家族statusID)+1 )
Case ( notIsEmpty(家族長名) ; Max (家族長名No)+1 )
あたりでいけそうでしょうか。
そしたら番号も固定になりますよね。
すみません、外出しないとならないので宿題とさせていただき、夜 帰宅後にやってみます。
Offline
全体にシリアル番号は振ってあるでしょう。
家族識別は、家族フィールドに、家長シリアルを設定しておけばいいでしょう。それをリレーションでみれば、識別ができます。
ですが、その家族番号に固定性が必要ですか。誰の家族であるか、というのは重要でしょうが、何番目の家族かは、管理上意味がないでしょう。また、家族が先に故人になった場合の扱いは、家族リストから削除でしょうが、その際の扱いによるでしょうが。
紙でエクセルに出力する際に、連番がふられていると逆に管理上支障をきたすことがありますよ。次に一覧を作るときに、並べ方に依ってその連番が入れ替わることがあります。よくある名前よみ順でも、改姓や、読み方が訂正されたり、異体字に修正されるなどを考慮しておかないと駄目です。
Offline
Shin様、 いろいろありがとうございます。
客観的なご指摘をいただいて、気づかされてこちらの脳内整理を助けていただいている感じですが
試行錯誤というか発展途上でわかりにくい部分などご容赦くださいませ。
家族識別は、家族フィールドに、家長シリアルを設定しておけばいいでしょう。それをリレーションでみれば、識別ができます。
これで家族ごとにまとめられる、わけですよね。
ですが、その家族番号に固定性が必要ですか。誰の家族であるか、というのは重要でしょうが、何番目の家族かは、管理上意味がないでしょう。また、家族が先に故人になった場合の扱いは、家族リストから削除でしょうが、その際の扱いによるでしょうが。
ご指摘を受けて、現状確認してみました。
まず、家族のメンバーの番号というのが既に発生しているのです。というのは、この「家族名簿」は親子関係などを見るためのもので、
エクセルのフリーソフトで家系図作成をしてみており、そこのクエリ?の仕様で番号が打たれております。
http://www.vector.co.jp/soft/winnt/home … 17.html?ds
そして、故人になった場合も「家族名簿」からも「会員名簿」からも削除はありません。
「故人」表示がついて、名前表示の文字色を赤にしようかな、と思っております。
ボタンをおいて、リスト表示するときに故人を除く、あるいは 全表示、としてみようかと。
紙でエクセルに出力する際に、連番がふられていると逆に管理上支障をきたすことがありますよ。次に一覧を作るときに、並べ方に依ってその連番が入れ替わることがあります。よくある名前よみ順でも、改姓や、読み方が訂正されたり、異体字に修正されるなどを考慮しておかないと駄目です。
たしかに、家族とかあとから追加された人はステータス内連番とか邪魔そうですね。やめにします。
家族単位の番号と、家族のメンバーのナンバリングは エクセルで作業する人が作業ミスで
並べ替えの途中で消してしまった、とかの事故に備えて あったほうがいいかな、と思ってみました。
誰の名前がなくなってしまったのか欠番があればわかるように、という程度です。
(誕生日ごとの記録で、3月、4月、5月分の記録が消されていたこともありまして…
どうやったらそうなるのか、バックアップがあったはずなのにそれはどうなってしまったのか、
作業した本人も何が起こったかわからない…という方々が作業するもので…)
…と、頭の中でのイメージは展開しましたが、形にしようとするとまだ理解が浅くて時間を要しそうで
作業時間をすぐにとれないもので、宿題とさせてくださいませ。
また形にしてみたところで ご報告およびご相談させていただきたく思います。
ひとつひとつのアドバイスに感謝です。
Offline
お騒がせしました。
しばらく触れられないでいる間に、脳内シミュレーションを繰り返し、名簿ごと(=レイアウトごと)の連番はなくていいか、と結論しました。
そして家族ごとのIDですが、上記で触れたエクセルの家系図のファイルのみのテーブルがあり、
1レコード 1家系図=1家族、なので、そのシリアル番号をそのまま流用して識別することにしました。
結果としては 意味なかったじゃん かもしれませんが、皆様のご意見をいただけたからこそ見えた結論ですので
大変有り難く助かりました。どうもありがとうございました。
…とはいえ、同様の種別IDについて別件でやはり自動取得できるようにしたいものがあるので
また別質問をたてさせていただきたく思います。
またお世話になるかと思いますが何卒宜しくお願い致します。
Offline
Pages: 1
[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 651.83 KiB (Peak: 684.73 KiB) ]