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

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

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

You are not logged in.

Announcement

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


#1 2022-08-11 18:55:45

tfm
Guest

値一覧で、2番目に表示しているソート用の数字フィールドを非表示にしたいです。

いつも大変お世話になっております。
バージョン19.5.2.201になります。

営業テーブルがあり、

・営業担当者名
・営業ナンバー
のフィールドがあります。

案件テーブルがあり、

営業担当者を検索するグローバルフィールドがあり、
ポップアップメニューで値一覧を使用、リレーションをはり、1番目の値を営業担当者名、2番目の値を営業ナンバーにし、営業ナンバーでソートしているのですが、現状は営業担当者名、営業ナンバーともにポップアップメニューに表示されてしまいます。

このソートを生かしたまま、営業ナンバーだけ非表示にすることは可能でしょうか?

何卒よろしくお願いいたします。

#2 2022-08-12 08:21:12

Shin
Member

Re: 値一覧で、2番目に表示しているソート用の数字フィールドを非表示にしたいです。

https://fm-aid.com/bbs2/viewtopic.php?id=12918
が参考になるでしょう

Offline

#3 2022-08-12 10:48:04

tfm
Guest

Re: 値一覧で、2番目に表示しているソート用の数字フィールドを非表示にしたいです。

Shinさん

ありがとうございます。
While (
[
    n = 営業ナンバー ;
    b = ""
] ;
    Length ( b ) ≤ 4 ;
[
    b = Mod ( n ; 2 ) & b ;
    n = Div ( n ; 2 )
] ;
    Substitute (
        b ;
        [ "0" ; Char(8203) ] ;
        [ "1" ; Char(8204) ]
    ) & 営業担当者名   
)

にし、

値一覧の編集でフィールドの値を使用
フィールド指定を
最初のフィールドの値を営業担当者名
2番目のフィールドの値を上記の計算フィールドにし、表示。
全ての値を含め、2番目のフィールドの値のみを表示にし、Unicodeでソートしなおす。で、営業ナンバーは消えたのですが、ソート順が営業ナンバー通りではありません。どのようなソート順になっているのかもわかりません。

どこか設定におかしいところはございますでしょうか?
何卒よろしくお願いいたします。

#4 2022-08-12 13:58:37

tfn
Guest

Re: 値一覧で、2番目に表示しているソート用の数字フィールドを非表示にしたいです。

お世話になっております・
営業ナンバーが4桁でしたので、下記に計算式を変更したら問題なく動作しました。
ありがとうございました。

While (
[
    n = 営業ナンバー ;
    b = ""
] ;
    Length ( b ) ≤ 4 ;
[
    b = Mod ( n ; 4 ) & b ;
    n = Div ( n ; 4)
] ;
    Substitute (
        b ;
        [ "0" ; Char(8203) ] ;
        [ "1" ; Char(8204) ] ;
        [ "2" ; Char(8205) ] ;
        [ "3" ; Char(8206) ]
    ) & 営業担当者名
)

#5 2022-08-12 14:44:23

Shin
Member

Re: 値一覧で、2番目に表示しているソート用の数字フィールドを非表示にしたいです。

4桁でしたら、その式では破綻しますよ。ナンバーに300くらいを設定して試してみてください。
また、Char(820X)の意味も、よく確認して使ってくださいね。
baseは2にしておいて、length を大きくすることをお薦めします。(4桁フルでしたら、14で十分です)

Last edited by Shin (2022-08-12 14:55:45)

Offline

#6 2022-08-12 15:14:50

tfm
Guest

Re: 値一覧で、2番目に表示しているソート用の数字フィールドを非表示にしたいです。

Shinさん

ありがとうございます。
この式では破綻してしまうのですね。
アドバイスをもとに、
While (
[
    n = 営業ナンバー ;
    b = ""
] ;
    Length ( b ) ≤ 14 ;
[
    b = Mod ( n ; 4 ) & b ;
    n = Div ( n ; 300)
] ;
    Substitute (
        b ;
        [ "0" ; Char(8203) ] ;
        [ "1" ; Char(8204) ]
            ) & 営業担当者名
)

に変更したのですが、うまく動作しません。
こちら、ご教授願えますでしょうか?

#7 2022-08-12 16:32:14

Shin
Member

Re: 値一覧で、2番目に表示しているソート用の数字フィールドを非表示にしたいです。

While() で何を計算しているか、理解してからいじってください。なぜ破綻するかも考えてみてくださ、動作がわかれば理解できます。

Substitute() で置換する前の b の値を確認してみてください。
8,9 行目の2は base の数字ですので、触ってはだめですよ。

ただ、ポップアップメニューで表示させるなら、30項目くらいが、現実的には限度でしょう。それ以上は、選択が難しくなります.都道府県の入力によく使われてますが、結構鬱陶しいでしょ。

Last edited by Shin (2022-08-12 16:43:10)

Offline

#8 2022-08-12 16:44:26

tfm
Guest

Re: 値一覧で、2番目に表示しているソート用の数字フィールドを非表示にしたいです。

Shinさん
ありがとうございます。
While (
[
    n = 営業ナンバー ;
    b = ""
] ;
    Length ( b ) ≤ 14 ;
[
    b = Mod ( n ; 2 ) & b ;
    n = Div ( n ; 2 )
] ;
    Substitute (
        b ;
        [ "0" ; Char(8203) ] ;
        [ "1" ; Char(8204) ]
            ) & 名称
)
でひとまず希望の動作となりましたことをお伝えします。
ありがとうございました。

300という数字は設定していません。
これらの関数はこれまで使用したことがありませんでした。
勉強しようと思います・・・

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.012 seconds, 9 queries executed - Memory usage: 560.32 KiB (Peak: 578.96 KiB) ]