僕は昔、「ファイルメーカーPro」というカード型データベースを愛用していました。 ファイルメーカーProは、もともとMacintoshのソフトでしたが、Windows版が出て、やがて、MacとWindowsで、データ互換を持つようになり、飛躍的に愛用者が増えた気がします。 しかし、その後、リレーショナルデータベースの、マイクロソフトのACCESSの方をもっぱら使うようになり、ファイルメーカーProはほとんど使わなくなりました。最近は、データベースそのものにご無沙汰していました。しかし最近 、仕事でファイルメーカーPro8.5を使うようになりました。 少しずつ昔のことを 思い出しつつ、スクリプトなんか作っていると、やっぱり楽しいです。今日は、1つスクリプトを紹介します。次のような入院患者さんの退院サマリーのデータベースがあるとします。
![]() |
入院日と退院日は日付データ、それ以外はテキストデータとして定義しています。もしも、今回のデータがすべて空であれば、前回のデータを、今回のデータに貼り付けるスクリプトを作ってみました。その構文は次のとおりです。 もしも、今回のデータが1つでも空でなければ、スクリプトを中断するように設定しました。(せっかく入力した今回のデータを上書きしないように配慮したものです。) |
仮に上記のレイアウト名を"temp"としておきます。 次のスクリプトで、目的を達することができます。
コピー[選択;temp::前回の入院日]
If[temp::今回の入院日≠""or今回の退院日≠""or今回の現病歴≠""or今回の既往歴≠""or今回の診断名≠""]
全スクリプト終了
Else
貼り付け[選択;temp::今回の入院日]
End If
コピー[選択;temp::前回の退院日]
貼り付け[選択;temp::今回の退院日]
コピー[選択;temp::前回の現病歴]
貼り付け[選択;temp::今回の現病歴]
コピー[選択;temp::前回の既往歴]
貼り付け[選択;temp::今回の既往歴]
コピー[選択;temp::前回の診断名]
貼り付け[選択;temp::今回の診断名]
解説:マイクロソフトのACCESSだと、フィールドが空白の時は、Nullと記入すれば良かったのですが、ファイルメーカーProでは、""で良いみたいです。