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

FMProへのデータ変更指示

発言者:iijima
( Date Tuesday, May 07, 1996 11:45:05 )


飯島です。
今、FMProから検索や登録をさせるCGIを頑張って
作っています。(ほぼ完成)
今度は修正を行わせようと考えています。
そこで質問なのは、既にあるデータのあるcellだけを
書き換えるにはどのようにすればいいのでしょうか?
迷える子羊をお助け下さい。

田中求之 さんからのコメント
( Tuesday, May 07, 1996 16:58:49 )

>そこで質問なのは、既にあるデータのあるcellだけを
>書き換えるにはどのようにすればいいのでしょうか?

修正しようとする cell のあるレコードを指定して

set cell "XXX" to yyy

というコマンドを使えば、cell のデータを書き換えることはできますよね。

ですから、修正したい cell のあるレコードさえ指定できればよいわけです。

レコードの index (通し番号)を使うのでしたら

  set cell "XXX" of record YY to zzz

という感じでしょうし、ID を使うのでしたら

 set cell "XXX" of record ID YY to zzz

というスクリプトになりますよね。

修正自体は、このように簡単ですから、修正するデータのあるレコードをうまく
指定する点さえ気を付ければよいと思います。

参考になれば幸いです。

iijima さんからのコメント
( Wednesday, May 08, 1996 08:54:35 )

大変参考になりました。
ありがとうございました。
そこで、もう一つお聞きしたいのですが、該当の
レコード番号を取得する方法は何でしょうか?
私がやりたいことは、
各レコードに番号を付けており、その番号をキー
にしてレコードIDを取得し、そのレコード内のcellの
データを修正したいのです。
(Get Class InfoとかGet Dataを使うのでしょうか)

田中求之 さんからのコメント
( Wednesday, May 08, 1996 17:37:06 )

レコードの番号が cell "number" に入っているのであれば、

try
  set myList to (id of (record whose cell "number" is XXXX)) as list
on error
  set myList to {}
end try

というスクリプトで ID のリストを得ることができます(コンパイルすると ID の
部分が Menu ID に書き換えられると思いますが)。該当なしの場合は {} になり
ます。

で、あとは、これでヒットした ID のものについて操作して行くわけです。

たとえば、これでヒットしたレコードの cell XXX をすべて YYY に書き換える
のであれば

repeat with thisID in myList
  set cell XXX of record id thisID to YYY
end repeat

という処理を行うわけですね。

iijima さんからのコメント
( Thursday, May 09, 1996 14:09:19 )

どうもありがとうございました。
無事にレコードIDを取得して、修正ができました。
何とお礼を言ったらいいか....
私事ですが、近々マイバトラー&WebSTAR&TANGODAMを
購入する予定です。
頑張ります。

iijima さんからのコメント
( Thursday, May 09, 1996 14:11:01 )

どうもありがとうございました。
無事にレコードIDを取得して、修正ができました。
何とお礼を言ったらいいか....
私事ですが、近々マイバトラー&WebSTAR&TANGODAMを
購入する予定です。
頑張ります。

田中求之 さんからのコメント
( Thursday, May 09, 1996 19:19:09 )

お役にたててなによりです。

>近々マイバトラー&WebSTAR&TANGODAMを
>購入する予定です。

マイバトラー + TangoDAM は素晴らしいですよ。ただし、かなりマシンパワーを
必要としますね。私もぽちぽちテスト運用をしていますが、特に TangoDAM の
使いやすさには感心しています。

こちらも、いずれちゃんとページを書きますね。