ラベル 大中小分類 の投稿を表示しています。 すべての投稿を表示
ラベル 大中小分類 の投稿を表示しています。 すべての投稿を表示

2015年7月10日金曜日

値一覧をポータルにして絞り込む (中分類、小分類)

前回のファイルを利用して
値一覧をポータルで表示させて
絞り込んでいくもの。


値一覧のドロップダウン表示がどうも好きでない方向けです。
ダウンロードできますので中身をみてください。
苦肉ですが、画面はすっきりw




中分類を選択すると小分類に



小分類を選択すると商品マスタに



商品マスタを選択すると元の中分類に



前回のファイルに中分類のTO「中分類フロントP」を追加してポータルにしました。


13ならではのオブジェクトを重ねて、スクリプトのフィールド設定で隠してます。




ダウンロード(FM13以上)

FileMakerで分類 絞り込み(中分類、小分類)

ひさびさにFileMaker

あれから時は過ぎ、なんと14なんかも出ちゃったりしました。ユーザーが増えました!ということでしょうね。ユーザーが増えるという事はいいことで、バージョンが上がったり、メーカー側の対応もよくなったりします。


随分と前に弁護士向けのソフトで大分類、中分類、小分類について書きましたが
そんなに分類分けが必要でなければ中分類、小分類だけでやってみようということです。

今回はバージョン13で作ってみました。
ダウンロードもできますので試してみてください。


動的値一覧と何が違うのかというと、ちゃんとid,と名称フィールドを作り、しっかりマスタ管理して動かそうということです。
よくあるのは、名称を値一覧にすることですが、当然索引設定されますので非常に検索呼出しが早くなるのですが、名称変更があり得るのなら、しっかりidなどの番号をKeyにして管理されたほうがいいと思います。


<2つの用途をみたします>

 事前登録時の分類絞り込み(マスタ側)

 事前登録されたデータを分類によって絞り込み、ガイドに表示(入力画面など)


というわけなので、事前登録時の考え方、
それを呼び出す絞り込みの考え方、そしてそのリレーションの組み方は当然違います。

事前登録の画面(商品マスタ)


先に中分類マスタ、小分類マスタを設定し商品マスタ設定時には、分類を絞り込り込める設定です。(中分類マスタで小分類を設定する)


一方で、入力画面で商品を分類の絞り込みによってガイド表示させる場合は、中分類をKeyにした商品マスタのテーブルオカレンスから値一覧設定で絞り込む様にします。



中分類側の値一覧設定、中分類マスタではなく、中分類をKeyにした商品マスタから閲覧するように設定します。




小分類は、中分類をKeyにした商品マスタからidを絞り込ませます。
名称は小分類マスタのテーブルオカレンス側から拾いましょう。

メインテーブルを関連レコード表示させると、小分類をKeyにした商品マスタのポータルにデータが表示されるという仕組みです。

いろいろ使えますので改造してみてください。


ダウンロード(FM13以上)








2014年6月3日火曜日

第12回 の補足

前回までのをダウンロード


FileMakerPro12以上が必要です


win7で作成


・中分類マスタのガイドチェック表示を修正
・エントリーのガイドを自社用意、相手用意に分けて表示
  (ポータルフィルタを使用)
・ボタンを設置(設定Mtの関連レコードに飛ぶ)

詳細は別途説明します。

2014年5月31日土曜日

第12回 自分で作ろう!弁護士向けソフト 大分類、中分類、小分類 その6

大~小分類は今回で終了です。(下は  今回の完成図)
お疲れさまでした。
これは、正直、リレーションの上級者じゃないと出来ないかと思います。
(始めての方は出来なくて普通です。一番の難関でした)




設定Mtで設定した詳細を、エントリーに絞り込んで表示させる設定です。



左上の各分類で絞り込み、左下のガイドに、事件に関係するファイルをずらりと表示させます。

ブルーの平面図には次回から事件関連の項目を入れて行く予定です。


さて、ここまでを説明します。





前回までは、マスタで事前登録するための大分類、中分類、小分類の作成でした。
今回は、事前登録されたマスタを、入力時に大分類、中分類、小分類に絞り込んで閲覧させるためのものです。ちょっと難関ですが、前回と別物として考えます。


まず、前回のリレーション図に更にテーブルオカレンス(TO)を追加していきます。
今回は全てTO(仮想テーブル)で成立っており、データを更に絞り込んでいく設定を行います。

設定Mtテーブルから、左下の「+」でTOを作り、「設定Mt大分類」という名称に変更させます。



