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

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

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

You are not logged in.

Announcement

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


#1 2013-09-09 23:58:14

t924
Guest

フィールドの内容をリセットする方法はありますか?

度々の質問で失礼します。

飲食店のお会計の伝票が使用目的です。
卓番ごとに1レコードです。入店時間、退店時間、人数、オーダー、合計金額などのフィールドがあります。
オーダーは別のテーブル(フィールドはタイムスタンプ、卓番、オーダー、単価)でまとめて入力して、卓番でリレーションしポータルで伝票のテーブルに表示させています。

会計が終わるごとに、また同じ卓番が繰り返し使われることになるのですが。
例えば会計を終了すると、2回転目同じ卓番を使用しても、オーダーが2回転目の新しい伝票に反映させる方法はないでしょうか?

説明が上手くできず、すみません、、、
スクリプトが必要でしょうか?…

#2 2013-09-10 00:08:49

Hiro
Member

Re: フィールドの内容をリセットする方法はありますか?

リレーションを、卓番に加えて伝票IDでも照合させるとか。

Offline

#3 2013-09-10 01:07:28

t924
Guest

Re: フィールドの内容をリセットする方法はありますか?

返信ありがとうございます。
シリアル番号のようなものをつけるということでしょうか?
ただ、常にインカムで飛んできたすべての卓のオーダーを一人打ってる状況なので。例えば、新規レコードで入店時間から退店時間の間のオーダーが反映されるようなスクリプトの設定は難しいでしょうか?
初心者の安易な考えですみません。

Hiro wrote:

リレーションを、卓番に加えて伝票IDでも照合させるとか。

#4 2013-09-10 01:38:10

Hiro
Member

Re: フィールドの内容をリセットする方法はありますか?

シリアル番号はフィールド値の自動入力設定で伝票レコード作成時に自動的に代入できます。
オーダーテーブル側へのシリアル番号と卓番の転記も、ポータルから何か注文を入力して新規関連レコード作成すれば自動的に挿入されるため、入力者の負担にはなりません。

Offline

#5 2013-09-10 08:46:56

counter
Guest

Re: フィールドの内容をリセットする方法はありますか?

入店時間<タイムスタンプ
退店時間>タイムスタンプ
をリレーションに追加、では。

#6 2013-09-12 01:14:38

t924
Guest

Re: フィールドの内容をリセットする方法はありますか?

教えていただいた方法で出来ました。本当にありがとうございます!!
ちなみに、日付フィールド(タイムスタンプ)が次の日のam10:00以降になると、シリアル番号がリセットされて1から始まるようなスクリプトを組むことは可能でしょうか?



Hiro wrote:

シリアル番号はフィールド値の自動入力設定で伝票レコード作成時に自動的に代入できます。
オーダーテーブル側へのシリアル番号と卓番の転記も、ポータルから何か注文を入力して新規関連レコード作成すれば自動的に挿入されるため、入力者の負担にはなりません。

#7 2013-09-12 08:34:01

チポ
Member

Re: フィールドの内容をリセットする方法はありますか?

> シリアル番号がリセットされて1から始まるような
単にこうすると、ユニークではなくなるのでやめた方がいいですよ。

例えば、
10:00AMから翌日の9:59AM
までを同一日付にして、
それごとにシリアルを振り
130912-001
この様な値を作ったらいかがでしょう。

Offline

#8 2013-09-12 17:26:13

t924
Guest

Re: フィールドの内容をリセットする方法はありますか?

なるほど!いつもありがとうございます。
やってみます。


チポ wrote:

> シリアル番号がリセットされて1から始まるような
単にこうすると、ユニークではなくなるのでやめた方がいいですよ。

例えば、
10:00AMから翌日の9:59AM
までを同一日付にして、
それごとにシリアルを振り
130912-001
この様な値を作ったらいかがでしょう。

#9 2013-09-13 01:57:20

t924
Guest

Re: フィールドの内容をリセットする方法はありますか?

これは何か関数をいれる必要がありますか?
日付のフィールドは作成時のタイムスタンプです。



チポ wrote:

> シリアル番号がリセットされて1から始まるような
単にこうすると、ユニークではなくなるのでやめた方がいいですよ。

例えば、
10:00AMから翌日の9:59AM
までを同一日付にして、
それごとにシリアルを振り
130912-001
この様な値を作ったらいかがでしょう。

#10 2013-09-13 12:37:50

チポ
Member

Re: フィールドの内容をリセットする方法はありますか?

例えば、
Year ( 日付 ) * 10000 + Month ( 日付 ) * 100 + Day ( 日付 )

20130913
の様な値が得られます。

桁を減らすのなら
Right ( 上記の式 ; 6 )

130913
とできますね。

Last edited by チポ (2013-09-13 12:59:33)

Offline

#11 2013-09-13 21:36:34

t924
Guest

Re: フィールドの内容をリセットする方法はありますか?

ありがとうございます。この式を伝票noのフィールドにいれて、-001、-002...の番号は手入力していけば良いのでしょうか?
それと、9/13PM10:00-翌日AM10:00までを9/13で同一日付にする方法は、日付のフィールドを手入力で9/13で入力した方が良いでしょうか。



チポ wrote:

例えば、
Year ( 日付 ) * 10000 + Month ( 日付 ) * 100 + Day ( 日付 )

20130913
の様な値が得られます。

桁を減らすのなら
Right ( 上記の式 ; 6 )

130913
とできますね。

#12 2013-09-17 08:58:33

チポ
Member

Re: フィールドの内容をリセットする方法はありますか?

前記の式の日付は
GetAsDate ( タイムスタンプ ) - ( GetAsTime ( タイムスタンプ ) < Time ( 10:0:0 ) )
計算結果は日付

これで10時までを前日とできます。


日付ごとの追番は、
日付で自己リレーションして

入力値の自動化・計算式で
Max ( 自己リレーション::追番 ) + 1
既存値置き換え、
「式内の全フィールド値が空欄の時、計算しない」のチェックを外す

で日付ごとの追番が得られますから、
それを加工してお望みの形にすればいいですね。

Offline

#13 2013-09-20 11:47:17

t924
Guest

Re: フィールドの内容をリセットする方法はありますか?

返信遅くなり申し訳ありません。
やってみます!何から何まで本当にありがとうございます。お陰様でだいぶ完成に近づいてまいりました。



チポ wrote:

前記の式の日付は
GetAsDate ( タイムスタンプ ) - ( GetAsTime ( タイムスタンプ ) < Time ( 10:0:0 ) )
計算結果は日付

これで10時までを前日とできます。


日付ごとの追番は、
日付で自己リレーションして

入力値の自動化・計算式で
Max ( 自己リレーション::追番 ) + 1
既存値置き換え、
「式内の全フィールド値が空欄の時、計算しない」のチェックを外す

で日付ごとの追番が得られますから、
それを加工してお望みの形にすればいいですね。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 7 queries executed - Memory usage: 529.36 KiB (Peak: 549.9 KiB) ]