みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
食事テーブルの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番目のフィールド」に連番を指定してそっちでソートします。
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
2番目のフィールドをソートするって方法でうまくいきました。ありがとうございました。
今回は試しませんでしたが、Shinさんもありがとうございました。
Offline
2番目のフィールドをソートするって方法 も、私もよくつかうのですが、順位数字が見えてしまうのですよね。特に3桁4桁になると。それが鬱陶しい時には、#3の方法を使ってみてください。5行目位数字を変更すると、何桁でも対応できます。(4で15まで、8で255、16で6万まで対応できます)
Offline
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 508.24 KiB (Peak: 514.95 KiB) ]