みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
恐れ入ります。
可能であればお教えいただきたいのですが、現在以下のように
-顧客ID-・ー顧客名ー・・・・・・・-シリアルNo-
となっており、シリアルNoは数字のみで構成されており、単純に1ずつ増えていくものです。
私の扱ってるデータは毎月1回何万件というものをインポートし、管理していくのですが、
同一契約ID方が1月・2月・4月などと複数あり、最新のものを1行だけ表示したいのです。
そこで顧客IDのその中のシリアルNoの最大値で検索できればと思ったのですが、
そのようなことは可能でしょうか?
可能でしたら、どのように記述すればよいかご教授ください。
また、このような検索方法ができない場合、お知恵をお貸しいただければ幸いです。
よろしくお願いいたします。
Offline
顧客IDごとのレコードを持つ顧客マスタのようなテーブルはないのですか?
このテーブルがあれば、このテーブルにノータッチで常に表示することができますが、、
Offline
IDで自己リレーションをはり、リレーションの中でシリアルで降べきにソートしておきます。そのリレーション先のフィールドを表示すればいいです。
Offline
ご回答いただきありがとうございます。
大変申し訳ございません。
私が慌てていて、表現が間違えておりわかりづらくなっておりました。
再度質問させていただきます。
同一契約IDの方が1月・2月・4月などと複数あり、検索の際にIDだけで検索すると複数でてきます。
いろいろと事情があり、検索ボタンを作成し、検索したときに最新のものを1行だけ表示したいのです。
同一顧客IDの中のシリアルNoの最大値で検索できればと思ったのですが、そのようなことは可能でしょうか?
ということでございました。
申し訳ありません。
Offline
検索はIDでおこなっているのですか。
IDがユニークのテーブルがあれば、そこで検索して、リレーション先を表示すればいいです。
Offline
> 契約ID
> 顧客ID
これは同じものですか?
Offline
> 契約ID
> 顧客ID
これは同じものですか?
すみません。同じものです。
Offline
表示されればいいのなら、前レスでできます。
どうしても検索が必要でしょうか?
検索は
顧客ごと、最大シリアルのレコードにフラグを立てて、それを検索。
これは、非保存のフィールドを検索することになるでしょうから、
レコード数が多いと時間がかかりますネ
もう一つの方法
顧客ID
シリアルの降順
でソートして、
最初のレコードから順に顧客IDが変わったら対象外に
を最後のレコードまで繰り返し、
対象外を表示
どちらが高速かな?
Offline
$変数に目的の最大シリアル値を算出・格納し、その変数をキーに検索するのが一番楽かな?
最大シリアル値はSQL関数式で一発算出すれば簡単です。
スクリプトは2ステップのみ、(※リレーションなど他の一切の事前設定は不用!!)
【変数を設定】
●$変数 = ExecuteSQL(" SELECT MAX(""シリアル"") FROM ""テーブル"" WHERE ""顧客ID""=? "; ""; ""; 顧客ID)
【検索実行】
●$変数(最大シリアル値)をキーに検索実行
Offline
取り違えていたか??
> 最新のものを1行だけ表示したいのです。
> 同一顧客IDの中のシリアルNoの最大値で検索
一つの特定の顧客IDの最大シリアルのみを表示?
各顧客IDごとの最大シリアルのリストを表示?
私は後者で回答していました、
どちらでしょう?
Offline
私も後者だと思ってたけど、顧客IDで検索するというので、実は前者だったようですね。
ID検索後にシリアル最大=一番最後の行に移動(してそのレコードだけを表示)ぐらいでもよさそう?
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 521.45 KiB (Peak: 525.98 KiB) ]