みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になっております。FMP 11 Mac 使用です。
台帳にある様々なフィールドの内容を、リレーションを組んだ別テーブルでショートコードと対応させたいのですが、良い方法はあるでしょうか?
例えば、台帳の「受領日」という日付フィールドの値を、別テーブルで「平成◯◯年◯月◯日」と表示するように定義して、それをショートコード([受領日]のような形式)に対応させて、リレーションを組んだ別テーブルのフィールド内にそのショートコードを埋め込み、substituteで置き換えることで元の表記に戻すことを考えています。
例えば台帳の受領日フィールドに「11;16;2013」と入力されている場合に、別テーブルでそれを「平成25年11月16日」と表示するように計算フィールドを設け、それに [受領日] というショートコードを対応させます。そして、例えば報告書(別テーブル)の文面に [受領日] を埋め込み、それを元の値にsubstituteしたいのです。
■ 台帳のテーブル
受領日 11;16;2013
■ ショートコード対応用テーブル
受領日和暦 平成25年11月16日
ショートコード [受領日]
■ 報告書のテーブル
報告書本文 ・・・受領日は、[受領日]です。・・・
報告書本文置換 ・・・受領日は、平成25年11月16日です。・・・
このようなショートコード用テーブルでショートコードを簡単に作成でき、一覧できる方法を模索しています。現在は台帳のテーブルで項目ごとにショートコード用フィールドを作成していますが、項目が増える可能性がある(例えば同じ日付フィールドに基づいても表記方法はたくさんある/今後対象となるフィールドが増える可能性がある)ため、フィールドを増やさなくても、レコードを増やすだけの構造にして、誰でも簡単にショートコードを追加できるようにしたいのです。GetFieldNameなどを使ってリレーションを組めないかと考えているのですが、よくわかりません。良いアイデアが有りましたらご教示いただけると幸いです。
よろしくお願いいたします。
Offline
ショートコードなんて聞いたことないなあ、と思ったら、WordPressの用語のようです。
FMでは何もしないでも「マージフィールド」という機能があります。
報告書本文のレイアウトで ・・・受領日は、<<台帳::受領日>>です。・・・
と書いて、その部分に日付書式を設定するだけ。
関数は使えませんが。
最近のバージョンなら「マージ変数」を使って計算結果を表示することも可能。
calcerさま
ありがとうございます。マージフィールドは利用しているのですが、おそらく現在のバージョンでマージ変数という機能がないのと、そもそも毎回レイアウトを編集するか新規作成しなければならず、運用が難しいという問題があります(弊社ではレイアウト編集は開発レベルのマターです)。できれば決まったレイアウトの中で、あるフィールド内にショートコードを埋め込みたいのですが、やはり難しいようですね。。
Offline
フィールド値でないとリレーションもルックアップもできないので、ショートコード対応用テーブルを使わないで直接埋め込むしかないかなあ。
FM12以後ならExecuteSQLで任意のテーブルを参照できますが...
埋め込み部分を繰り返しフィールドに抽出すれば、ルックアップできるかな?
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 507.94 KiB (Peak: 514.53 KiB) ]