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

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

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

You are not logged in.

Announcement

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


#1 2023-02-09 21:39:04

お茶
Guest

連番

初心者になります。日付ごとに連番をふりたいです。(win10 Ver19)

検索したところ

20171208
まず、これから、
  Year ( 日付 ) * 10000 + Month ( 日付 ) * 100 + Day ( 日付 )
分かりやすい様に、計算フィールドを作り、これを求めておきます。
>>これはできました。

日付フィールドで自己リレーションし、
シリアル番号のフィールドの入力値の自動化・計算式で
  Case ( not IsValid ( 自己リレーション::日付 ) ; "00" ;
            SerialIncrement ( "01" ; Max ( 自己リレーション::シリアル ) ) )
これで日付けごとに、00からシリアル番号が振られます。

というのを見つけたのですがうまくいきません。フィールド結果はすべて0で表示されています。
シリアル番号のフィールドとはどのように設定すればいいのでしょうか?

#2 2023-02-09 22:01:13

Shin
Member

Re: 連番

自動入力は、レコードを新規に作った時に評価されますので、既存のレコードでは何も返しません。
今の仕組みをそのまま使いたいのでしたら、データが空のファイルを作り、データをインポートするといいでしょう。
それができなければ、作成タイムスタンプを使って、同日の自分以前のタイムスタンプのレコードをカウントするように、別のリレーションを作って設定するといいでしょう。

Last edited by Shin (2023-02-09 23:14:26)

Offline

#3 2023-02-10 07:39:58

お茶
Guest

Re: 連番

ありがとうございます

新規でレコードを作成しても表示は0になってしまいます。

日付をカウントするという方法もあると思うのですが、どのようにしたらいいのか?わかりません。・・・

#4 2023-02-10 08:52:46

Shin
Member

Re: 連番

テーブル                     テーブル
  日付                       =  日付
  作成タイムスタンプ  ≥  作成タイムスタンプ
というリレーションを張って,リレーション先のレコード数をカウントすれば良いです。

Offline

#5 2023-02-10 09:47:48

チポ
Member

Re: 連番

既存のレコードには、日付を全置換で書き直せば再計算されます

> 新規でレコードを作成しても表示は0
計算式を
Case ( IsEMmpty ( 日付 ) ; "" ; not IsValid ( 自己リレーション::日付 ) ; "01" ;
            SerialIncrement ( "01" ; Max ( 自己リレーション::シリアル ) ) )
とすればいいのでは。


#4の方法は
途中のレコード削除が有ると
入力値の自動化では、
新規レコードに既存の最後と同じ番号が振られ、
計算フィールドでは、それ以降のレコードが書き換えられます。
ご注意を

Offline

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: 553.4 KiB (Peak: 581.34 KiB) ]