2010年7月25日日曜日

FileMakerの新商品

FileMaker社より先日iPhone及びiPad用アプリ「FileMaker Go」なるものが
発売されました。

メーリングリストやツイッター上でやいのやいのやっていたので、
自分も早速購入してみました。

◆何が出来るの?

 iPhoneやiPadで動くランタイムアプリです。
なので、ファイル共有やサーバーでホストしているFileMakerに接続して操作が出来ます。
自分はまだ試してませんが、iTunes経由でコピーを格納して使うことが出来るようです。

 要は1つのクライアントとして操作が出来るのです。

 今までは1クライアント追加とはすなわち、1PC購入、1FileMakerライセンス購入だったのが、
1iPhone購入、1FileMaker Goアプリ購入となります。

◆何が出来ないのか

 インスタントWebクライアントと同じ様に、印刷やインポートエクスポートが出来ません。
モードはブラウズモードのみ使用可能です。
電話は出来ますが、通話の前にFileMakerとの接続が切断されますww

 ただ、インスタントWebと違い、ログイン時のスタートスクリプトにステータスエリア隠してロック
とか出来ますし、ログイン時にadminじゃないアカウントで入れば、そのアカウントに
付与されているアクセス権に応じたCRUD権限になり、それに応じてレコード追加や削除の
アプリ側のメニューもグレーアウトしたりします。


 という事で、FileMakerで業務システム(全体もしくは一部)を作って使っているところは
1つのクライアントとしてiPhoneやiPadを利用するシーンがあれば、非常に有効なツールと
なるのではないでしょうか?

 もちろん、画面そのまま見えるのですが、ブラウザエンジンが?レンダリングしている関係で
インスタントWebのようにレイアウトによっては汚い、ボタンが押せない等不都合は発生すると想いますが
価値あるツールだと想います。

今の世は 人とIT 使いよう

2010年6月27日日曜日

外道の1 数字書式を使う

なんてタイトルにしてみましたが、たいした

内容ではございません。

FileMakerの数字型フィールドor戻り値の型が数字の計算フィールドの
場合、レイアウトに置いた時に、値をそのまま表示以外の方法が
あります。

1:金額のように見せる。

  ようにというか、主に金額等3桁区切りでカンマをいれる事が出来ます。

2:通貨単位を表示させる。

  これは、設定した記号を固定で表示させる設定なので、「$」とすれば
  ドルに「¥」とすれば円に見えると。

  ここでもちろん「ガバス(半角)」とか出来ます。実際にはない通貨記号や
  単位を使うあたりが外道です。実例は無いですけど。。

3:論理値を使う。

  これは意外とやります。値が真の時と偽の時でそれぞれ全角7文字程
  日本語を表示させられるので、例えば請求済フラグがたっていれば、
  「請求済」や逆なら「未請求」。無効(キャンセル)フラグのフィールドなら
  「VOID」など、データベース上では1,0で扱いたいが画面上で
  その情報を日本語で表示させたい時で、簡単な一言ですむ場合に
  使えます。

本日はそんなところで。

2010年6月6日日曜日

外道の6 Evaluate関数の使い道

やぁやぁやぁ 未だに行間広すぎの設定直してません。

本当は順を追ってFileMakerのクセなんかを紹介していきたいのですが、

忘れないうちに紹介しておきたい外道技を。

------- Evaluate関数とGetField関数を変な風に使う -------

FileMakerのEvaluate関数は最初の引数が計算で、次以降の引数が監視する
フィールドになっています。

普通はとあるフィールドの値が変わったら再計算する。という使い方をします。

この関数をスクリプトの中での処理や非保存の計算フィールドの中で使う時、
単純なEvalな関数として使えます。javascriptなんかでありますよね、
eval("ホニャララ");って。そんな使い方をします。

今回自分がやった使い方は、試験テーブル(1試験1レコード、試験科目名を
複数持つ)に集計科目名格納フィールドを持たせ、ユーザーに任意の科目を
選択してもらった科目名を保持します。

そして試験明細(1受験者1レコード1試験レコードのみに関連する)側で集計する
科目がなんなのかを親のフィールドを参照して合計点を出す。です。

科目A+科目B+科目C+科目D...と任意の科目の合計を出す訳ですが、
親がもつ集計設定フィールドには

"GetField(\"科目A\")+GetField(\"科目\")+GetField(\"科目C\")..."

みたいなテキストが格納されていて、それを明細の集計値評価フィールドで
Evaluateするんです。

Evaluate(試験::集計設定)

こうする事で、どの科目が集計対象かを科目の数だけ親を参照して確認する
必要がなくなるので、幾分処理が速いのではないでしょうか?

まぁ、外道というより素直じゃないやり方と言った方が的確かもしれませんね。。

スナナレってやつですか?

2010年5月10日月曜日

FileMakerのコンバート手順

お金出して外に頼みたくないとか、中身が複雑すぎて無理って言われたとか

予算が取れない方のためにざっと手順をば、

1、データ無しBUを用意。これで作業します。データがあると重いので。

2、コンバート(最新版で開く)

3、各ファイルのファイル参照名称をキレイにします。「fileName  x」なんて

感じでダブってたりすると思うので、その中の一つを「fileName」に編集。

あわせて参照動作を軽くするために参照PATHを実在する(使う)ものだけにします。

4、リレーションシップグラフで3できれいにしたファイル参照名に取り替えます。

