• 締切済み

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と数量だけが上書きされていまい、注文履歴が積み上がりません。 解決せずに困っております。 どなたか、ご教授頂けますでしょうか? よろしくお願いいたします。

みんなの回答

回答No.1

Edit は既存レコードの編集です。 追加するなら、Add。 本屋さんか図書館で適当なのを探し出して勉強してください。 http://www.happy2-island.com/access/gogo03/capter00201.shtml

vulpeszerda
質問者

お礼

ありがとうございました。 コードを書き換えて無事に解決しました。

関連するQ&A