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

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

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

You are not logged in.

Announcement

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


#1 2018-03-26 18:07:46

taka8129
Member

10⇒00100と値を自動変換する

お世話になります。

10桁の管理番号+5桁の通し番号で書類を管理しており、
10桁の管理番号と5桁の通し番号にそれぞれフィールドがあります。

5桁の通し番号のフィールドに、
「10」と入力したとき、「00100」
「20」と入力したとき、「00200」
「100」と入力したとき、「01000」
「110」と入力したとき、「01100」
「200」と入力したとき、「02000」
※「1000」以降は考えません
と自動で値が書き換わるようにしたいのですが、
どの様な計算式を入れればよいのか分かりません。

SerialIncrement("00000" ; num)
などとやってみましたが、全然ダメでした。

平たく言えば、
2桁で入力した数値の頭に”00”を付与、末尾に”0”を付与という感じの変換をしたいです。
3桁で入力した場合は、頭に”00”を付与するのみ。
4桁入力はありませんので設定不要です。

という設定をしたいのです。

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

Offline

#2 2018-03-26 21:02:53

Hiro
Member

Re: 10⇒00100と値を自動変換する

フィールド設定で、計算値での「入力自動化」+「常時書換え」のオプション設定をします。
その式は、

Case(
   Length(Self)=2; "00" & Self & "0";
   Length(Self)=3; "00" & Self
)

Last edited by Hiro (2018-03-27 02:34:50)

Offline

#3 2018-03-27 09:09:46

チポ
Member

Re: 10⇒00100と値を自動変換する

> 「100」と入力したとき、「01000」

> 3桁で入力した場合は、頭に”00”を付与するのみ。
これとは矛盾していますが、どちらが正しいのでしょうか?

Hiroさんのは後者ですね。

前者なら、
  Right ( "00" & Self & "0" ; 5 )
でいいでしょう。

Offline

#4 2018-03-27 18:46:57

taka8129
Member

Re: 10⇒00100と値を自動変換する

チポ様、Hiro様

有難うございます。
正しくは、3ケタの場合は頭に”0”、末尾に”0”を添付、でした。申し訳ございません。

ご教示いただいた通り、計算値を入れてみましたが、
「このフィールドは変更禁止なので、この操作は実行できません」と出てきてしまいます。

Pro13を使用しています。

新規入力を受け付けない設定になってしまっているようですが、どう対応すればよろしいでしょうか。

初心者の質問で申し訳ございません。

Offline

#5 2018-03-27 23:18:54

Hiro
Member

Re: 10⇒00100と値を自動変換する

フィールドは、計算フィールドではなく、テキストフィールドです。
テキストフィールドのフィールド設定で、計算値での「入力自動化」+「常時書換え」
のオプション設定を行ってください。
修正式は、(なお、2桁と3桁以外は、空欄を返す式)

   Case(Filter(Length(Self);"23")<>""; Right("00" & Self & "0";5))

Offline

#6 2018-03-28 08:30:13

taka8129
Member

Re: 10⇒00100と値を自動変換する

Hiro様

お世話になっております。

ご教示いただいた内容で、問題なくできました。
感謝申し上げます。勉強させていただきます。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 508.16 KiB (Peak: 514.76 KiB) ]