同じ事を2回続けてください。
「設定Mt中分類」、「設定Mt小分類」という名称に変更します。

そして

エントリーテーブルと各テーブルをidで繋げていきます。

①エントリーの「g大分類」 と 設定Mt大分類の「大分類id」
②エントリーの「g中分類」 と 設定Mt中分類の「中分類id」
③エントリーの「g小分類」 と 設定Mt中分類の「小分類id」





テーブルの右上のポッチを押してスマートにさせます。






更に今度は、大分類、中分類、小分類をそれぞれ、TO化させ、
テーブルの名称を「g大分類」、「g中分類」、「g小分類」に変更させ、各分類のidを
再びエントリーテーブルの同じ名称にそれぞれ繋ぎ合わせます。




だんだん混乱してきたので、設定Mt関連のテーブルをブルー
大中小分類テーブルをピンクに塗ります。



さらに、更に、g中分類のテーブルから、再びTOを作り、「中分類受注」という名称に変更します。
同じくg小分類のテーブルからもTOを作り「小分類受注」という名称に変更します。



さぁ、一番間違いやすい箇所なのでサイズを大きくしてみました。

設定Mt大分類の右上のポッチを押して内容を広げ、中分類idを探してください。
設定Mt大分類の「中分類id]と中分類受注の「中分類id」を繋ぎます。


③現在、設定Mt中分類と、エントリーとでは「中分類id」で繋がっていると思うのですが、
「大分類id」も追加して繋げます。
そして、小分類受注と「小分類id」で繋げます


④現在、設定Mt小分類と、エントリーとでは「小分類id」だけで繋がっていると思うのですが、
エントリーの「g大分類」と設定Mt小分類の「大分類id」
エントリーの「g中分類」と設定Mt小分類の「中分類id」を繋げてください。


これでOKです。


エントリーのレイアウトを開きます。(後々実際の事件を入力していく画面です)



各フィールドを好きな場所に移動させて、
設定Mt小分類のポータルを設置します。





これも間違いやすいので画面を大きくします。
エントリーレイアウトにある「g大分類」「g中分類」「g小分類」に値一覧を設定していきます。
前回よりも複雑ですので、間違えない様に・・・・・


まず、レイアウトのg大分類をクリックしてアクティブにし、インスペクタからドロップダウンリストを選択します。そうすると、値一覧名を設定する画面が出てきますので、「受注大分類」と設定してください。更にフィールドの値を使用を選択すると、フィールドの設定画面が出てきます。

最初のフィールドは設定Mtを選び、大分類idを選びます。
2番目のフィールドは大分類を選び大分類名を選びます。

ここで間違えると、データは絞り込まれません。





レイアウトに戻り、
g中分類を同じように設定します。

大分類と方法は同じですが、呼び出す内容は全く違います。
写真の通り従ってください。





g小分類も同様です。

(ちょっと、頑張ってみてください)




エントリーのレイアウトを自分が操作しやすい配置に変えて行きます。
自由です。挿入からマージフィールドを設定し、分類idで選んだ後、名称を表示させます。
(マージフィールドは、住所録のシール発行の時に詳しく説明します)
分からなければ飛ばしてください。





実際に分類をいじってみてください。
設定マスタにデータを入れていない場合は、なにも表示されませんが
入っていれば、絞り込まれているはずです。

おかしな動きであれば、リレーションの接続先か、各分類の値一覧の設定ミスです。





たぶん、これが一人で出来るようでしたら、ソフト屋に成れます。

今回ので、データの流れを習得するのは普通は無理です。テーブルは一つなのに、仮想的にテーブルを増やして、データを分岐させています。このデータの流れのことをコンテキストと言います。
文章でいえば文脈の意味で、僕の苦手分野なのですが、いざ、運用で操作するときは随分と楽になります。(全てはそのためです)

最終的には設定Mt小分類のポータルにズラズラと絞り込まれたデータが集まるのですが、慣れてくるとコンテキストの逆から見て行くと流れが理解できるようになります。


グローバルフィールドについては、次回説明します。
動きをみてから説明したほうが良いと思って説明していませんでした。

スクリプト関係の説明や、運用時、ポータルを複数置いたレコード削除の危険性などについても後々説明していきます。



お疲れさまでした。




上記のダウンロード






2014年5月29日木曜日

第11回の補足

中分類登録画面の

小分類登録時のガイドのデータですが、登録したらチェックマーク「✔」が付くようにしました。
そうしないと、何を登録したのか分からなくなりますよね・・・。





