みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
よろしくお願いいたします。
テーブル :注文データ①
フィールド:注文No(自動生成 001・・)、顧客情報等
テーブル :注文データ②
フィールド:注文No、商品コード、数量、金額等
①のテーブルレイアウトに、ポータルで②を入れて、
1回の注文で複数の商品を登録できるようにしています。
そして、②のレイアウトでは、
例えば、注文No順にデータが並んでいます。
そこで、注文Noが一つしかない場合は、識別用フィールドを作成して、「単独」。
同じ注文Noが2つあるときは、それぞれに「開始」、「終了」。
3つ以上あるときは、「開始」「継続」「終了」。と入れたい。
※発注システムにインポートするためにどうしても必要な項目なのです。
いい方法はないでしょうか?
従来は、Excelのマクロでそういう動作をさせていたのですが、
メンテできる人がいなく、ファイルメーカーで作り変えたいと考えています。
よろしくお願いいたします。
Offline
とりあえず、自己解決?
過去の投稿から、
シリアル番号を作り、さらに一つ前のシリアル番号、一つ後のシリアル番号の計算フィールドを作って、
自己リレーションかけて、前後の注文Noを表示させることができたので、
if関数で、開始、継続、終了 と表示させることが可能になりました。
一つ難点が・・
シリアル番号は、注文No順に振っているのですが、同じ注文Noの中で
商品の追加や削除があると、シリアル番号が飛んだり欠番になったりします。
この場合、注文入力を終えた都度スクリプトを走らせ、
シリアル番号をExcelのオートフィルみたいに、1から連番を自動付与しなおすことって
できるんでしょうか?
Offline
注文データ② で注文Noで自己リレーション
識別用フィールドの計算式
Case ( Count ( 注文データ② 2::注文No = 1 ) ; "単独" ;
注文データ② 2::レコードID = レコードID ; "開始" ;
Last ( 注文データ② 2::レコードID ) = レコードID ; "終了" ;
"継続" )
リレーション照合順になります。
(リレーションでソート設定しなければ、レコード作製順ですね)
> 1から連番を自動付与しなおす
フィールド内容の全置換
でシリアル番号を振れます。
Offline
チポさん、ありがとうございます。
ここでいう、レコードID とは、新たにフィールドを作って、Get(レコードID)とするのでしょうか?
> 1から連番を自動付与しなおす
フィールド内容の全置換
でシリアル番号を振れます。
→ おお! なんと初歩的な質問をしてしまいました!
ありがとうございました。
Offline
レコードIDと書きましたが、
シリアル番号等ユニークな値なら何でも可です。
もちろん、Get ( レコードID ) でもいいんですよ。
Offline
[ Generated in 0.008 seconds, 11 queries executed - Memory usage: 509.14 KiB (Peak: 513.68 KiB) ]