みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
いつも大変お世話になっております。
バージョン19.5.2.201になります。
営業テーブルがあり、
・営業担当者名
・営業ナンバー
のフィールドがあります。
案件テーブルがあり、
営業担当者を検索するグローバルフィールドがあり、
ポップアップメニューで値一覧を使用、リレーションをはり、1番目の値を営業担当者名、2番目の値を営業ナンバーにし、営業ナンバーでソートしているのですが、現状は営業担当者名、営業ナンバーともにポップアップメニューに表示されてしまいます。
このソートを生かしたまま、営業ナンバーだけ非表示にすることは可能でしょうか?
何卒よろしくお願いいたします。
Offline
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桁でしたので、下記に計算式を変更したら問題なく動作しました。
ありがとうございました。
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) ]
) & 営業担当者名
)
4桁でしたら、その式では破綻しますよ。ナンバーに300くらいを設定して試してみてください。
また、Char(820X)の意味も、よく確認して使ってくださいね。
baseは2にしておいて、length を大きくすることをお薦めします。(4桁フルでしたら、14で十分です)
Last edited by Shin (2022-08-12 14:55:45)
Offline
Shinさん
ありがとうございます。
この式では破綻してしまうのですね。
アドバイスをもとに、
While (
[
n = 営業ナンバー ;
b = ""
] ;
Length ( b ) ≤ 14 ;
[
b = Mod ( n ; 4 ) & b ;
n = Div ( n ; 300)
] ;
Substitute (
b ;
[ "0" ; Char(8203) ] ;
[ "1" ; Char(8204) ]
) & 営業担当者名
)
に変更したのですが、うまく動作しません。
こちら、ご教授願えますでしょうか?
While() で何を計算しているか、理解してからいじってください。なぜ破綻するかも考えてみてくださ、動作がわかれば理解できます。
Substitute() で置換する前の b の値を確認してみてください。
8,9 行目の2は base の数字ですので、触ってはだめですよ。
ただ、ポップアップメニューで表示させるなら、30項目くらいが、現実的には限度でしょう。それ以上は、選択が難しくなります.都道府県の入力によく使われてますが、結構鬱陶しいでしょ。
Last edited by Shin (2022-08-12 16:43:10)
Offline
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という数字は設定していません。
これらの関数はこれまで使用したことがありませんでした。
勉強しようと思います・・・
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 560.3 KiB (Peak: 578.94 KiB) ]