Midnightjapan

FileMaker

ファイルメーカーの繰り返しフィールドの挙動

by jun on 4月.19, 2010, under FileMaker

ひどいタイトルですね。

これでも私ファイルメーカーの開発を続けて、はや10年になるんですが、へんなところでつまづきました。

ファイルメーカーの繰り返しフィールドです。

これをテキスト表現すると異常にわかりにくいのですが、ファイルメーカー特有の機能のためあまり使わないほうがよい機能です。

繰り返しフィールドとは1フィールドに複数の値が入ります。SQLでいうENUMみたいなものですが、またちょっと違うんですよね。動きも。

フィールド:数量(タイプ:数字/繰り返し×5) 値:5,4,3,2,1 と入っているとします。
フィールド:単価(タイプ:数字/繰り返し×5) 値:100,110,120,130,140 と入っているとします。
フィールド:金額(タイプ:計算(数量×単価)/繰り返し×5) 値:500,440,360,260,140 と導きだされます。

これに消費税を個別で出しなさいなんてことは当たり前のように発生するし
たとえば条件分岐で計算しないなんてこともよくある状態ですが、ファイルメーカーではこれが関数を使わないといけません。

繰り返しフィールドどおしの計算ならば、上記のようにできますがたとえば・・そうですねぇ・・・

単価が固定だったとします。この場合単価の入力欄は1個でいいはずなので単価を繰り返しを使わないようにするとですね・・・

フィールド:数量(タイプ:数字/繰り返し×5) 値:5,4,3,2,1 と入っているとします。
フィールド:単価(タイプ:数字/繰り返し×1 なし) 値:100 と入っているとします。
フィールド:金額(タイプ:計算(数量×単価)/繰り返し×5) 値:500,0,0,0,0 と導きだされます。

そうです、繰り返しフィールドは非繰り返しフィールドとあわせて処理する場合、先頭項目しか処理をしません。

この場合Extend関数を使います。

フィールド:数量(タイプ:数字/繰り返し×5) 値:5,4,3,2,1 と入っているとします。
フィールド:単価(タイプ:数字/繰り返し×1= なし) 値:100 と入っているとします。
フィールド:金額(タイプ:計算(数量×Extend(単価))/繰り返し×5) 値:500,400,300,200,100 と導きだされます。

これで望みどおりです。

しかし、これに条件分岐をいれます。

もし半額優待チケットを利用した全品半額にできるとします。金額フィールドの計算式にIF文が入るとわかりますよね?

当然入力画面の設計上、正規化されているとしたら半額チケット利用のチェックボックスは1つだけにしますよね?もちろん設計によりますが一般論です。

20品買ったら20個チェックつけるのは面倒です。

とすると

フィールド:半額チケット(タイプ:数字 チェク時1入力/繰り返し×1=なし)

を追加して、金額フィールドの計算式は下記のようになります。

IF(半額チケット=1 ; 数量×(Extend(単価)/2) ;数量×Extend(単価))

いけそうですよね?これがいけないんですよ・・・

いやぁ、いまさらながら調べてググって・・・苦労しました。

結論は・・・

IF(Extend(半額チケット)=1 ; 数量×(Extend(単価)/2) ;数量×Extend(単価))

そうです、IF文の評価部分ですら繰り返しにフォーカスするようでして、非繰り返しフィールドはすべてExtend関数でくくらないと繰り返しフィールドとしてもどらないようなんです。

記録しておくようなことでもないきがしますが、私が迷ったので万が一迷ってここにさまよわれたりしたときの記録として残します。

(本当は私の個人的なメモだったりしてw

では、皆さんごきげよう (‾。‾)y-~~

6 コメント :, more...

FileMaker Windows7での動作状況について

by jun on 10月.22, 2009, under FileMaker

FileMaker TechNet メンバー向けオフィシャルインフォメーションのメールより抜粋します。

◎ Windows 7 と FileMaker 製品について

◎ FileMaker 10 製品を Windows 7 上で実行することに関して、

◎ すでに判明している問題

など、下記の通り案内されてきました。

Windows 7 と FileMaker 製品について

FileMaker Windows 7 と FileMaker 製品について

Q)質問 FileMaker 製品と、Windows 7 は互換性がありますか?
A)答え FileMaker 製品と新たなオペレーティングシステムとの互換性については、以下をご参照ください。

FileMaker Pro 10 と FileMaker Pro 10 Advanced

Windows 7 上で動作することを確認しております。 TechInfoの記事番号「7454」に記載されている問題があります。

