初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2015-07-03 08:35:32

eddie
Member

ショートコードの作成方法

お世話になっております。FMP 11 Mac 使用です。

台帳にある様々なフィールドの内容を、リレーションを組んだ別テーブルでショートコードと対応させたいのですが、良い方法はあるでしょうか?

例えば、台帳の「受領日」という日付フィールドの値を、別テーブルで「平成◯◯年◯月◯日」と表示するように定義して、それをショートコード([受領日]のような形式)に対応させて、リレーションを組んだ別テーブルのフィールド内にそのショートコードを埋め込み、substituteで置き換えることで元の表記に戻すことを考えています。

例えば台帳の受領日フィールドに「11;16;2013」と入力されている場合に、別テーブルでそれを「平成25年11月16日」と表示するように計算フィールドを設け、それに [受領日] というショートコードを対応させます。そして、例えば報告書(別テーブル)の文面に [受領日] を埋め込み、それを元の値にsubstituteしたいのです。

■ 台帳のテーブル
受領日  11;16;2013

■ ショートコード対応用テーブル
受領日和暦  平成25年11月16日
ショートコード  [受領日]

■ 報告書のテーブル
報告書本文  ・・・受領日は、[受領日]です。・・・
報告書本文置換  ・・・受領日は、平成25年11月16日です。・・・


このようなショートコード用テーブルでショートコードを簡単に作成でき、一覧できる方法を模索しています。現在は台帳のテーブルで項目ごとにショートコード用フィールドを作成していますが、項目が増える可能性がある(例えば同じ日付フィールドに基づいても表記方法はたくさんある/今後対象となるフィールドが増える可能性がある)ため、フィールドを増やさなくても、レコードを増やすだけの構造にして、誰でも簡単にショートコードを追加できるようにしたいのです。GetFieldNameなどを使ってリレーションを組めないかと考えているのですが、よくわかりません。良いアイデアが有りましたらご教示いただけると幸いです。
よろしくお願いいたします。

Offline

#2 2015-07-06 09:22:21

calcer
Guest

Re: ショートコードの作成方法

ショートコードなんて聞いたことないなあ、と思ったら、WordPressの用語のようです。

FMでは何もしないでも「マージフィールド」という機能があります。
報告書本文のレイアウトで  ・・・受領日は、<<台帳::受領日>>です。・・・
と書いて、その部分に日付書式を設定するだけ。
関数は使えませんが。
最近のバージョンなら「マージ変数」を使って計算結果を表示することも可能。

#3 2015-07-07 03:55:25

eddie
Member

Re: ショートコードの作成方法

calcerさま
ありがとうございます。マージフィールドは利用しているのですが、おそらく現在のバージョンでマージ変数という機能がないのと、そもそも毎回レイアウトを編集するか新規作成しなければならず、運用が難しいという問題があります(弊社ではレイアウト編集は開発レベルのマターです)。できれば決まったレイアウトの中で、あるフィールド内にショートコードを埋め込みたいのですが、やはり難しいようですね。。

Offline

#4 2015-07-07 10:14:40

calcer
Guest

Re: ショートコードの作成方法

フィールド値でないとリレーションもルックアップもできないので、ショートコード対応用テーブルを使わないで直接埋め込むしかないかなあ。
FM12以後ならExecuteSQLで任意のテーブルを参照できますが...

埋め込み部分を繰り返しフィールドに抽出すれば、ルックアップできるかな?

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 8 queries executed - Memory usage: 510.68 KiB (Peak: 515.22 KiB) ]