ダウンロード
この段階でレイアウトデザインは、力入っていません。
ある程度出来たら、Navレイアウトに移植してダウンロードできるようにしておきます。


僕は、動きをみるため、めちゃくちゃに分類名データを入れているので、
お好きに修正しちゃってください。



第11回 自分で作ろう!弁護士向けソフト 大分類、中分類、小分類 その5

なかなか、進みませんね。
すみません。

前回までのをダウンロードできるようにしました。

(ファイルメーカーお試し版)

で、

エントリーをいじる前に、少し手直ししたいのですが

とにかく、
中分類名を登録した後に、
同じ画面に関連させる小分類名を登録するのは
エライ大変だということが分かりました。

もう一度言います。(私もこんがらがって・・・)
大分類で絞り込まれた中分類を登録していき
更に関連した個々の小分類を登録するので

基本的な事件名が掲載されているガイドらしきものがないと、
小分類の事件と関連付けさせるのが難しいんですね
(いったい、事件ってどのくらいあるの?)

それで・・・・

事件名データべースのガイドを作りました。



前回までのリレーション図をスマートにして・・・

事件名データベースを別途作りました。緑のテーブルです。



何が大変って、好きに登録できる大分類と中分類が大変で
それが出来ないと小分類まで辿り着かないんです。




右上のドロップダウンリストから、民事、刑事、行政、家事、少年から
選ぶと、事件名がずらりと表示されます。

そこを選択すると、小分類登録のフィールドにデータが入力されます。
裁判所、符号も一緒にデータ転記されるようにしました。

大分類名は幾つでも登録できます。
中分類名は使用される方が好きな分類名をつける。(絞り込み安いように工夫)
小分類名は中分類化された具体的な事件名です。





今回のは直ぐダウンロードできます。

(FileMakerPro12以上が必要です)


すみません、エントリーまで行けなくて。


さくっと、説明だけしておきます。
今までの設定は、事件名と関係する添付ファイルを分類で絞り込んでいくというもので、
ワードの公文章やエクセルのファイルなどのファイル詳細を登録する(事前登録する)商品マスタのようなものです。
大分類と中分類と小分類と設定Mtの登録です


次回は、事件情報を入力する画面から、登録済の関係ファイルデータを大分類、中分類、小分類に絞り込んでいきます。(事件毎に登録する)
もう一度言います。

前回は設定Mtが登録されていないので、登録するための、大分類、中分類、小分類でした。
次回からのものはエントリー画面(事件入力画面)から、既に登録された事件の関係ファイルを、大分類、中分類、小分類で絞り込んでいきます。(ややっこしいんです、すみません、)

ですから、ある程度マスタにデータが無いと作っても動きが分からないので
ここまでの各マスターは、壊す気持でデータを登録してみてください。



ここで苦労しておけば、使用時は楽です



※ちなみに、前に登録した関係で、小分類名の隣の裁判所や符号などデータが空になってる行があるのですが、「×」で消して、登録しなおしてみてください。
全部消して一からやり直しでもいいです。

(今回追加させた事件名DBテーブルのデータだけは消さない様に・・・)





2014年5月27日火曜日

第10回 自分で作ろう!弁護士向けソフト 大分類、中分類、小分類 その4

前回の続きになります。
前回は大中小テーブルの設定まででしたが、今回は仮想テーブル(テーブルオカレンス以下TO)を作成して絞込を行います。

まずは今回の完成図を見てみます。



販売管理ソフトでいえば商品マスタにあたる箇所の作成になります。
第8回の最初の画像の分類を選ぶと、関連するファイルが一番左にガイドされるための商品マスタのようなものです。(第8回のエントリーにある大中小絞込は、別途次回に作ります[別なんです])




前回までのファイルをもとに作成していきます。
無ければ第9回からダウンロードできます。

今回作成したものは次回ダウンロード出来るようにいたします。
(先に出すと作らないだろう・・と言われました。そうですよねw)



↑まずは、リレーション図の画面を設定していきます。
中分類Poテーブルをアクティブにして(クリックした状態)左下の「+」を押す(TOにする)と、仮想テーブルが現れます。ダブルクリックをして名称を「中分類」に変更してください。




の中分類テーブルは、設定Mtテーブルの「中分類id」フィールド同士を照合させます。
の小分類は、上の「小分類Po」をアクティブにしてTOにし名称を「小分類」にしたものです。方法は上と同じです。
小分類テーブルは、設定Mtテーブルの「小分類id」フィールド同士を照合させます。
の小分類2テーブルは、の小分類テーブルをTOにしたものです。
中分類テーブルの中分類id同士をつなげます。
これで今回のリレーション図は完成です。

