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

FMP-Jを利用した検索スクリプトでいつも"該当件数なし"の返事が返ってきます。

発言者:佐藤 友昭
( Date Friday, October 11, 1996 12:57:40 )


 先日、"スクリプトエディターで構文確認するとpost_argsでエラーが
出てしまいます"との投稿をして、田中先生からのコメントで問題解決
いたしました。ありがとうございました。
 それ以降も初心者ながらこのSiteを参考にスクリプト作成に励んでいます。

 早速ですが、またどうしてもうまく行かないことがあり、諸先生方のアドバイス
をいただきたく投稿させていただきます。
 現在、FileMakerを利用しWeb上からの新規登録、検索が利用できるスクリプト
を作っています。
 新規登録のスクリプトはどうにか自分のもおもい通りに作成できるようになり
(当然ですが、田中先生のサンプルを参考に)現在は検索のスクリプトを作成して
おります。が、ブラウザ側から検索をかけると、ファイルメーカーのデータベース
には確かにレコードがあるのに、"該当件数なし"が返ってきます。検索条件のワイル
ドカードの埋め込みはちゃんとスクリプト上に書いているし、Cellの順埋め込みも
間違っていないようです。
 そこで、"set myArgList to DecodeJArgs post_args"のあとにmyArgListの
なかに入っているデータをべつの所(スクリプト対応エディタ)に書きだし確認しよ
うと思っていますがどうもうまくいきません。その方法を教えてください。

自分では、
set myArgList to DecodeJArgs post_args
のあとに 
set the contents of window 1 of application "スクリプト対応エディタ" to myArgList as string
と書いてますがうまくいかずに、ブラウザに エラ"ー1701"が返ってきます。
そもそもこの構文が間違っているのかもっとほかに問題があるのかちんぷんかんぷんです。
どうか良きアドバイスをお願いいたします。

佐藤 友昭 さんからのコメント
( Friday, October 11, 1996 13:03:50 )

すみません… 追加です。
自分では
set the contents of window 1 of application "スクリプト対応エディタ" to myArgList as string
にて {XXXX,XXXX,XXXX,XXXXX,XXXX,XXXX,XXXX,XXXX}  (8つの項目を作っています)
と送られてくるのではないかと思っています。いかがでしょうか?

田中求之 さんからのコメント
( Friday, October 11, 1996 14:49:46 )

>{XXXX,XXXX,XXXX,XXXXX,XXXX,XXXX,XXXX,XXXX}  (8つの項目を作っています)
>と送られてくるのではないかと思っています。いかがでしょうか?

無理です。

というのも、myArgList は List 型の変数になっているわけですから、このままでは
エディタのウィンドウなどに書き込むことはできません。

AppleScript にはデータの型があり、必要に応じて変換しなければならないことを
お忘れなく。

もし変数をエディターに表示させたいのであれば、

set myArgList to DecodeJArgs post_args

set oldDel to appleScript's text item delimiters
set AppleScript's text item delimiters to {return}
set myArgData to myArgList as string
set AppleScript's text item delimiters to oldDel

tell application "スクリプト対応エディタ"
  set the contents of window 1 to myArgData
end tell


といった感じで、as string に変換して渡してください。

佐藤 友昭 さんからのコメント
( Friday, October 11, 1996 15:02:41 )

明快でこんなに早くのご返答ありがとうございました。(土、日を使って自宅で取り組もうとおもっていたので…)
早速、コメントを参考に検証しようと思います。まだ検索の結果に問題があるので自分で研究してみます。
また分からないことができましたら投稿させていただきます。宜しくお願いいたします。

田中求之 さんからのコメント
( Friday, October 11, 1996 17:23:16 )

CGI の開発、特に FileMaker を呼び出すようなときには、FM を呼ぶ部分だけを
スクリプトできちんと完成させてから CGI に組み込むようにします。

スクリプトエディタでのデバッグの時には、Log ウィンドウをうまく使うと、処理中の
メッセージをモニターすることができますよ。