こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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と数量だけが上書きされていまい、注文履歴が積み上がりません。

解決せずに困っております。
どなたか、ご教授頂けますでしょうか?
よろしくお願いいたします。

投稿日時 - 2015-06-12 21:00:52

QNo.8992994

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

Edit は既存レコードの編集です。
追加するなら、Add。
本屋さんか図書館で適当なのを探し出して勉強してください。

http://www.happy2-island.com/access/gogo03/capter00201.shtml

投稿日時 - 2015-06-13 09:05:16

お礼

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

投稿日時 - 2015-06-13 16:41:34

あなたにオススメの質問