みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
いつも大変お世話になっております。
19.6.3.302になります
トランザクションを使用し、レコードを新規レコードを作成。必須項目が入力されたらレコード確定ボタンで新規レコードが作成されます。
レコードが作成された時点で、計算式により作成された番号が決まります。
確定されたら、この番号は変更されたくありません。
このレコードの他のフィールドはまだまだ変更があるのですが、番号だけは変更したくないのでロックをしたいです。
セキュリティの設定ではなく、スクリプトで設定したいのですが、方法はございますでしょうか?
何卒よろしくお願いいたします。
Offline
>計算式により作成された番号が決まります
なら、レイアウト上のフィールドを編集不可にしておけばいいのでは。
いくつか方法が考えられますが、、
入力値の自動化で入力されるのなら、
「データ入力時の値変更禁止」
とすればいいのでは。
Offline
himadaneeさん
ありがとうございます。
こちら、番号の計算式が
2304-H05-001
のような形となっておりまして、
レコードの通し番号と年月と所属コードのリレーションで作成されており、まずは所属フィールドを入力
この時点でH5-001となり、
その後に年月フィールドに関連する、案件終了日が入力され、2304-H5-001となります。
トランザクションで確定されるまではこの番号は、案件終了日を間違って入力などもあると思うので、変更可能にしたいです。
確定した後は、この番号は変更不可。としたいのですが、その場合でも大丈夫でしょうか?
教えていただけますと幸いです。
Offline
データテーブルから主キーでリレーションした管理番号用の別テーブルを作ります。自動入力で2304-H05-001が計算されるようにし、「データ入力時の値変更禁止」を設定しておきます。
トランザクションを確定するときに、データテーブルから番号テーブルにレコードを作成します。データテーブルからはその番号を参照かルックアップして持ってくるようにすると、思っている運用になるのでは。
Offline
Shinさん
ありがとうございます。
データテーブル、番号テーブルともに主キーがUUIDでありますが、それらをリレーションで良いのでしょうか?
また、トランザクションを確定するときに別テーブルにレコードを作成はどのようにするのでしょうか?
申し訳ありませんが、何卒よろしくお願いします。
Last edited by tfm (2023-03-15 15:31:38)
Offline
番号テーブル側には本来の主キーは必須ではないので、それでいいですよ。
トランザクションを確定 が成功すれば、フィールド設定[番号テーブル::主キー ; データテーブル::主キー] を実行すれば、番号テーブル側に新規レコードが作られ、自動計算で番号が作られます。
Offline
Shinさん
ありがとうございます。
できました。
ルックアップの方法がわからなかったのですが、
これまでのデータテーブルのフィールドを並べていたレイアウトの中の番号フィールドの箇所を全て
番号テーブルの番号フィールドにする。で望みの動作になったと思っていますが、この認識でよろしかったでしょうか?
Offline
それでいいのでは。
Offline
Shinさん
ご確認ありがとうございます。
問題なさそうですので、上記の方法でやってみます。
いつもありがとうございます。大変助かりました。
Offline
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 566.65 KiB (Peak: 587.1 KiB) ]