accessのVBAで質問です。


今、テーブル(テーブルAとする)があります。レコードは1つだけあります。
ここには項目毎に会社毎の最後に発行した伝票番号を入れるようにしています。

やりたことはフォーム上の「フォームの項目1」の値をテーブルAの「テーブルの項目1」に書き換えを
更新クエリを作って、そこからクエリの実行という形ではなく
VBAの書式の中だけで実現したいです。
どのように書けばよろしいでしょうか?


言い換えると

UPDATE テーブルA SET テーブルA.テーブルの項目1 = [Forms]![フォーム名]![フォームの項目1];

をクエリの作成を行わずVBAだけで実行させる方法が知りたい。ということです。
上記を書くとVBA上では赤く表示され、コンパイルエラーとなってしまいます。
よろしくお願い致します。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/06/18 00:35:38
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:watercooler No.1

回答回数289ベストアンサー獲得回数51

ポイント100pt

前回に引き続きDAOでいいのかしら?
レコードは1つだけあるという前提よ。レコードが1つも無ければエラーになるわ。
フォームが閉じていてもエラーになるから気を付けてね。

Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = CurrentDb
Set rs = db.OpenRecordset("テーブルA")

rs.MoveFirst
rs.Edit
rs.テーブルの項目1= [Forms]![フォーム名]![フォームの項目1]
rs.Update

rs.Close
Set rs = Nothing
Set db = Nothing
id:syo777

その方法がありましたね!
完璧なご回答ありがとうございました^^v

2014/06/18 00:35:21

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません