スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | TB(-) | CM(-)

FileMakerで業務日誌を考える 10 〜Virtual list とは2〜

いや〜どうも。

さて、前回はVirtualな部分について書きましたが、なんとなくわかったでしょうか?
今回はlistの部分ですよ。

では、早速。

変数の設定って下のようにして行います。

スクリーンショット 11

わし「上の例やと箱$nの中に1を入れるやな。つまり$n=1なわけや」
伊藤「そうですね」
わし「では、値の部分を“スティーブ”としたらどうなると思う」
伊藤「$nにスティーブを入れるわけですから、$n = スティーブ なんじゃないですか」
わし「そう、スティーブというテキストデータが入ることになんねん」

伊藤「なるほど、値は数字じゃなくてもいいんですね」
わし「そう、テキストでもいいし、フィールドでも関数でもいいんだ」
わし「もっと言えば、値に変数を入れることだってできるんだ」
伊藤「ふーん」

わし「ここで、値にリストとなるようなデータを入れたらどうなる?」
伊藤「あ、リストがついに出てきましたね」「Virtualな箱に、値となるリストデータ!」
わし「そう」
伊藤「すいません、正直よくわかりまえしぇん」「値となるリストデータって何ですか」

わし「例えば」

例えば次のようなリストデータ、この項目IDだけに注目してみましょう。

スクリーンショット 3

下のようにID部分だけを表記してみました。これってIDのリストってことになりますよね。
1
2
3
4
5

で、上のIDリストをWordなどでタイプするときを思い浮かべてみてください。
1 をタイプして次に リターンキー で改行して、また2をタイプしてリターンキーで改行、・・・・ってなりますよね。

FileMakerではまさにこの考えで、改行が入ったものをリストデータとして扱うことが出来ます。(まあニュアンス的に)

わし「で、この改行区切りデータを作るのが過去記事の集計フィールドのオプションである“一覧”なんや」
伊藤「なんか、線と点がつながってきましたね」
伊藤「Virtualな部分である変数に、値としてlist形式のデータを放り込むわけですね」
わし「つまり」
伊藤「Virtual list ですね」

今日はここまでッス。
次回はリストデータ見てみよう!です。


スポンサーサイト
[ 2015/09/25 00:57 ] 業務日誌 | TB(0) | CM(0)

FileMakerで業務日誌を考える 9 〜Virtual list とは〜

いや〜どうも。

ガラケーって意外にお得かもしれませんね。

さて、前回は各テーブルについて見直しましたが、記事の中にVirtual listという言葉が出てきました。
Virtual listとは一体どんなものなのでしょうか?今日はこれについてです。

Virtual list の概念
 Virtual list、つまり仮想なリストなわけで、ここでいう仮想とは表には見えてこないところにあるという意味で解釈してもらってよいでしょう。見えないところとは一体どこのことを指すのでしょうか。

例としてここに一つデータを用意します。

▼メンバーリスト
スクリーンショット 3

伊藤「先輩、データを用意しろって言うんでメンバーのデータを用意しました」
わし「お、ええやん」「IDと名前がまさにリスト形式で表示されているわけやな」
伊藤「ええ、そうですね」

わし「これって、どこに表示されていると思う?」
伊藤「え、どこに」
わし「そう、どこに?」
伊藤「何処にって、メンバーテーブルの各フィールド中にデータが入っていていますよね」
わし「せやな」
伊藤「それで、リスト表示用に用意したレイアウト“メンバー”にデータが表示されているんじゃないですか?」
わし「ご名答」

わし「データを表示させるにはデータを表示させるための入れ物が必要になんねん」
伊藤「その入れ物って、“テーブル”であったり表示させるためのレイアウトってことですね」
わし「そう、これは目に見える、顕在化したものであるわけや」

わし「ところがVirtual listの概念では目に見えないところにリストを作ってしまおうというものやねん」
伊藤「見えないところって?」
わし「それは」
伊藤「それは?」

わし「変数やねん」
伊藤「変数ですって!」
伊藤「・・・・・」
伊藤「さっぱりわかりません」


変数って聞いたことありますか。スクリプト中にもよく使われています。例えば次のようなスクリプトでは

スクリーンショット 12

1行目で $n に 1 を代入しなさいってことがかいてあります。読み込まれた時点で$n という変数は 1 になります。
変数とは値を一時的に保存しておくとよく例えて表現されます。
上の場合ですと$nという入れ物を用意して1という値を入れたということになります。

FileMakerの変数は次のように設定します。

スクリーンショット 11

名前は値を入れる箱の名前、値はその箱に入れるものとなります。


わし「変数でいうところのいわゆるはテーブルやフィールドを用意してあるわけやないやろ」
伊藤「そうなんですね・・・」
わし「そうなんや」
わし「いってみれば、目に見えないところ、いわば仮想的な場所に箱を設けてるわけや」

伊藤「なるほど、ようやく仮想というところにたどり着いたわけですね」
わし「そや」
伊藤「で、Virtualな部分は何となくわかったんですけどListはどうなりましたか?」

わし「長くなったのでここまでや」
伊藤「またですか」

今日はここまでッス。

次回はVirtual listの listについてです。
[ 2015/09/24 00:55 ] 業務日誌 | TB(0) | CM(0)

FileMakerで業務日誌を考える 8

いや〜どうも。

行楽日和ですがみなさんどこかに出かけていますか?えっ仕事、やっぱそうですよね。

さて、前回はスクリプトを起動させた時の動作イメージについて書きました。
今回はいまいちど各テーブルのフィールドを見ていくことにします。

▼業務日誌テーブル
スクリーンショット 9

業務日誌はただ単に出退勤テーブルを表示させるだけのレイアウトになります。なのでフィールド数も非常に少なくシンプルなものです。


▼出退勤テーブル
スクリーンショット 9

 こちらはこのシステムの肝となるテーブルです。だれがいつ有休を取っているとか、勤務時間、出勤部署はどうだなどを管理するためのものです。こちらのデータを二次利用することによって超過時間の計算なども可能になってくるでしょう。
各フィールドの説明ですが重要なものだけ書きます。

●ID メンバーを特定するためのものです。メンバーテーブルとリレーションが組まれていてIDが入力されるとそれに応じた名前が自動入力されます。今回はVirtual listという概念を使ってIDを自動入力します。計算内容はGetValue ($id; Get(レコード番号) )。後ほど詳しく説明する予定です。

●名前 IDフィールドに数字が入力された時にそれに応じた名前が自動入力されます。

●日誌ID 業務日誌テーブルの日誌IDフィールドとリレーションが組まれています。

●日付 業務日誌テーブルの日誌IDに応じた日付を自動入力します。今のところルックアップ機能を使っています。

あとは、おまけみたいなものなので説明は割愛します。
※このテーブルには主キーになるものがありません。現時点では問題なく動作しますが本来はテーブルに存在するレコードを特定するための主キーを必ず設置すべきです。


▼メンバーテーブル
スクリーンショット 8

●リスト メンバーのIDを改行区切りで値を取得します。Ver.12から新たに搭載された機能でViutal Listの肝となるフィールドです。
スクリーンショット 10

今日はここまでッス。
[ 2015/09/23 00:41 ] 業務日誌 | TB(0) | CM(0)

FileMakerで業務日誌を考える 7

いや〜どうも。

もうすぐiPhone6sが発売されますね。でも、まだまだ4sでいきますよ!

さて、前回はまでで下のようなリレーションが出来ています。

スクリーンショット 11

ここからはスクリプトについて書いていくつもりですが、まずは動作のイメージです。
↓図を見て下さい。業務日誌の画面になります。
スクリーンショット 6

動作イメージとしては

「今日の日付を追加」ボタンをクリック→新規レコード作成→今日の日付が入力される→メンバーの名前が自動的に入力される

こんな感じです。で、結果としては↓が得られるようにしたい。
スクリーンショット 7

今日はここまでッス。

[ 2015/09/22 10:53 ] 業務日誌 | TB(0) | CM(0)

第二回セミナー

いやーどうも。

今回は告知です。
明日のセミナーは時間変更があります。13時から開始となります。
懇親会も行いますのでよろしければお気軽にぜひ参加下さい。

また、東京以外でも開催希望もありますが興味のある方っていますかね〜?
ぜひって方はいいねをクリック下さい。

では、明日の懇親会もぜひよろしくお願いします。
[ 2015/09/11 18:37 ] ファイルメーカー | TB(0) | CM(0)

FileMakerで業務日誌を考える 6

いや〜どうも。

すげー雨ですな。ここんとこお日様を見たことないよ。


さて、今回は業務日誌テーブルオカレンスとリレーション関係にあるメンバーテーブルオカレンスについてです。
テーブルオカレンス的にはどおってことのない簡単なテーブルです。
自分では無く他人が使うことを考えた場合、こういったマスター的なテーブルの考え方を素人なりに考えてみます。

下の図を見て下さい。
今回のリレーションズになります。業務日報を親ファイルに出退勤が子、そしてメンバー_出退勤が孫ファイルになります。
(細かい話ですがFileMakerはテーブルオカレンスという考え方から同一テーブルの分身が多く作られます。このためテーブルオカレンスには命名規則をつけることが重要になります。「メンバー_出退勤」といった命名は私流のものです。)



