FC2ブログ














FileMaker セレコネ(selector_connector)で構築 2

いや〜どうも。

休日はランニング、10〜20kmぐらい走るんだけど、その後スーパー銭湯でのんびりするのが日課なんだ。
さっきスーパー銭湯へ行くと、な、なんとボイラー故障に付き休館とな。
楽しみにしていたのにね。でも、その時間をこうしてブログ記事を書けているのでよしとしよう。

セレコネです。
セレコネは独特のリレーション構築になります。今回はリレーションの話です。


▼セレコネのリレーションマップ
スクリーンショット 6

初心者さんの記事の部分は上図の緑色の部分になりますね。
それに加えて、connector,selectorと呼ばれるテーブルが便宜上存在することになります。これが特徴であり、セレコネと呼ばれる由縁です。
このconnectorを介して全てのTOをリレーションさせるのです。これにより全てが関連テーブルとなります。

全てが関連テーブルとなるとはどういうことなの?なにかいいことはあるの?
答えはYESです。難しい話になるので詳しいことは割愛しますが、作る側にとっては面倒な手間が省ける部分があります。

selector には子TOがぶら下がります。これもマジックキーとか分かり難い概念が出てきますが、セレコネにおいて構築はそういうものだとしておきます。

長くなったので今日はここまで。
次回はconnectorとselectorのフィールドを見てみる。です。

ワインを飲みながらなので記事が酩酊しているような気がする。

スポンサーサイト
[ 2019/02/17 16:30 ] セレコネ | TB(0) | CM(0)

FileMaker セレコネ(selector_connector)で構築

いや〜どうも。

だいぶ、日が長くなったような気がします。

さて、今シリーズは「前回作った作品をセレクターコネクターにする」です。
現在のFM最新バージョンは17(2019/2現在)です。
スライドコントロールやポップオーバーなど様々な機能が追加される中セレクターコネクターが生まれました。
今シリーズはこんなことがサクッとできるよ、という初心者さんへの紹介です。

前回、初心者さんの質問を元にリスト表示から詳細表示の切り替えをテーマに話を進めました。
そのなかで、mainテーブルはデータ数を増やさない、マスターデータを表示するためだけの役割だ、と述べました。
このようなリレーション構築をsessionモデルと言います。
この他リレーション構築にはアンカーブイ方式と呼ばれるものもあり、こちらが一般的に用いられています。
以前にもアンカーブイやセレコネを記事にしていますので「なんとなく知りたい」というかたはブログ内検索でご参照下さい。

伊藤「先輩、昨日は飲み過ぎましたね」
わし「そやな」「でも、明日香ちゃん、よかったわ〜」
伊藤「先輩、ボトル2本も入れるからサービスしただけでしょ」
わし「そや、あんなにたくさんあるボトルの中からいっちばん高いやつ2本もセレクトしたんやから、それくらいしてもらわなあかんで」
伊藤「そうそう、それ、セレクトで思い出したんですけど、前回の作品セレコネでやってみませんか」
わし「えらい強引やなー、その展開」
わし「まあ、ええわ」

まずは、こんな作品になります。


スクリーンショット 1

伊藤「あら、先輩」「あまりかわってませんね」
わし「見た目はね」
伊藤「何が変わったんですか?」
わし「実際に業務に使うことを想像してみると、どんなことが考えられる」
伊藤「そうですねぇ」「えー、マスタデータの追加や編集とか」
わし「そうや」「ちゅうことで新規登録と編集機能を搭載したんや
伊藤「地味ですね」

実際には、こんな具合になります。

スクリーンショット 2


わし「まずは、追加ボタンをポチッとな」
伊藤「おっ、ピンクに変わった、まるで夜の五反田を彷彿させますね」
わし「うん、うん」「ここに新規データを登録や」
わし「ばなな仁王、果物名は...」
わし「でけた」
伊藤「ここで、確定ですね」

▼追加ボタンを押したところ
スクリーンショット 3


伊藤「夜の果物、ばなな仁王が登録されていますね」
わし「あかん、価格間違えとる」
伊藤「こんな時に編集ですね」


▼ばなな仁王が登録された
スクリーンショット 5


わし「二万、三千円と」
伊藤「ぼったくりやないですか」
わし「てへっ」

▼編集ボタンを押したところ
スクリーンショット 4


このように同一画面内で新規登録から編集まで行えます。

▼動画で確認


今日はここまで。
[ 2019/02/14 10:22 ] セレコネ | TB(0) | CM(0)

FM17の新機能 ポータル機能自己リレーションをつかわない 7

いや〜どうも。

夜、眠りが浅いのは低血糖のせいかもね。夜遅くの食事はやっぱよくないらしい。
それって、俺のことやん。

さて、今日でこのシリーズはおしまいです。
前回は伊藤くんの質問「バッテンリレーションと常に1の考え方です。

わし「前にも書いたけど、マスタデータの方を0にするとmainテーブルのリストから消えるわけですやん」
伊藤「そう言っていましたね」

▼みかんを0にしてる
スクリーンショット 9

▼みかんがリストから消える
スクリーンショット 11

わし「これって、考え方を変えると」
伊藤「変えると」
わし「表示したくないときに積極的に活用できる!」
伊藤「というと?」
わし「初心者さんは臨床工学技士やって言うとったやろ」
伊藤「そうですね」