5、値一覧定義とフィールド定義も確認して4と同じ作業をします。

6、4と5が終わったら使われなくなったファイル参照を削除します。

これでデータのつながりに関する作業は終わります。簡単ですがファイル数が多いと

一つ一つの動作に非常に時間がかかります。

7、全てのレイアウトを修正します。一言ですますと簡単そうですが軽く地獄です。

テキストフィールドの文字サイズごと必要な縦幅が違うので大きさの調整が必要になります。

それとVer7以降でブラウズと検索でフィールドの入力可否を分けられますので

そういった箇所の調整と、日付の区切りがver6まではYYYY.MM.DDだったのが、

Ver7以降ではYYYY/MM/DDとなっていますので、日付書式も調整して下さい。

レイアウトに置いてあるテキストラベルとか全滅している可能性が大ですので

すべて大きさを調整します。ラジオボタンやチェックボックスも同様です。

ひたすらコツコツ地味な作業です。知識やスキルはいりませんけどね。

ここまで終わると動くものになります。 重要なのは6。間違えて整理し忘れていたり、

使っているファイル参照を消してしまうと、つなぎ直し作業が 発生します。これ大変。

レイアウトは印刷レイアウトのみさっと直すか、作り直すかして、入力や検索は

あとからちょっとずつでも良いでしょう。

スクリプト関連での注意は、複数ウインドウを使うスクリプトで、レコード確定が

おろそかになっていると、「別のウインドウで使用中です」みたいなエラーが出るように

なる事です。そこで処理が止まってしまうので、横着せずコツコツ直して下さい。

まぁ、リレーションの定義が複雑な業務系ほど悲惨な状態になってたりするので、

いっそ作り直した方が快適になるかもしれませんけど。。

FileMaker Ver6あたり

未だに現役の場合もあるでしょうFileMakerのVer6(含むVer5)について

カスタムWeb公開という機能があります。これはHTML内にCDMLという

独自ルールのタグを埋め込む事によってFileMakerデータをWebブラウザに表示

させるという物です。

ぶっちゃけ重いと思います。それとURLがFileMakerServerが社内にあったり

するので、http://グローバルIP/xxxxとかになります。

よくないですね。まぁドメインにする事もできたと思いましたけど。。

CDMLとはクラリス何とかマークアップランゲージです。

あまりWebプログラムの知識のない方でも出来る一方、

ファイルの置き場所に制限がある等一般公開用には適さないのでは?

と考えます。

最新のFileMaker Ver11ではプリンタの用紙サイズ覚え込みも

だいぶ改善されたようなので、古いFileMakerを使う理由は無いと

思います。実際には業務でフル稼働していて移すに移せないとか、

最新版に調整する時間が・・というものですが、

そういう時はお金を出してデベロッパーにお願いしましょう。

2010年4月26日月曜日

FileMakerのざっくり歴史

とりあえず古い順にそして、自分が知ってる範囲でざっとFileMakerの歴史をば。

古代:〜FileMaker Ver4

最初FileMakerはカード型データベースとして誕生したようです。

簡単なカルテですね。今でも医療関係でFileMakerがよく使われているのは

昔からあるMac系のDBアプリだからでしょう。

Ver4だか3からリレーションという概念が付け加えられましたとさ。

近代:FileMaker Ver5〜6

この時代迄FileMakerは1ファイル1データベース1テーブルでした。

やっかいな仕様があり、数字型のカラムにtrue t yes y といった文字をブチ込むと1を返します。

逆にfalse f no n を入れると0を返します。そもそも数字型にテキストを入れるなという話ですが、

テストデータとして入れた文字がたまたまtとかnが先頭に入ってて、あばばばばな目に合いました。

この時代のカスタムWeb公開はCDMLというタグをHTML内に記述してデータを表示させるものでした。

Ver4のファイルを開くと変換作業が発生しますが、特に作業は必要ありません。

そのあたりは機会があれば。

現代:FileMaker Ver7〜

古代近代現代という分け方の基準はファイルの拡張子で分けました。つまりver7から最新のVer11まで

拡張子は変わっていません。

この時代から1ファイル1データベース複数テーブルとなりました。いままでと概念が大きく変わり

今迄のユーザーが多いに戸惑い、故にいまだにVer6までのバージョンのまま使っているユーザーが

多いようです。また単に変換しただけではいろいろと支障を来たし、中身を掃除する作業が発生するのも

アップグレードをのインセンティブを下げる要因となっています。

そこそこのシステムを作っているとゆうに1人月は消費します。特に画面や印刷帳票が多いと。

現代のバージョンについてはまた後日1バージョンごとに小言をやりますww

ようやく始動?

キングオブ3日坊主ですどうも。

気が向けば、もとい暇があれば、やっていきます。

1回目は軽く、FileMaker11出ましたね。という事で。

Ver11ではレイアウトにグラフを置けるようになています。

これは棒グラフ、円グラフが表示出来て、小計値等を指定出来ます。

なので簡単な一覧表にグラフ付きが出来る訳です。いいですね。

あと、噂では印刷の用紙サイズ覚え込みが改善されたとか。

これは日本独特なのでしょうか?Bサイズのサイズ設定が、いくらやっても

いざ印刷する時にはA4に戻ってたりする事象が改善されているとかいないとか。

まぁ、こんな感じでテキトーにやっていきますww