みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
よろしくご教授をお願いします。
ExecuteSQLで計算結果をひとつのフィールドに表示させることは
WEBなどで調べてわかったのですが、
この関数を使って普通の表形式で並べたレイアウトで検索結果を表示させるには
どうすればよろしいのでしょうか?
環境 FM12
ExecuteSQLで得られた何を表示したいのでしょうか?
レコードとして存在しないものを表示することはできないので、
テキスト形式で返ってきた結果をレコードに展開するなどの処理が必要になります。
いろいろと方法論はありますがVirtual List 等で検索すればよいかと......
SEEDCODE の参考記事とファイルです。
http://www.seedcode.com/virtual-list/
単純に検索した結果を表示したいだけなら ExecuteSQL を使う必要はないと思いますが。
Offline
Mozさん、ご返事ありがとうございます。
この件に関して最後にお聞きしたいのですが、
Virtual Listとは
ひとつのグローバルフィールドに検索結果が表示されて、
その検索結果の表示分をひとつひとつワンレコードとして、連続グローバルフィールドに入れて
表示させるやり方という事でしょうか?
ちょっと違いますね。
グローバルフィールドでもグローバル変数でもよくて
ファイルのどこからでも参照できるテキストを1行を1レコードとして展開するような手法です。
※改行を含むデータがある場合など1行ではない場合もありますがとりあえずの理解は↑で充分です。
展開先はグローバルフィールドではなく通常のフィールドです。
グローバルフィールドを使わない理由は下記を読んでみれば分かると思います。
FileMaker Pro 13 ヘルプ
http://www.filemaker.com/help/13/fmp/ja … .8.25.html
グローバルフィールドはレコード毎に異なる値を持つことはできません。
VirtualList を使わなくてもいいシチュエーションですが、
グローバルフィールドに ExecuteSQL の結果を入れてレコードに展開するサンプルを作ってみました。
http://yahoo.jp/box/HTtdE3
Offline
Mozさん、
参考になる、サンプルファイルを作って頂き有難うございます。
このようなVirtualListの手法は
共有で使う場合、気をつける点などはありますでしょうか?
レコードを作成するということは共有している他のユーザからも見える可能性がありますね。
サンプルではグローバルフィールドを非保存の計算フィールドに展開しているので、
共有していても自分の VirtualList を見られてしまうことはありません。
ただあくまでサンプルなのでそのままでは使えないです。
Offline
Mozさん、貴重なご教授ありがとうございました。
Pages: 1
[ Generated in 0.012 seconds, 9 queries executed - Memory usage: 518.22 KiB (Peak: 523.13 KiB) ]