このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

ファイルメーカーとマックライト

発言者:Two leaves
( Date Wednesday, July 23, 1997 00:16:17 )


はじめておたよりします。私は某病院に勤務している医師です。この病院では
入院患者のプロフィールをファイルメーカーでデータベース化していますが、
退院時のサマリーはマックライトで患者さん1人につき1ファイル(ファイル名
は患者さんのカルテ番号+患者名;例;1458 ○×△夫)となっています。
たとえば胃潰瘍で入院した患者さんをファイルメーカーで検索した後にその
患者さんのサマリーをみるにはその患者さんの名前(あるいはカルテ番号)の
ついたマックライトのファイルをさがして開くという行程が必要になります。

さて質問というかお願いなのですが、ファイルメーカーで検索した後
(カード型表示)、スクリプトを実行することにより、該当患者のサマリー
(マックライトのファイル)が開くようにするにはどうすればよいのでしょう
か。
Apple Eventでマックライトを立ち上げるところまでは出来るのですが、
該当患者の名前もしくはカルテ番号を含むファイルの開くのにどのような
スクリプトで書けばよいのかわかりません。ちなみにファイルメーカーの
フィールドは”名前”、”カルテ番号”、その他、診断、年齢などです。
(最初からサマリーもファイルメーカーに記入すればよかったのでしょう
けれど)どうぞよろしくお願いいたします。

重松修 さんからのコメント
( Wednesday, July 23, 1997 05:52:23 )

はずしていたら、ごめんなさい。

貴殿の文面からすると、ファイルはマックライトの書類で名前が患者名とカルテ
番号を含むわけですから、単純にクリエータやファイルタイプ、ファイル名
(カルテ番号+患者名)の該当するファイルを検索して、それをファインダから
開くようにすれば済む問題ではないでしょうか?

私はファイルメーカーからの検索を受けてというのを、CGIでしかプログラム
したことがないためDBのボタンとの連携などは良くわかりませんが、

tell application "ファイルメーカーPro"
try
set myResult to every recoed whose cell "診断" is "*\"胃潰瘍\"*"
on error
display dialog "該当する患者さんはいません。"
end try
end tell
if class of item 1 of myResut is not list then set myResult to {myResult}
-- 件数が多くても全部開くので注意!
repeat thisR in myResult
set thisF to "Macintosh HD:書類:カルテ:" & item 1 of thisR
-- 最初のレコードにファイル名(=カルテ番号+患者名)が入っているとする
tell application "Finder" to open file(thisF)
end repeat

という感じでファイルを複数自動的に開くはずです。

# スクリプトは当り前ですが、適当です。実際には自分で動くようにしてください。

田中求之 さんからのコメント
( Wednesday, July 23, 1997 12:41:14 )

すでに重松さんのコメントにあるように、ファイルメーカー上での検索結果を
もとに、開くべきファイルの名前を決定して、それを Finder に開くように
指示を送る、という手順で処理が可能でしょう。

カルテ番号と患者さんの名前がわかれば、なんという名前のファイルを開けば
よいかは分かるわけですよね?

Two leaves さんからのコメント
( Saturday, July 26, 1997 23:27:28 )

御丁寧な解説をありがとうございます。さっそく試してみます。