ACCESS
皆さんのお力添えを頂けますでしょうか?
Microsoft ACCESSにおけるレコードの入力について
現在access2010を使い以下のプログラムを作成しています。
(1)テーブル : T_注文明細
(フィールド名)ー(データ型)
・注文ID ー オートナンバー
・商品No ー テキスト
・数量 ー 数値
(2)テーブル : T_注文数
数量として1~10までの数値が入れてあります。
(フィールド名)ー (データ型)
・数量 ー 数値
(3)テーブル: T_商品
(フィールド名)ー (データ型)
・商品Noーテキスト
・商品名ーテキスト
・金額ー通貨
(4)フォーム : F_商品一覧
商品リストが画像付き(商品1種類につき1画像)で示されており、画像をクリックすると
別のフォーム:F_商品○○(添付写真のようなフォームが商品毎に作成されている)へと進みます。
(5)フォーム : F_商品○○
コントロールボックスと、注文ボタンを配置しており
それぞれボタンにコードを埋め込んでいます。
・コントロールボックスについて
値集合ソース : T_注文数
値集合タイプ : テーブル/クエリ
上記(2)のT_注文数をソースに数量:1~10を選択します
・注文ボタンについて
以下の内容でコードを書いています。
Private Sub btn1_Click()
Dim oRs As DAO.Recordset
'テーブル読み込み(レコードセット作成)
Set oRs = CurrentDb.OpenRecordset("T_注文明細", dbOpenDynaset)
'レコードが見つかった場合
If oRs.NoMatch = False Then
'レコードの内容を書き換えます
oRs.Edit
oRs("数量").Value = Me.cmbsuuryou5.Value
oRs("商品No").Value = "商品No○○"
oRs.Update
End If
'レコードセットの終了処理
oRs.Close
Set oRs = Nothing
MsgBox "注文しました。", vbOKOnly + vbInformation, "注文"
End Sub
以上を踏まえ、現在下記の点で困っております
問題1:
数量を選択して、注文ボタンを押すとT_注文明細のフィールドに
内容が反映されますが、常に先頭のレコードが上書きされてしまいます。
希望は最新のレコードとしてテーブルに挿入され、既存のレコードを上書きすることなくレコード数を増やしたいのですが、うまくいき ません。
問題2:
F_注文にて複数種類の商品をそれぞれ複数個注文した際に
T _注文明細に複数のレコードが挿入(注文 ID,商品 No,数量)が挿入されてほしいのですが、
現状では問題 1と同様に、常に先頭のレコードの商品Noと数量だけが上書きされていまい、注文履歴が積み上がりません。
解決せずに困っております。
どなたか、ご教授頂けますでしょうか?
よろしくお願いいたします。