問題はここからです。
設定Mtレイアウトで、動的値一覧を設定していきます。



まず、大分類idをアクティブにしてインスペクタのコントロールスタイルの中から「ドロップダウンリスト」を選択します。
次にファイルエントリー値一覧の管理窓から、新規ボタンを押します。



値一覧の編集画面が出て、「設定Mt大分類」という名称を付けて下さい。
(後に混乱しないためです)
フィールドの値を使用を選び
フィールドを指定していきます。

最初のフィールドの値を使用ガイドから「大分類」を選択して下さい。
そして「大分類id」を選びます。
2番目のフィールドの値も表示に
「大分類名」を選びます。
そのままの状態で、全ての値を含めるにチェックをし「OK」を押します。
これで大分類は終了。



次は再び設定Mtレイアウトに戻り、今度は「中分類id」を同じように設定をします。
値一覧の名称を「設定Mt中分類」にし、フィールドの値を使用を選択します。
フィールドの指定画面で

最初のフィールドの値を使用で「中分類Po」を選びます。(間違えないで下さい)
中分類idを選び
2番目のフィールドの値も表示に
「中分類名」を選びます。

そして、「次のテーブルから関連レコードの値のみ含める」を選択して
「大分類」を選びます
(既に登録された大分類データから絞り込まれるという意味です)
これで中分類の値一覧が完了です。



同じように設定Mtレイアウトに戻り、小分類idをアクティブにし、同じ設定を行います。
「設定Mt小分類」という名称をつけ、フィールドの指定に移ります。
最初のフィールドの値を使用で「小分類2」を選んでください。
「小分類id」を選択し
2番目のフィールドの値も表示に「小分類名」を選択します。

そして、「次のテーブルから関連レコードの値のみ含める」を選択して
「中分類」を選びます。
複雑ですね・・・

これで小分類が完了。



フィールドの設定画面に移って頂き
設定Mt_idのシリアル番号を自動化させます。
1+1で設定(今回はシンプルでいきましょう)



設定Mtレイアウトを作っていきます。
ヘッダを下げ、色を変更します

ヘッダは入力、ボディを表形式にしましょう。
なぜかというと、データを入力していくと分かるのですが、増えると画面いっぱいになります。入力する箇所が別の一定にあったほうが後々、操作しやすいからです。




レイアウト設定の表示でヘッダとフッダの表示にチェックを入れます。



こんな感じになりました。



ごめんなさい、設定Mtのフィールド定義画面で、「中分類名」と「小分類名」のルックアップの指定先を変更してください。
「中分類Po」となっている筈ですから、これを「中分類」の「::中分類名」に変更してください。「小分類Po」も同じように「小分類」を指定し、「::小分類名」です。

テーブルを複数のTOにしたので照合先を直接設定Mtと結ばれているテーブルに変更しないといけなかったのです。




設定Mtのレイアウト画面で大分類名、中分類名、小分類名のブラウズモードのチェックを外します。(これをしないとフィールド移動しません)



左一番下の「レイアウト」モードから「ブラウズ」に変えます。
表形式で表示してください。
すると、設定Mtが出来ました。
データが少ないので、
先に大分類マスター
中分類マスター
小分類マスター
に好きなようにデータを入れてみてから設定されるといいです。



ダウンロードファイルは次回



シリアルNo

シリアルNo

以前、オフィスコンピューターが主流であった頃は
分類コード、商品コードなどに意味を持たせ、コードNoからでも検索させる仕様が多かったように思います。例にあげると
自動車の部品屋さんなど、純正の数百、数千万点の部品と、社外品の数千万点の部品があるのですが、現場ではコード番号を打ち込んで検索したほうが早いと言うのです。
1分間に5件くらいの電話注文が入るので、ガチャガチャ操作してる場合ではなかったのですが・・・。
当然、絞込検索や名称での検索は出来るのですが、マウスとか使わない時代でしたから、いちいちエンターキーで進んでファンクッションを押して・・・という操作が手間だったのでしょう、ほとんどの方が億に近い部品を呼び出すのにコードNoを叩いていました。

でも、よく考えてみると、システムも優れているとは思うのですが
部品商さんのフロントマンが優れているわけで、傍から見てもミスが無いわけですから、神業としかいいようにありませんでした。