わし「例えば、これを機器の台帳につかうとする」
伊藤「ありえますね」
わし「そうするとな、古くなって使わなくなった機器は表示したくないわけや」
伊藤「そうですね、全5個ぐらいのならまだしも...」
伊藤「データ数が200くらいあって、その内50ぐらいが必要ない時なんかは」
わし「邪魔、やろ」

わし「でもな、基本的にマスターデータちゅうんは削除せえへんねん」
伊藤「ひえっ」
わし「こんなときに便利なのが、常に1やねん」
伊藤「ほー」

わし「常に1だとイメージがつきにくいから、有効/無効みたいにするとええな」
伊藤「ああ、下図みたいにするってことですね」


▼有効/無効にしてみた
スクリーンショット 9

わし「こうすると、逆にmainのほうの登録番号を変えることで無効だけを表示するなんて応用もできる」
伊藤「たしかに」
わし「まあ、ポータルフィルタがなくても、同じことができるっちゅうことや」

わし「以上や」
わし「初心者はん、どや、こんなところで?」「もし、興味が出てきたらぜひ最新版買うてな」
伊藤「そうですね、ずいぶん作る側として使い勝手がよくなってますからね」

以上で今回のシリーズ終了です。

次回は、新シリーズ「このデータを利用してセレクタ_コネクタで新規入力画面を作る」です。
[ 2019/02/11 09:18 ] ファイルメーカー | TB(0) | CM(1)

FM17の新機能 ポータル機能自己リレーションをつかわない 6

いや〜どうも。

コミュニケーションスキルは高い方がいいですね。
さて、前回は仕組みについてでした。
今回はスクリプトで実行するです。

わし「今日はスクリプトや」
伊藤「スクリプトって?」
わし「簡易なプログラムってことや」
伊藤「へー」「じゃあ、これからプログラムを書くってことですね」
わし「まあ、そんなところや」

では、今回のスクリプトです。

▼スクリプト
スクリーンショット 8


因みにスクリプトはここから新規スクリプトを選びます。

スクリーンショット 5

わし「さて、スクリプトの内容です」
伊藤「たった2行ですね」
わし「意外と簡単やろ」

わし「一行目:フィールド設定なんちゃらかんちゃら はよく使うねん」
伊藤「どういう意味ですか?」
わし「ピンク色で書かれているフィールドに」
伊藤「この場合、mainテーブルオカレンスの、登録番号フィールドにってことですね」
わし「○○という値を放り込みなさいってことなんや」
伊藤「今回は、slave_main|常に1 テーブルオカレンスの、登録番号フィールド値をってことですね」
わし「○○という値は、フィールド値でもええし、任意の数字や文字、それから計算値、変数、なんでもOK」
伊藤「ふーん、なんでもいいんですね」

わし「あとは、二行目、レコードを確定して終了や」「まあ、そういうもんだと覚えといてや」
伊藤「そうなんですね」

伊藤「ところで先輩、さっき値のところで出てきた変数」
わし「ん」
伊藤「そこんとこ、もうすこし」
わし「んー、これを使うとスクリプトの幅がかなり広くなるんだよ」「例えば変数を使うと下図のようになんねん」

▼変数を使用したスクリプト
スクリーンショット 6

伊藤「ああ、先輩」
わし「なん」
伊藤「変数の説明は過去記事にありました」
わし「ほな、そこを見てや」

わし「あとはポータルにボタンを設置して」
伊藤「なるほど」
わし「ボタンにさっき作ったスクリプトを割り付けておしましい」
伊藤「そうですね」

伊藤「最後に、質問」
わし「なんや」
伊藤「ちょっと前記事のバッテンリレーションと常に1」
わし「ん」
伊藤「先輩が行っていた、常に1じゃないとできないことって何ですか?」
わし「長くなったんで次回にしようや」

今回はここまで。
次回は常に1の使い道です。
[ 2019/02/10 09:50 ] ファイルメーカー | TB(0) | CM(2)

FM17の新機能 ポータル機能自己リレーションをつかわない 5

いや〜どうも。

今日は雪っていってたけど結局はたいしたことなかったね。
都心は積もるかもってんで、予定をキャンセルしたけれど、しなくてもよかったよな。

さて、初心者さんの質問は、今日で完成かな。

伊藤「先輩、そろそろ完成ですかね」
わし「そやなぁ」
伊藤「今日はどっからいきましょうか」
わし「ポータル行をクリックすると詳細に表示される仕組みからやな」

伊藤「では、よろしく」
わし「まず、わかりやすいよう下図のようにmainの登録番号を配置するで」

スクリーンショット 2

わし「ブラウズモードにして」「手打ちで001って入れてみてや」
伊藤「こうですね」

スクリーンショット 3

わし「ほい、いちご美人」
伊藤「そうですね」
わし「次、適当に入れてみ」
伊藤「では、003っと」

スクリーンショット 4

わし「はいーっ、俺んちのオレンジ」
伊藤「素晴らしいネーミングですねぇ」
わし「んー、ええなぁ」

わし「つまり、登録番号に入力した数字が商品マスタの登録番号と一致していれば、それに応じた情報が表示されるってことやね」
伊藤「詳細の方は登録番号でリレーションしているからですね」
わし「そういうこと」

わし「では、これで終了」
伊藤「いや、先輩」「いちいち手で入力はだめですよね」
わし「そうや」「だから自動で入力したらええねん」
伊藤「スクリプトですね」「そこまでいきましょうよ」
わし「では、次回」

ということで次回はスクリプトです。


[ 2019/02/09 20:13 ] ファイルメーカー | TB(0) | CM(0)