プロが教えるわが家の防犯対策術!

Access2000を使っており以下のような処理を行いたいと思っております。
お力添え何卒宜しくお願いいたします。


■処理内容
電話で注文を受ける際に、お客様から言われた商品番号を画面に入力→検索をすると、その商品内容が画面に表示される。

上記の処理は出来ております。

そして画面に表示された内容を、【保存】ボタンを押すことで履歴として残す。

という処理を行いたいと思っております。


※テーブル・フォームの構成
-------------------------------------------------------------------
T_product←商品基本情報テーブル
 ├id←商品ID
 ├price ←商品価格
 ├memo ←商品詳細
 └photo ←商品画像格納用

T_phistory ←注文履歴保存用テーブル
 ├phid ←オートナンバー
 ├oder_no ←オーダーNo
 ├product_id ←商品ID
 ├price ←商品価格
 └data ←注文日時

F_SOGO ←フォーム ←検索を行うフォーム

F_SUB ←サブフォーム ←詳細を表示するフォーム
-------------------------------------------------------------------

F_SOGO にある非連結テキストボックス serch_id に商品番号を入れて検索ボタンを押すと
サブフォーム F_SUB に商品情報が表示される。

表示される内容は、

T_product から商品IDをキーにして、商品価格、商品詳細、画像を表示します。

また、F_SOGO には非連結テキストボックス oder_id を作り
規定値に =Now()
書式に yymmddhhnnss
として 2011年12月24日 14時04分05秒だと 111224140405 と入るようになっており


そこまではいいのですが、その結果を 仮に F_SOGOに【保存】というボタンを作り

押すと T_phistory に新規で

oder_no に 非連結テキストボックス oder_id の 111224140405 を
product_id に F_SUB の id
price に F_SUB の price

を追加したいのですが、できません。



自分で調べた結果、

Private Sub 保存_Click()
Dim Rst As DAO.Recordset

Set Rst = CurrentDb.OpenRecordset("T_phistory", dbOpenTable)

With Rst
.AddNew
.oder_no = Me.oder_id
.product_id = F_SUB.id
.price = F_SUB.price
.Update
End With

End Sub

としてみましたが全くです。

何卒宜しくお願いいたします。

A 回答 (1件)

> を追加したいのですが、できません。


「どこで」「どう」できない?

モジュール[保存_Click()]のSETの行でF9を押してブレークポイントを設定。
以降、F8キー押下ごとに1行ずつ実行できます。

Withでレコードセットが受け取る(右辺)の値は、期待通り?
フォーム名の修飾は正しいのかな>

この回答への補足

色々と試した結果

Private Sub 保存_Click()
Dim Rst As DAO.Recordset

Set Rst = CurrentDb.OpenRecordset("T_phistory", dbOpenTable)

With Rst
.AddNew
!oder_no = Me.oder_id
!product_id = F_SUB!id
!price = F_SUB!price
.Update
End With

End Sub

で動作いたしました。

!じゃないといかなかったんですね。

ただ、oder_idは 期待通りのデータではなく
日付のようなデータになっておりました。

ここも一工夫いるようですね。

調べてみますが分からないときにはスイマセンがまたお願いいたします。

補足日時:2011/12/24 17:16
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

> モジュール[保存_Click()]のSETの行でF9を押してブレークポイントを設定。
> 以降、F8キー押下ごとに1行ずつ実行できます。

SETの行にブレークポイントは設定できたのですが、以降F8を押しても
なにも反応いたしません。
そのためまだこちらは検証できておりません。すいません。

F_SOGOで 保存ボタン を押すと

.oder_noの部分で

コンパイルエラー
メソッドまたはデータ メンバが見つかりません。

とのエラーが表示されます。


ということは
.oder_no = Me.oder_id
.product_id = F_SUB.id
.price = F_SUB.price
の書き方がおかしいでしょうか?
むむむ。

お礼日時:2011/12/24 17:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!