
Accessのレコード追加時に、特定のフィールドに値を追加する方法が分からずに、困っております。
ご存じの方がいらっしゃいましたら、ご教授頂けましたら幸いです。
参考にしたサイト
http://www.happy2-island.com/access/gogo03/capte …
バージョン Access2010
OS Windows7 Professional
フォーム名:tmp税抜コンボ(テーブル名:tmp伝票No)
サブフォーム:tmp税抜サブ(テーブル名:tmp税抜)
添付画像、tmp税抜コンビフォーム
◎目的
販売管理DB(SQLServer2008)からのリンクテーブルに、特定の得意先を抜出したデータに一部消費税が入っていないため消費税を入力し別のシステムへデータを渡す事が目的です。
◎処理
可変値:納品日、伝票No、得意先CD、摘要、前のレコードからコピー
固定値:税区、商品名、数量は定数
消費税;手入力(InputBox)
上記のデータを新規で追加したいと考えており、下記のサイトを参考にしましたが、「オブジェクト変数または With ブロック変数が設定されていません」とのエラーが発生し追加出来ません。
【VBA】
Private Sub CmdB_copy_Click()
'レコードをコピーして、不要データ削除
'最後のレコードへ移動
DoCmd.GoToRecord , , acLast
'インプットボックスへ消費税額入力
Dim Tax As Long
Tax = InputBox("消費税額を入力してください。")
'現在のレコードから、伝票No、日付、得意先CDを取得
'変数定義
Dim rcDate As Date
Dim rcDN_No As Long
Dim rcTK_CD As Long
'代入
rcDate = Me.納品日付
rcDN_No = Me.伝票NO
rcTK_CD = Me.得意先CD
Debug.Print rcDate
Debug.Print rcDN_No
Debug.Print rcTK_CD
Debug.Print Tax
'レコードセットの定義
Dim oRS As DAO.Recordset
With oRS
.AddNew ←デバッグ画面では、ここでエラー表示
.Fields("納品日付").Value = rcDate
.Fields("伝票No").Value = rcDN_No
.Fields("得意先CD").Value = rcTK_CD
.Fields("商品名").Value = "消費税"
.Fields("数量").Value = 1
.Fields("単価") = Tax
.Fields("税抜金額").Value = Tax
oRS.Update
End With
Me.Requery
MsgBox ("追加しました。")
End Sub
インティミディエイトウィンドを確認すると、納品日付、伝票No、得意先CD、消費税の値はちゃんと取得出来ているようですが、レコードセットの考え方、Withセクションの使い方、レコードの追加処理を全く理解できていないため、ご教授頂けたら幸いです。
もし、不足データがありましたら、お教え頂けたら出来る限りご提示いたします。

No.1ベストアンサー
- 回答日時:
AddNewする前の時点で、どのDBのどのテーブルに対して行うかをセットしていないためだと思います。
例えば、現在のDBの「T_追跡」テーブルをRSにセットする場合はこんな感じです。
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Set DB = CurrentDb
Set RS = DB.OpenRecordset("T_追跡")
参考URL:
http://www.geocities.jp/cbc_vbnet/DAO/database.h …
この一番下のサンプルが参考になります。
完璧に実装出来ました。
レコードセット内容が全く理解出来ていなかったので、参考URLを元に勉強します。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
- Visual Basic(VBA) VBA 税率を判定表する方法を教えて下さい。 10 2022/03/28 11:21
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のレコード(ここの例ではs...
-
auto_incrementを設定し直す。
-
相互データがあるの情報を取りたい
-
WHERE句の条件を区別する
-
Accessのフォームから削除した...
-
Access2000で同じテーブル内の...
-
お気に入りをテーブルに格納す...
-
データの二重表示の原因
-
3つ以上のテーブルをUNIONする...
-
エクセル テーブル機能の不明点
-
いちばん最後のレコードに値の...
-
Accessにインポートしたら並び...
-
Accessで重複したデータを一件...
-
非連結サブフォームのレコード...
-
ACCESSで複数テーブルを結合し...
-
データベースの問題
-
「マスタ」と「テーブル」の違...
-
書き込みの衝突
-
ACCESS2007 フォーム 「バリア...
-
オラクルではできるのにSQLSERV...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
3つ以上のテーブルをUNIONする...
-
Accessにインポートしたら並び...
-
データの二重表示の原因
-
Access 1レコードずつcsvで出力...
-
数百万件レコードのdelete
-
ACCESSのBookmarkプロパティの...
-
テーブルのレコード削除ができ...
-
ManagementStudioからのデータ削除
-
Access VBA Me.Requery レコー...
-
Access 削除クエリが重い
-
非連結サブフォームのレコード...
-
SQLデータ修正時に『このレコー...
-
レコードロックする方法
-
(ACCESS)並び替えをしないで...
-
Accessの固有レコード識別子の選択
-
SQLServerで同一条件レコードの...
-
Accessで重複したデータを一件...
-
Accessでの排他制御
-
Accessでレコードが更新された...
-
Access カレントレコードがあり...
おすすめ情報