スクリーンショット 11

上図から子ファイルの出退勤と孫ファイルに注目してみると互いにIDフィールドでリレーションが組まれています。
これを踏まえて↓図を見て下さい。これは子ファルである出退勤テーブルオカレンスになります。
実はこの出退勤こそがこの業務日誌の中核となるファイルで、業務日誌テーブル自体はこの出退勤を表示させるだけのファイルといっても過言ではありません。

スクリーンショット 2

メンバー_出退勤とリレーションを組む意義は、左から二番目のIDを入力すると名前がルックアップで表示するようにするためです。
ではメンバー_出退勤をみてみましょう。
スクリーンショット 3

シンプルですね〜。
ここに,メンバーの名前を登録していきます。実際にはこの他のフィールドとして「いるいない」フィールドを設けて業務日誌に反映するしないを取捨できるように工夫する必要もあるかもしれませんね(産休で長期休暇とかうつ病で長期休暇とか)。

ここからが本題になります。
先ほども言いましたがこのメンバーテーブルはマスターファイルになります。
今回は話をシンプルにするためにとくに制限を設けませんが、実際に自分ではなく他人のためにファイルを作ると考えるとこういったマスターファイルには制限をつける必要があります。ここで言う制限とはアクセス権限のことです。じゃないと空白のデータを勝手に増やされたり、逆にメンバーを削除されたりする必要があるからです。一番よいのは管理者を設けてその人だけに編集の権限を持たせることだと思います。

また、入力や削除に関してはそれ用のレイアウトを設けるのもよいですね。それ用のレイアウトというのは例えば下のようなもの。

スクリーンショット 4

他人が使用すると言うことを考えた場合、こういったものを利用してユーザーフレンドリー且つ間違いの少ないファイルを作っていく必要があると思います。


まあ、今回はどうでもいい話でした。聞き流して下さい。


[ 2015/09/09 22:43 ] 業務日誌 | TB(0) | CM(0)

FileMakerで業務日誌を考える 5

いや〜どうも。

今回はレイアウトです。
手取り足取り丁寧に説明していきます。

まずは、イアウトモードへの変更
macならコマンドキーを押しながらLキーを押します。⌘+L
WinならCTL+Lです。

ィールドの設置
フィールドピッカーを使いましょう。フィールドピッカーはVer.13から搭載されたフィールドを設置するための機能です。

名称未設定 2

▼フィールドピッカーウインドウ
スクリーンショット 2

実際の配置は下図のようにドラッグアンドドロップします。
スクリーンショット 3

ータル部分の設置
ポータル部分を設置します。
下図のようにポータルボタンを押した後にポータル範囲をドラッグして設定します。
スクリーンショット 4

150906-0005.png

下図のようにリレーション先のテーブルオカレンスを指定します。ここでは出退勤を選択します。
スクリーンショット 5

下図のダイアログが出てきますので必要なフィールドを選択してOKをクリック。
スクリーンショット 6

はい、レイアウトは下のようになっていますね。
フィールドの幅など体裁を整えた方がいいのですが今回はこのままで生きましょうか。
生きましょうか→いきましょうかが正解ですね。

まあ、人生急がずぼちぼちいきましょう。

今日はここまで。

テーブルオカレンスとリレーションの詳しいことはこちらを参考にして下さい(Yes We canさんのページです)。
http://ywc.com/filemaker/?p=2703
[ 2015/09/06 11:36 ] 業務日誌 | TB(0) | CM(0)

FileMakerで業務日誌を考える 4

いや〜どうも。

FileMaker ステップアップセミナー for CE 1 ですが無事に終えることが出来ました。
参加者の方には若干簡単すぎた無いようだったかもしれませんが次へつなぐための基礎なので、ぜひ二回目に期待して頂きたいと思います。こんなことで困っているよなんて質問はぜひセミナー後の懇親会でどうぞ。

さて、業務日誌ですが前回の記事では「繰り返しフィールドや実際の使用には弊害があるよ」って話をしました。
では、どうするかって話をします。

今回はテーブルを増やします。
すでに業務日誌テーブルは出来ていますがあと3つ追加します。
「メンバー」、「出退勤」、「勤務シフト」の3テーブルです。
フィールドは以下を参照下さい。

▼テーブル
スクリーンショット 7

▼メンバー
スクリーンショット 8

▼出退勤
スクリーンショット 9


▼勤務シフト
スクリーンショット 10

次にリレーションは下のように結びます。
スクリーンショット 11

今日はここまでッス。
次回はレイアウトです。
[ 2015/09/05 12:46 ] 業務日誌 | TB(0) | CM(2)







上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。