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

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

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

You are not logged in.

Announcement

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


#1 2017-04-10 17:13:12

Ka-sa
Member

仕分け

お疲れ様です。

早速ですが、質問させていただきます。
個人データをIDで仕分けしており入力したものを統一の形式にしたいのですが方法が思いつきませんでした。

IDとID補正というフィールドがありIDフィールドにに数字を入れるとI、D補正フィールドに000-000-0という風な表示にしてあります。
ID補正フィールドは計算で
Right ( "000" & Div ( ID ; 10000 ) ; 3 ) & "-" & Right ("000" & Div ( Mod ( ID ; 10000 ) ; 10 ) ; 3 ) & "-" & Right  ( "0" & Mod ( ID ; 10 ) ; 1 )
となっており上記の計算式で000-000-0の表示にしてあります。
現在個人データのIDは7桁ですが近々8桁になりそうなのでそこで質問です。

ID                ID補正
1                  000-000-1
12                  000-001-2
123                000-012-3
1234              000-123-4
12345            001-234-5
123456          012-345-6
1234567        123-456-7
12345678      123-456-78
123456789    123-456-789
1234567890  123-456-7890

と上記のようにしたいのですが可能でしょうか?
どなたかご教示お願いいたします。

Offline

#2 2017-04-10 17:47:12

チポ
Member

Re: 仕分け

考え方を、、

IDが6桁以下ならその前に0を加えて7桁にし、7桁以上はそのまま
それの前から7文字目と、4文字目に「-」を加える
  ・・ここはRiplace関数が簡単ですね


> IDは7桁ですが近々8桁になりそう
と書かれていますが、
例は違うような。。

Offline

#3 2017-04-12 17:00:15

Ka-sa
Member

Re: 仕分け

>チポさん
ありがとうございます。

近々8桁になりそうなのですが、この際10桁目までカバーしておこうとおもい質問させていただきました。

Offline

#4 2017-04-12 20:19:07

Hiro
Member

Re: 仕分け

補正計算式の作例、

Let([
   #num=IDフィールド;
   #len=Length(#num);
   #add=Substitute(10^(7-#len)-1; 9; 0);
   #txt=Case(#len<7; #add) & #num
];
   Replace(Replace(#txt;7;0;"-");4;0;"-")
)

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 549.82 KiB (Peak: 581.93 KiB) ]