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

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

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

You are not logged in.

Announcement

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


#1 2022-04-03 19:34:24

zouno33
Member

値一覧の値にある先頭文字を全て消して表示したい

食事テーブルのKONDATEフィールドにチェックボックスを選びます。値一覧名、OKAZU-Aとして、料理テーブルにあるokazu-fフィールドを指定したもの使います。
チェックした内容を、フィールド名orderに表示します。計算フィールドで作りました。
FilterValues ( ValueListItems ( Get(ファイル名) ; "OKAZU-A" ); okazu-f )
管理上、おかず名の並び順を指定したいので、料理テーブルに連番を振り、連番フィールドとokazu-fをつないだ計算フィールドokazu_renを作りました。

食事テーブルにあるKONDATEフィールドに、料理テーブルにあるokazu_fフィールドの料理名をチェックボックスで表示させようとしています。
料理名の並び順を指定したいので、okazu_fフィールドと連番フィールドをつないだものを、計算フィールド、okazu_renとしました。
okazu_ren の計算式 Right ( "0" & 連番 ; 2 ) & "_" & okazu_f
値一覧名、OKAZU-Aとして、料理::okazu_renを指定します。
チェックした内容を、フィールド名orderに表示します。計算フィールドで作りました。
FilterValues ( ValueListItems ( Get(ファイル名) ; "OKAZU-A" ); KONDATE )

ここまでは、期待通りに表示されました。
並び順を指定したいので、okazu_renを作りましたが、orderに表示させるのは連番抜きにしたいです。
連番は、12_のように3文字になっています。
Let ( [txt = FilterValues ( ValueListItems ( Get(ファイル名) ; "OKAZU-A" ); KONDATE )] ;
Right ( txt ; Length ( txt ) - 3 ) )
とすると、一番上にくる項目は、連番抜きで表示されるのですが、
2つ目以降は連番&料理名の表示になってしまいます。

現状
中華ちまき
09_リゾット
13_栗ご飯
16_山菜おこわ

求める結果
中華ちまき
リゾット
栗ご飯
山菜おこわ

何がいけないのでしょうか?

Offline

#2 2022-04-03 20:09:50

himadanee
Guest

Re: 値一覧の値にある先頭文字を全て消して表示したい

つないだフィールドは不要です。値一覧の定義で「2番目のフィールド」に連番を指定してそっちでソートします。

#3 2022-04-05 10:29:45

Shin
Member

Re: 値一覧の値にある先頭文字を全て消して表示したい

okazu_ren を次の計算フィールドを設定して、ソート順を UNICODE にしておきます。これを2番目のフィールドに設定して、これだけを表示させると、連番を隠せます。

While ( 
[ 
	n = 連番 ;
	b = ""
] ; 
	Length ( b ) ≤ 4 ; 
[ 
	b = Mod ( n ; 2 ) & b ;
	n = Div ( n ; 2 ) 
] ; 
	Substitute (
        b ;
        [ "0" ; Char(8203) ] ;
        [ "1" ; Char(8204) ]
    ) & okazu_f     
)

Last edited by Shin (2022-04-05 11:31:47)

Offline

#4 2022-04-05 12:25:25

zouno33
Member

Re: 値一覧の値にある先頭文字を全て消して表示したい

2番目のフィールドをソートするって方法でうまくいきました。ありがとうございました。
今回は試しませんでしたが、Shinさんもありがとうございました。

Offline

#5 2022-04-05 13:54:30

Shin
Member

Re: 値一覧の値にある先頭文字を全て消して表示したい

2番目のフィールドをソートするって方法 も、私もよくつかうのですが、順位数字が見えてしまうのですよね。特に3桁4桁になると。それが鬱陶しい時には、#3の方法を使ってみてください。5行目位数字を変更すると、何桁でも対応できます。(4で15まで、8で255、16で6万まで対応できます)

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 507.6 KiB (Peak: 514.18 KiB) ]