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

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

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

You are not logged in.

Announcement

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


#1 2014-05-22 16:45:53

Coume
Guest

条件付きで指定の場所に文字追加

こんにちは。
初心者です。質問お願いします。

レコードに管理番号を振っているのですが、A101とかA1010など数字の部分の桁が変わるので
ソートすると並びがおかしくなります。
そこで、ソート用に数字の部分が5桁に変換され、合計6文字になるフィールドを作りたいのですが計算式を教えてください。

【作りたい計算式】
管理番号が3文字の場合は左から2文字目に000を挿入し、
管理番号が4文字の場合は左から2文字目に00を挿入し、
管理番号が5文字の場合は左から2文字目に0を挿入する。

Ifや Length (管理番号) = 4 などを使うような気がするのですが、
うまくいきません。ご教授下さい。

使用しちるのはファイルメーカー12です。
宜しくお願いします。

#2 2014-05-22 17:11:00

Moz
Member

Re: 条件付きで指定の場所に文字追加

A101 なら A00101
A1010 なら A01010 であってます?

別に計算フィールドを作るなら、
"A" &
Right ( "00000" & 管理番号フィールド ; 5 )

計算値の自動入力なら
※最初に【A】などが入り、それ以降を5桁にする。
[フィールドに既存の値が存在する場合は置き換えない]を外す

Let ( [
    ~prefix = Left ( Self ; 1 ) ;
    ~text = Middle ( Self ; 2 ; Length ( Self ) )
] ;
    ~prefix &
    Right ( "00000" & ~text ; 5 )
) // Let

如何でしょう?

Offline

#3 2014-05-22 17:21:22

チポ
Member

Re: 条件付きで指定の場所に文字追加

こんなんでも
   Replace ( 管理番号 ; 2 ; 0 ; Left ( "0000" ; 6 - Length ( 管理番号 ) ) )

Offline

#4 2014-05-22 17:22:29

引栗
Guest

Re: 条件付きで指定の場所に文字追加

SerialIncrement ( Left ( 管理番号 ; 1 ) & "00000" ; 管理番号 )

#5 2014-05-22 17:25:54

Coume
Guest

Re: 条件付きで指定の場所に文字追加

お二人ともありがとうございます。
やってみたら思った通りに出来るようになりました!
また色んなやり方があるのかととても勉強になりました。
ありがとうございました。

#6 2014-05-22 17:46:46

Coume
Guest

Re: 条件付きで指定の場所に文字追加

書いてる最中に書き込みあったようで、
引栗さん ありがとうございました!

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 553.58 KiB (Peak: 581.42 KiB) ]