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

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

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

You are not logged in.

Announcement

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


#1 2013-09-17 20:06:08

たかし
Member

値によってフィールドの表示を変える

こんばんわ

凄く単純なことなのですが

データベースのフィールド type:数字型というのがありまして、

実際には、0〜2までが格納されます。

画面の表示では

0なら 勝ち
1なら 引き分け
2なら 負け

と表示させたいです。

やはりこの場合は、テーブルに計算フィールド(上記の分岐処理を計算式として)追加するのが正しいのでしょうか?
わざわざ、これだけのために計算フィールドを追加するのが馬鹿らしいので 他に方法があれば教えて下さい

Offline

#2 2013-09-17 20:27:26

シャチ
Member

Re: 値によってフィールドの表示を変える

計算フィールドで
Case ( type=1;"勝ち";  type=2;"引き分け"; type=3;"負け")
とすれば求められすが…
**type は type:数字型 として書きましたが、実際のフィールド名を当ててください。

Offline

#3 2013-09-17 20:34:41

たかし
Member

Re: 値によってフィールドの表示を変える

シャチ wrote:

計算フィールドで
Case ( type=1;"勝ち";  type=2;"引き分け"; type=3;"負け")
とすれば求められすが…
**type は type:数字型 として書きましたが、実際のフィールド名を当ててください。

やはり、それしか無いですか?
FileMaker って単純なことでも実現するにはいろいろと遠回りな事をしないとダメなんですね?

正直 Accessとか他のDBとの違いに戸惑ってます

Offline

#4 2013-09-17 21:01:35

wader
Member

Re: 値によってフィールドの表示を変える

テキストオブジェクトに条件付書式を設定すればいいのでは。
FM12でないと重ねるのがうまくいかないかも。

12でやってみたら、何故か文字色透明に指定しても白くなってしまった。文字サイズを1ptにすれば、だいたい見えないけど。

Offline

#5 2013-09-17 22:21:22

通りすがり
Guest

Re: 値によってフィールドの表示を変える

wader wrote:

12でやってみたら、何故か文字色透明に指定しても白くなってしまった。文字サイズを1ptにすれば、だいたい見えないけど。

文字色透明は設定出来ないですよ。逆に500pt下付きに設定すれば背景がグラデーションでも大丈夫です。

シャチ wrote:

Case ( type=1;"勝ち";  type=2;"引き分け"; type=3;"負け")

ん?type=0;"勝ち"...と一つずれてますよ。0 から始まるので Choose 関数の方がエレガントかも。
Choose ( type ; "勝ち" ; "引き分け" ; "負け" )

他の解として、レイアウトモードで
<<$$勝敗>>
というテキストを置いて、このテキストに条件付き書式を設定します。条件付き書式の計算式は
Let ( $$勝敗 = Choose ( type ; "勝ち" ; "引き分け" ; "負け" ) ; 0 )
結果は必ず 0 なので書式の設定はいりません。
条件付き書式の中でグローバル変数を設定し、マージ変数をレイアウト上に配置すれば計算フィールドはいりません。
ただ描画のタイミングが遅れるので、万全を期すのであれば、ウインドウの再表示が必要になったりします。

#6 2013-09-18 00:23:04

wader
Member

Re: 値によってフィールドの表示を変える

FM12から条件付書式では文字色透明(不透明度0)が設定できるようになってるんですが、文字のデフォルトの書式には指定できないですね。
条件付書式の設定ダイアログのバグなのかな?

Offline

#7 2013-09-18 09:31:29

チポ
Member

Re: 値によってフィールドの表示を変える

タイプが数字でもテキストを表示できますから、
フィールド値の0・1・2を他に使用しないのなら、
入力値の自動化・既存値置き換え
でいいのでは。


でも、
一つフィールドを増やすことにそれほど問題が有るとは思えませんが。。
・・郷に入れば郷に従え・・

Offline

#8 2013-09-18 09:43:32

counter
Guest

Re: 値によってフィールドの表示を変える

>入力値の自動化・既存値置き換え
それなら、フィールドタイプを数字にしておく理由もなさそうですが。
1桁数字と2~4文字テキストでは、4:9ぐらいでファイルサイズは大きくなるみたいです。

#9 2013-09-18 12:47:29

旅人
Member

Re: 値によってフィールドの表示を変える

>正直 Accessとか他のDBとの違いに戸惑ってます
Accessも他のDBも持っていないのですが、どんな感じで出来るのですか。
表示だけテキストで数値データは隠れていて、計算にはその数値が使える
のでしょうか。

Offline

#10 2013-09-18 12:55:30

Layouter
Guest

Re: 値によってフィールドの表示を変える

そうです。FMでいうと、インスペクタのフィールドを選択するところで、任意の計算式を書けるようなイメージです。
変数名だけの場合はその変数値を入力もできる、とか。

#11 2013-09-18 13:45:38

旅人
Member

Re: 値によってフィールドの表示を変える

そうなのですか。と言ってもピンと来ません (;_;)

>何故か文字色透明に指定しても白くなってしまった。
確かに、透明にはなりませんね。

>ただ描画のタイミングが遅れるので、万全を期すのであれば、ウインドウの再表示が必要になったりします。
マージ変数の塗りを白にして数値フィールドはトリガにして
スクリプトで変数内容を書き換えるとか・・・

Offline

#12 2013-09-18 14:14:35

Layouter
Guest

Re: 値によってフィールドの表示を変える

{{日付}}でGet(日付)と同じ値を表示しますが、そうでなくGet(日付)とそのまま書けるイメージ、かなあ。
Get(日付)+1なら明日の日付になる。

スクリプトで書き換えだと、リスト表示ではどうなるかな。

フィールドでないと、表形式には対応できませんね。。。

#13 2013-09-18 14:40:42

旅人
Member

Re: 値によってフィールドの表示を変える

>Get(日付)と同じ値を表示しますが、そうでなくGet(日付)とそのまま書けるイメージ、かなあ。
何となくわかりました。

マージ変数のスクリプト、ダメですね。大体マージ変数を使った事が無い・・・
普通のフィールドにしてトリガで。

Offline

#14 2013-09-18 17:59:13

旅人
Member

Re: 値によってフィールドの表示を変える

フィールド追加でいいのなら、計算値自動入力のフィールドを作って
重ねるだけでいいのか・・・

1フィールドと2フィールドで比べてみましたけどファイルサイズは
少し増えたくらいでした。600レコードで。

Offline

#15 2013-09-20 12:59:31

Listist
Guest

Re: 値によってフィールドの表示を変える

こういう「値のコード化」では、別にテーブル(対応表)を作るのが普通ですよね。
そのテーブルのフィールドを配置すれば。

それを値一覧にして、数字フィールドはポップアップメニューにするとかでも。

フィールド追加なら、非保存計算フィールドにすれば、レコード数と関係なくほとんど増えないでしょう。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 529.69 KiB (Peak: 550.23 KiB) ]