- ベストアンサー
Access サブフォームについて
いつもお世話になっております。 例に沿って質問します。 請求フォームがあり、 そこに請求明細サブフォームがあります。 明細のほうには、商品マスタと紐付いて、 商品ID、商品名、単価が表示されます。 明細.商品IDと商品マスタ.商品IDを紐付けることは できたのですが、(リレーションによって) 単価を商品マスタからひろうことができません。 (明細テーブルにも、単価欄があります) 明細.単価にupdateしたいのです。 ご教授宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
続いて、書きこみます。 一度、現在のテーブルの状態を明確に示して頂く事は出来ませんかね? 曖昧なままでは、論点がずれる気がします。 ps. 前回の質問に、適していると判断できるサイトを見つけました。 一度、データベースの基本である 正規化について考慮されては 如何でしょう。 http://www.kogures.com/hitoshi/webtext/db-seikika/index.html 参考にしてください。 前回の質問からでは、明細データに単価を持つことは意味がないと 判断しています。 最初にも書きましたが 仮に、単価を設けたとしたら それは商品IDをコンボで選択した時に セットすれば良いですが、そうすると 単価の入力し直し(商品マスタの単価以外)も 必要だからそうすると言う前提が成り立ちます。 (単価を入力しないのであれば、そもそも明細に単価を持たせる必要はありません。 持たせていけません) そうすると、単価*数量の再計算は 商品ID変更時・単価入力・数量入力時のタイミングで必要です。 サブフォームの内容をそれらに、対応させる必要があります。
その他の回答 (2)
まず、話しの前提となるテーブル設計の確認です。 細部の違いは、この際、無視。 <商品マスター> ID___品名___単価 1____AAA___\100 2____BBB___\200 <請求書> ID___請求日________顧客名 1____2007/08/09__鈴木 一郎 2____2007/08/09__中村 主水 <請求書明細> ID___請求書_ID___行番号___商品マスター_ID__品名__________________単価_______数量 1____1_______________1___________1______________________AAA(追加分)_______\100________1 2____1_______________2___________1______________________AAA(追加分)_______\100________1 3____1_______________3___________2______________________BBB(特注割増)____\230________1 次の問題は、<請求書明細!商品マスター_ID>の更新手順です。 サブフォームの[商品マスター_ID]に0を入力するかクリアしたら<検索フォーム>等が開くとします。 そうして、目的の商品が見つかったら、[商品マスター_ID]が更新されるという流れと仮定します。 ***************************************************** 検索商品名: [AA*] _検索結果: [1件の商品が見つかりました。 ] [No_][品名________][単価___________] [___1][AAA________][___________\100] [OK]{Cancel] ***************************************************** かかる<検索フォーム>で[OK]ボタンが押されたら、どのようなコードで更新するのか? 質問は、最低、この段階までの手法が決まっていなしといけないでしょう。 でなければ、<参照すればいいじゃないですか?>の回答が寄せられるのみ。 ※質問の的を絞られよ!
- kurodai2
- ベストアンサー率38% (77/202)
以前の質問と同じ件ですか? 明細には単価は、なかったですよね。 必ず、商品マスタから単価を持ってくるのであれば 明細に単価を持つ必要はないと思うのですが・・ 但し、商品Aが今は100円だけれども、来月は200円になるとかの様に 同じ商品コードで、金額を変えたりする運用の場合には その時・その時の単価を明細に持つ必要はあります。 >商品ID、商品名、単価が表示されます。 以前もですが、単価そのものは商品コンボで引っ張ってこれていましたよね。 そうなると、一番簡単なのは 商品コンボのイベント:更新後処理で 該当単価項目へ、商品マスタから得た値をセットされてはいかがでしょう。
補足
Northwindを参考に構築してみようと 思います。 いろいろな意見有難う御座います。