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

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

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

You are not logged in.

Announcement

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


#1 2023-03-13 11:45:06

tfm
Member

月-連番の自動生成番号を作成しているのですが、1レコード目が空欄になってしまいます。1レコード目から001となるようにしたいのですが・・・

いつも大変お世話になっております。

19.6.3.302になります。

serial (数字フィールド)番号自動入力
日付 (日付フィールド)
年月(計算フィールド)Year ( 日付 ) * 12 + Month ( 日付 )             計算結果は数字
m_serial(計算フィールド)SerialIncrement ( "000" ;Count ( テーブル 2::serial ))   計算結果は数字
通し番号(テキストフィールド)計算値自動入力 Month ( 日付 ) & "-" & m_serial 既存値がある場合は置き換えない

テーブル年月 = テーブル2年月
テーブルserial > テーブル2 serial

で自己リレーションをはっております。

トランザクションを使用しますのでレコードの削除はいたしません。
通し番号をテキストフィールドにしている理由は番号検索をしますので、計算フィールドにしてしまうと検索のスピードが遅くなるためです。
既存値を置き換えない理由は番号が変更してしまうのを防ぐためです。

理想の動作としては20203/0313の新規レコードを作成した場合に、3-001
さらに同じ日付の新規レコードを作成した場合は3-002
4月だと4-001・・・100件超える場合もありますので、その場合は4-100・・・など

ほぼ理想通りの動きにはなったのですが、月の最初のレコードを作成した場合に、m_serialが空欄になり、通し番号が「3-」
となってしまいます。

このレコードを無くし、1レコード目から001となった欲しいのですが、どこか改善するべきところはございますか?

何卒ご教授のほど、よろしくお願いいたします。

Offline

#2 2023-03-13 13:18:08

Shin
Member

Re: 月-連番の自動生成番号を作成しているのですが、1レコード目が空欄になってしまいます。1レコード目から001となるようにしたいのですが・・・

全てのフィールドが空の場合に評価しない、がオンになっているのでは。

Offline

#3 2023-03-13 13:33:39

tfm
Member

Re: 月-連番の自動生成番号を作成しているのですが、1レコード目が空欄になってしまいます。1レコード目から001となるようにしたいのですが・・・

Shinさん

おっしゃる通り、オンになっておりました。しかしチェックマークを外すと、番号が自動で入力されなくなってしまいました。
他に何か設定するところはあるのでしょうか?

Offline

#4 2023-03-13 13:52:20

チポ
Member

Re: 月-連番の自動生成番号を作成しているのですが、1レコード目が空欄になってしまいます。1レコード目から001となるようにしたいのですが・・・

書かれた通りだと、
000から始まりますよ。

> テーブルserial > テーブル2 serial
この照合を
テーブルserial >= テーブル2 serial
とすれば、
全てのフィールドが空の場合に評価しない
これがオンでも大丈夫でしょう。

Offline

#5 2023-03-13 14:14:44

tfm
Member

Re: 月-連番の自動生成番号を作成しているのですが、1レコード目が空欄になってしまいます。1レコード目から001となるようにしたいのですが・・・

チポさん

ありがとうございます。
そのリレーションに変更してみました。
が、空欄のままです。

おっしゃるとおり、空欄が000になってくれればそれでよいのですが・・・

どこが問題なのかわからない状況です。

Offline

#6 2023-03-13 14:33:08

tfm
Member

Re: 月-連番の自動生成番号を作成しているのですが、1レコード目が空欄になってしまいます。1レコード目から001となるようにしたいのですが・・・

すみません。

通し番号を
Month ( 日付 ) & "-" & m_serial
から
Month ( 日付 ) & "-"SerialIncrement ( "000" ;Count ( テーブル 2::serial )) 
に変更したら表示されるようになりました。

少しこれで様子を見てみようと思います。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 558.47 KiB (Peak: 582.61 KiB) ]