みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
テーブルのフィールド名 会員番号 テキスト オプションで入力値の自動化 計算値 指定で
GetNthRecord ( 会員番号 ; Get ( レコード番号 ) -1)+1
新規レコードを押すと会員番号に自動で1、2、3と表示されます。
これを000001、000002・・・・・・・000100と表示したいのですが、どうしたらよいでしょうか
FileMakerを試用期間中です。
よろしくお願いします。
Offline
Right("000000" & 会員番号 ; 6)
で0埋めされた文字列が取得できます。
ちなみに…
Get(レコード番号)は、現在の対象レコードの何番目、という値を取得するので検索やソートの結果で動的に変化します。
前後のロジック次第ですが、挙げられた例の1行だけですと会員番号が必ずしもユニークになりません。
https://fmhelp.filemaker.com/help/18/fm … er.html%23
取得関数を使うならばGet(レコードID)というのもあります。
が、データベースの物理的な条件に拘束されるので、会員番号の管理に相応しいかは?
https://fmhelp.filemaker.com/help/18/fm … id.html%23
Last edited by koeda (2019-08-15 06:27:03)
Offline
早速のお返事ありがとうございます。
もともとExcelのデータを変換して作成しています。
会員番号が000001が始まっていて
新しいレコード追加で会員番号が000010としたいのですが
GETでは駄目みたいですね。
他に方法がありましたら、教えていただきたいと思います。
Right("000000" & 会員番号 ; 6) + GetNthRecord ( 会員番号 ; Get ( レコード番号 ) -1)+1
としましたが駄目でした。
そもそも記載する場所が違うのでしょうか。
試用期間中に、いろいろなホームページ等を拝見して
付け足ししながらどの程度まで作成できるか勉強中です。
よろしくお願いします。
Offline
フィールドのオプション - 入力値の自動化 - シリアル番号 にチェックを入れ、
「次の値」に 000010 を設定します。
※「次の値」は、ABC001 、x-001 など、数値以外の文字を含めることが出来ます。
Last edited by qb_dp (2019-08-15 10:10:22)
Offline
qb_dpさんからスマートな解が示されましたので、以下は蛇足ですが…
Excelではセルの書式設定だけでゼロ埋め(の表示)が簡単にできるのですが、FileMakerは必ずしもそうではありません。
Right("000000" & 会員番号 ; 6)
のような計算式は、不揃いな既存値の形式を揃えたいとか、桁数を7桁に再変更したいとか、といった場合に、
このような計算式を使って再計算することもできる、くらいの記憶にとどめておいていただければ。
ちなみにこの式(Right関数)は例えば123番の会員番号のとき、"000000"と"123"を文字列として結合した結果から
右側6文字を取得する、という意味です。"&"は文字列を結合するための文字列演算子です。
"+"は、足し算の算術演算子です。
Last edited by koeda (2019-08-15 11:01:48)
Offline
koedaさん、qb_dpさん回答ありがとうございます。
qb_dpさんの方法で出来ました。
ありがとうございます。
koedaさん Right関数しっかり覚えました。
ありがとうございます。
また、わからないことがありましたら、よろしくお願いします。
Offline
Pages: 1
[ Generated in 0.005 seconds, 8 queries executed - Memory usage: 560.16 KiB (Peak: 566.43 KiB) ]