みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
ファイルメーカープロ15を使っております。
よろしくお願い致します。
上司から現在、商品マスタで使用されている商品コードの最大値と、その次に使用する商品コードを
ジャンル別に確認できるようなツールを作ってほしいと言われましたが、思うようにいかず困っています。
テーブル名:商品コードマスタ
フィールド:ジャンル名、商品コード開始値、商品コード終了値
<データの例>
調味料、5010000、5019999
ギフト、5020000、5029999
テーブル名:商品マスタ
フィールド:商品コード、商品名
<データの例>
5011229、三河みりん
5023974、AGFコーヒーギフト
初歩的な質問かもしれません…申し訳ないです。
どうかお知恵をお貸し下さい。
商品マスタに
ジャンルが分かるフィールドが無いと無理でしょう。
Offline
ジャンル別の商品コードは,紙マスターの時代の異物です。将来的に困った運用になりますので,作らない方が良いです。例えば,調味料で5019999まで使ってしまったら,次はどうします?
どうしてもそれが必要ならば,全体の通し番号で運用に使うコードとしておき,同じジャンルで自己リレーションを張り,通し番号で自分より小さな物の数を数えればいいです。
Offline
現時点での解決策としては、リレーションを張り、以下計算フィールドで、最大値が出ます。
フィールド:MAX|計算|Max ( 商品マスタ::商品コード)
Offline
以下のほうが、リレーションがいらないので、お手軽。
テーブル名:商品コードマスタ
にフィールドを追加
フィールド:MAX|計算|
Let(
query="
SELECT MAX(`商品コード`)
FROM `商品マスタ`
WHERE
`商品コード` BETWEEN {MIN} AND {MAX}
"
;
ExecuteSQL ( Substitute ( query ;
["`" ; "\""]
; ["{MIN}" ; 商品コードマスタ::商品コード開始値]
; ["{MAX}" ; 商品コードマスタ::商品コード終了値]
) ; "" ; "" )
)
Offline
商品コードの自動入力の話ではないのか・・
現在の最大値を得るのなら、
qb_dpさんの通りですね。
Offline
返事が遅くなり、大変、申し訳ありません。
皆さん、ご助力ありがとうございました。
qb_dpさんにお教え頂いた内容で解決致しました。
本当に本当にありがとうございました!
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 513.79 KiB (Peak: 518.33 KiB) ]