FileMaker Pro 10 と FileMaker Pro 10 Advanced Windows7での既知の問題

FileMaker Server 10 と FileMaker Server 10 Advanced 新しいオペレーティングシステムに対する互換性はありません。
FileMaker 9 製品 以前のバージョン 旧バージョンの FileMaker 製品は、Windows 7 が利用できる前に開発され、 販売されたものです。このため、Windows 7 上での動作確認や開発がおこなわれておりません。
Windows 7 上に旧バージョンの製品をインストールし、実行することができたとしても、解決できない動作上の問題に遭遇する可能性があります。このため、最新版の FileMaker ソフトウェアをご利用いただくことを強くお勧めします。
(FM Store からご購入いただくこともできます)。
FileMaker 10 製品を Windows 7 上で実行することに関して、すでに判明している問題

Q)質問 FileMaker 10 製品を Windows 7 上で実行することに関して、すでに判明している問題がありますか?
A)答え FileMaker Pro 10 製品を Windows 7 上で実行する際には、次の問題があることが報告されています。

FileMaker Pro 10 と FileMaker Pro 10 Advanced:

リスト形式の表示でスクロールするとき、正しく画面が表示されないことがあります。
モーダルダイアログボックスの外をマウスクリックしたときの警告の点滅が従来より多く点滅します。
最近開いたファイル名が、「最近使ったファイルを開く」のリストに追加されないことがあります。

ということで、なんだWindows7での動作確認しか終わってないんだね。Windows7のBeta版からの問題は文字化け問題くらいしか解決してないようですね。メーカーなんですから少しは頑張ってくださいよ。

FileMakerがなぜ愛されてきたか?マックではこれしかなかったから?違いますね。ずっと互換を保ってきたじゃないですか。大きな困難もユーザーと一緒に乗り越えてバージョンアップしてきたじゃないですか・・・

どうせ採算重視でファイルメーカーのVUP部隊に重きを置いてサポートは切り捨てたんでしょ?きっと年始にバージョンアップしてアホみたいにWindows7対応NewVersion!とか売りだすんですよね?

だからFileMaker9はWindows7なんかしらないよ・・・になったんですよね?

Windowsの業界じゃあたりまえかもしれませんが、FileMakerさん・・・それはないんじゃないですか?

またAppleだけの閉鎖された世界に逆戻りになりますよ?企業にとって採算は大事ですが、マーケットを大事にすることはそれと違うと思うんですけどね・・・おっと、ちょっと呟きすぎましたね。

コメントなし more...

FileMaker Server Admin Cosoleログインについての覚書

by jun on 10月.10, 2009, under FileMaker

ブラウザから開く場合には、下記のURLから。(XP,Vista,OSX10.4対応確認)

「http://:16000/」

実行するためにはJavaのバージョン管理が必要。

コントロールパネル>Java>Javaタブを選択

表示ボタンをクリック

最新版は1.6の1.6.0_16が有効になっています。これを1.6.0_07だけが有効になっていればファイルメーカーAdmin Toolが実行可能です。このバージョンがインストールされていない場合は下記の手順でインストしてください。

下記のURLへ行き、Javaの1.6.0_07アップデータを手に入れる

http://java.sun.com/products/archive/

さぁどこだかわからないですね。しかも結構頻繁にデザインも変わっています。多少画面が変わっているかもしれませんがわかりやすいように現在当時のSSとっておきます。

http://java.com/ja/ >無料Javaのダウンロード>その他のバージョン>旧バージョンアーカイブJavaテクノロジ製品のダウンロードの画面です。

Java Platform Standard Edition (Java SE) のJDK/JRE – 6 プルダウンから 6 Update 7 を選択してGo!

これだけ深いと、覚えてられないよね。以上です。

コメントなし more...

サーバーが飛んじゃったので、新規にFileMaker Server 10 をインストールしてみる。

by jun on 8月.20, 2009, under FileMaker

まえから不安定だなって思ってんです。そうです。一応完成したはずのOSXサーバーなんですが、どうもSerialATAのHDDを250GBから1TBに変更してからおかしいんですよね・・・電源も350Wしかない機体だし。しかたないかと思っていましたが、だましだまし動かしていたら、とうとうシステムが壊れてしまいました。

改造・調査・・ほぼ数日の無駄な時間を費やしたので、ほぼ断定。SerialATAか拡張しすぎだったのでパラレルATAに変更しまして、無事にシステムいれなおしたもんですから、FileMaker Server 10の新規インストールをしてみました。

