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

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

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

You are not logged in.

Announcement

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


#1 2017-05-15 11:51:29

にも
Member

レコードのソートについて

FM Pro15 Ad 環境:Mac

いつもお世話になっています。
IPアドレスの表をソートしたいのですが、思うように動きません。

100.200.300.400
100.200.300.400
100.200.300.401
100.200.300.402
上記のようであれば問題ないのですが、


100.200.50.400
上記のように、例えば三番目が300でなく50の場合、
100.200.300.400 の上にきて欲しいのですが、最下部にきてしまいます。

点の区切りずつ、前から見てソートするにはどうしたら良いでしょうか。
よろしくお願いします。

Offline

#2 2017-05-15 12:11:30

チポ
Member

Re: レコードのソートについて

四つのフィールドに区切りごと分けて、その四つでソートすればいいのでは。

Offline

#3 2017-05-15 12:54:27

Hiro
Member

Re: レコードのソートについて

各セクター内を「ゼロ埋め3桁整形」する計算フィールドを作り、これでソートする、とか。

その式例は、

   Let([
      #fwd="Right(\"000\"&\"";
      #bwd="\";3)";
      #mid=#bwd & "&\".\"&" & #fwd;
      #fnc=#fwd & Substitute(IPアドレス; ["."; #mid]) & #bwd
   ];
      Evaluate(#fnc)
   )

Last edited by Hiro (2017-05-15 15:14:41)

Offline

#4 2017-05-15 13:14:19

Shin
Member

Re: レコードのソートについて

Let (
t = "000" & Substitute ( アドレス ; "." ; "¶000" ) ;
Right ( Getvalue ( t ; 1 ) ; 3 ) & "." & Right ( Getvalue ( t ; 2 ) ; 3 ) & "." & Right ( Getvalue ( t ; 3 ) ; 3 ) & "." & Right ( Getvalue ( t ; 4 ) ; 3 )
)
再帰が難しければ、この式で。
自動入力で,アドレスのフィールドを整形しておいても良いかもしれませんよ。

Offline

#5 2017-05-15 15:30:45

にも
Member

Re: レコードのソートについて

チポ様、Hiro様、Shin様

回答ありがとうございます。

今回はフィールドを分けたくなかったので、Hiro様、Shin様の方法で試してみました。
どちらでも出来ました!ありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 549.32 KiB (Peak: 581.24 KiB) ]