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

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

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

You are not logged in.

Announcement

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


#1 2014-05-23 19:04:16

watanabe3
Guest

シリアルNo自動化の変更

以前のサイトで発見したのですが。

http://www.russ.jp/stepbbs/step.cgi?mode=view&no=48564
これとまったく同じことをしたいのですが、4桁連番を3桁にしたい場合はどこを変更すればいいですか。
あと「^」はどういう意味でしょうか。

#2 2014-05-23 19:16:33

Traveller
Guest

Re: シリアルNo自動化の変更

これが良かったはず。
https://fm-aid.com/bbs2/viewtopic.php?id=661

#3 2014-05-23 20:03:42

FM12始めたばかり
Guest

Re: シリアルNo自動化の変更

初心者の発言なので笑わないで読んで下さいね

10^2(10の2乗)=10x10=100
EXCELでも同じ使い方しますね

年月3桁シリアルをお金に例えると
シリアル   100円台
月      1,000円台 → 月x1,000
年      10万円台  → 年x100,000

この合計金額です(汗)

#4 2014-05-23 22:16:31

watanabe4
Guest

Re: シリアルNo自動化の変更

Traveller wrote:

これが良かったはず。
https://fm-aid.com/bbs2/viewtopic.php?id=661

Travellerさんありがとうございます。自分が貼った参考URLも張り付けただけで内容があまり理解できていない状態です。
2つのやり方の違いがわかっていません。このやり方でも今日の日付で例えるなら
西暦の右2つ(14)&月(05)&001
のようになりますか。


FM12始めたばかり wrote:

初心者の発言なので笑わないで読んで下さいね

10^2(10の2乗)=10x10=100
EXCELでも同じ使い方しますね

年月3桁シリアルをお金に例えると
シリアル   100円台
月      1,000円台 → 月x1,000
年      10万円台  → 年x100,000

この合計金額です(汗)

FM12始めたばかりさんありがとうございます。
二乗ということだったのですね。初めて知りました。
わかりやすい例えありがとうございます。

#5 2014-05-24 06:06:18

FM12始めたばかり
Guest

Re: シリアルNo自動化の変更

Traveller 様のURLを参考にしますと

>西暦の右2つ(14)&月(05)&001

Right(Year(日付フィールド);2)*100000+Month(日付フィールド)*1000+SerialIncrement ( "0001" ; Max ( グループフィールド) )

  SerialIncrement (FM Prro 7.0以降)
種別シリアルは、こんな計算式になるのでしょうね

#6 2014-05-24 08:11:27

FM12始めたばかり
Guest

Re: シリアルNo自動化の変更

訂正

*100000と*1000は不要で
連結は+でなくて&でした(汗)

#7 2014-05-24 08:41:32

引栗
Guest

Re: シリアルNo自動化の変更

西暦が1桁のもある場合は、そっちの桁ぞろえが必要なので、全体をSerialIncrementに入れる。
そうでない場合は、全体が数字なんで、連結でなく加算にすればSerialIncrementは使わないでいい。

#8 2014-05-26 09:46:22

watanabe5
Guest

Re: シリアルNo自動化の変更

ありがとうございます。
こんな簡単になるんですね。
一応作成したのを載せてみます。月が変わったら下3桁が001に戻らないので、どこを直したらいいか教えてください。任せっぱなしですみません。

フィールド

・作成日、タイプ「日付」
(後々シリアルナンバーの作成日をget(日付)に変えますが、月が変わった時にレコードIDが変わるかの確認のために作ってます。)

・シリアルナンバー 、タイプ「数字」(データ入力時の変更禁止)
(式)Right ( Year(作成日) ; 2 )  & Right ( Month(作成日) ; 2 ) & SerialIncrement ( "001" ; Max ( レコードID ))

・レコードID、タイプ「数字」(シリアル番号・確定時)

リレーション
レコードID = 自己リレー::レコードID(自己リレー::レコードID・降順ソート)

分かりにくくてすいみませんがよろしくお願いします。

#9 2014-05-26 11:12:30

引栗
Guest

Re: シリアルNo自動化の変更

なんか根本が違ってます。
「月が変わったら」だから、月(実際は年月)でリレーションします。
2010~2099年しか扱わないなら年月の頭が0にならないので数字でもいいけど、基本はテキスト

・作成日、タイプ「日付」
・年月 計算テキスト
Right ( Year(作成日) ; 2 )  & Right ( "0" & Month(作成日) ; 2 )
・シリアルナンバー 、タイプ「テキスト」(データ入力時の変更禁止)
(式) SerialIncrement ( "001" ; Max ( 自己リレー::シリアルナンバー ))
・結果
年月 & シリアルナンバー

#10 2014-05-26 11:56:18

watanabe6
Guest

Re: シリアルNo自動化の変更

ありがとうございます。
詳しくアドバイス貰っているのに理解できてなくてすみません。
引栗さんのアドバイス通りに作ってみたら、自動で年月もシリアルナンバーも変更することができるようになりました。
関数の中に関数を入れたりする方法などもっと勉強します。またお願いします。
ありがとうございました。

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: 561.2 KiB (Peak: 579.78 KiB) ]