構成:MacOSX Server 10.5 に FileMaker Server 10を新規にインストールしてみる。

とくに問題なくインストールが終わります。

FileMaker Server 10 Admin Console 開始ページが開きますが、なにも起こりません。そうです。実行されるべきJavaアプレットがダウンロードされちゃって終わっちゃってます。開いたとしても「DashCode」で開いていますね。これは実行しないといけませんので、下記の通り。

ダウンロードされたファイルを「アプリケーションを指定して実行」 > /システム/ライブラリ/CoreServices/Java Web Start で開いてあげます。DashCodeで開くものもないので「常にこのアプリケーションで開く」にチェックをいれちゃいました。すると無事に管理コンソールが開きます。DashCodeに関連付けされていたものがこれでWebApletに関連付けされるため、管理画面へのショートカットも作成されるようになりました。

WEBサーバー関連はなにも動いていたないため、使用しないでセットアップするほうがいいでしょう。

データベースの移行も無事に完了。

さて、面倒なアップデートを実行してみます。重要なエラーが修正されています。必ず10v2へアップデートしたほうがいいです。

ダウンロードして実行すると、「このアップデートはFileMakerServer実行中はインストールできません。FileMakerServerを停止してからアップでートしてください。」と、まぁ怠慢な処理ですね。自分のアップデートで申し訳ないんだけど・・・みたいな気持ちないんですかね?問題解消してやってるんだから、サーバープロセスくらいお前が止めろよ。ってことですかね?

同じプログラマーとして、処理の半端さに怠慢を覚えます。

サーバーアドミンツールでログインしてサービスを停止します。アップデート実行。サービス開始はアップデートしてからでも実行するんですね。

難なく簡単に終わりました。

コメントなし more...

FileMaker Server 10 Advanced でWEB公開設定を行う

by jun on 7月.15, 2009, under FileMaker

サーバーの設定が完了したところで、WEB公開設定を実施してみた。今回は時間短縮のため「FileMaker Server 10 Admin コンソール」から「FileMaker Server 10 テクノロジーテスト」を利用して動作環境を構築してみました。

条件)すでにApache2.2にPHP5.2.8をmbstring,curl,mysql,GD,pearなど必要なものを組み込んだサーバーを前提に、OSX Server をサーバー管理から管理し、複数ドメインが稼働しているサーバーへファイルメーカーWEB公開設定を行い、Wikiとブログ・WEBメールサービス・WEBDAVなどを設定済みの複数のサイトが管理されていることを前提とします。しなければもっと簡単化もしれません。

注意事項

既存の設定を利用するため、PHPをファイルメーカーのインストーラーでインストールしないこと。
下の記事「FileMaker Server 10 Advanced インストールについて」に沿ってインストールすること。
同じ環境なら「FileMaker Server 10 テクノロジーテスト」で「PHPカスタムWEB公開のテスト」がエラー表示されるため、基本的にはこの問題を解消するための手法となる。下記のエラーが表示される。

Warning: require_once(FileMaker.php) [function.require-once]: failed to open stream: No such file or directory in /Library/FileMaker Server/Web Publishing/web-server-support/test/fmi-test/phptest.php on line 5

Fatal error: require_once() [function.require]: Failed opening required ‘FileMaker.php’ (include_path=’.:’) in /Library/FileMaker Server/Web Publishing/web-server-support/test/fmi-test/phptest.php on line 5
設定手順

FileMaker API for PHPを手動でインストールしないと「FileMaker.php」見つからないと怒られるらしい。
マニュアルを確認して下記のファイルを解凍して、指示どおりにインストールする。
「/ライブラリ/FileMaker Server/Web Publishing/FM_API_for_PHP_Standalone.zip」を解凍する
「FileMaker.php」と「FileMaker」フォルダーをWEBサーバールートへ 「/Library/WebServer/Documents」
実行権限などきちんと確認する。
※標準でインストールされている「FMServer_Sample.fp7」は稼働させておいてくださいね。
FileMaker.phpがライブラリの入り口になっていて、さらにPHPにはFileMakerの拡張をしないとincludeでエラーを返してくるようです。
「/etc/php.ini」を編集してinclude.pathを追加する(場所は自分で探してください)
「include_path = “.:/Library/WebServer/Documents/:/Library/FileMaker Server/Web Publishing/publishing-engine/php/lib/php”」と記述します。
Apacheを再起動してください。
phpinfo()でinclude_path欄がきちんと表示されていたらOKです。

コメントなし more...



何かお探しですか?

以下にキーワードを入力してサイト内検索が可能です:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!