みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
こんにちは。
初心者です。質問お願いします。
レコードに管理番号を振っているのですが、A101とかA1010など数字の部分の桁が変わるので
ソートすると並びがおかしくなります。
そこで、ソート用に数字の部分が5桁に変換され、合計6文字になるフィールドを作りたいのですが計算式を教えてください。
【作りたい計算式】
管理番号が3文字の場合は左から2文字目に000を挿入し、
管理番号が4文字の場合は左から2文字目に00を挿入し、
管理番号が5文字の場合は左から2文字目に0を挿入する。
Ifや Length (管理番号) = 4 などを使うような気がするのですが、
うまくいきません。ご教授下さい。
使用しちるのはファイルメーカー12です。
宜しくお願いします。
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
こんなんでも
Replace ( 管理番号 ; 2 ; 0 ; Left ( "0000" ; 6 - Length ( 管理番号 ) ) )
Offline
SerialIncrement ( Left ( 管理番号 ; 1 ) & "00000" ; 管理番号 )
お二人ともありがとうございます。
やってみたら思った通りに出来るようになりました!
また色んなやり方があるのかととても勉強になりました。
ありがとうございました。
書いてる最中に書き込みあったようで、
引栗さん ありがとうございました!
Pages: 1
[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 552.05 KiB (Peak: 579.77 KiB) ]