現在は、なるべく業種業態にもよりますが、コード番号自体をエントリー(入力画面)から外した開発が多いようです。内部では照合などで頻繁に動いているのですが、使用者側に余計な気を使わせない、改行やスペースなど打ち込ませてミスを防止させるためにも、外すこと、もしくは、通し番号のように意味を持たせない仕様が増えています。

FMはデフォルトオプションでシリアル設定があります。
新規レコードボタンを押すとシリアルNo1番から2番になるような設定です。
2番のレコードを削除すると、次のレコードは3番が振られます。
いわゆる欠番です。
自己リレーションを組んで計算式を入れると、更新再連番として、その欠番を補う事も可能なのですが、たとえば明細Noの欠番が、どれほど気になるのか、レコードNoの欠番が発生したので夜も眠れないというのであれば、しょうがありませんが、IdNoを計算式にするのは、私の場合、なるべく避けています。
(どうしてもという場合は、計算式ではなく、タイプを数字にして、スクリプトなどで計算させ、データが保管できるようにしています)

なぜかというと、データのエクスポート、インポートを頻繁に使用するからなのかもしれません。
レコード削除する前にデータをエクスポートしたファイルがあり、しばらくした後、やっぱりデータを元に戻したいとなったら、タイプが計算式なので、そもそもデータが入りませんし、スクリプトなどで回避したとしても計算式でNoが連番化されているのでNo重複とみなされ、インポートの照合が出来なくなります。たぶん頭の良い人なら回避させるプログラムは組めると思うのですが、目視点検は必要でしょう。そっちのほうが不安です。

欠番、いいじゃないですか。
デベロッパーは昔も今もSE達と揉める箇所なのですが
使用者に気を使わせない仕様を考えれば、欠番が発生する仕様、いわゆるFMデフォルト・オプションのシリアル設定のまま奨めています。

※業種・業態にもよります

今進めている弁護士さん向けのソフトの場合は、大分類コード、中分類コード、小分類コードなどと、事件別のワードやエクセル、PDFなどを保管する関係ファイルのコードに意味を持たせ、通し番号にするかどうかということでしょう。

たぶん、それでいくと桁が増えます。
大分類の種類はせいぜい10あるかないか、でも中分類になると50種類くらい?
小分類はどんどん増えて行く気がします。1万はないと思いますが・・・。


この辺は、進めながら考えて行きましょう




データベースの索引設定 

 <各大中小分類マスタにidを付けるか付けないかの判断>


今回、大分類idとか中分類id、小分類idなど数字key(索引または照合)にしていますが、idを省いて、直接文字など名称をkeyにすることも可能です。(検索が早いです)
しかし、作り終えてしまってから「あちゃー;;」と反省することもあるのですが、データベース開発はなるべく別途
数字によるkeyでコードであるとか、idとして照合することをお奨めします。

その判断は各項目のデータ量ではなく、変動があるかないかで決まるのですが、

例えば、

○開始
○継続
○完了

のような、名称が比較的変わらないものであれば、名称をkeyにして照合しても構わないのですが、

○わたなべさん
○たなかさん
○たかはしさん

という担当者の様な名前で照合すると、異動、退社した時など困ります。消してしまうと他の関連ファイルが参照できなくなる可能性があります。
しかし、担当テーブルなどに別途、数字などのidフィールドを持たせておけば、idkeyにして担当が変わってもそのままでよく、文字の名前フィールドだけを変えれば、そのまま引継ぎデータなども閲覧できるので、これ等の照合に関するジャッジは必要です。
慣れなければ、とにかくリレーションは数字フィールドをkey(索引)にする習慣をつけるといいかもです。めんどくさいかもしれませんが・・・。

○事件名は公的に変えられないものであっても、絞込の内容を好きに変えたいのであれば
小分類の名称だけは決まった定型の事件名にして、大分類の名称や、中分類の名称は好きに設定すればいいと考えます。すなわち数字idのkeyを持たせるということです。

○また、小分類など今後増えたり、事件では無く、「苛め相談」のような定まっていない名称の相談内容であれば、たぶん変動する可能性があるのかと思います。ですので、これも数字のidを別途、持たせています。



後々、自分でメンテナンスをするときに楽です。






Associatron (アソシアトロン)連想記憶

  なぜか、僕のブログの研究所側ではなく、FileMaker側にヒットするので アソシアトロン Associatron研究 リンクを貼っておきます。 研究と実験詳細 https://cside-associatron.blogspot.com/ 公開実験(JavaScriptのみ...