
ExcelVBAよりAccessデータの追記は、AddNewを使用してできたのですが、単純な更新ができません。
strWhere = "Select * From 集計テーブル Where [フィールド1]='001'"
Set dbWS = DBEngine.Workspaces(0)
Set dbWB = dbWS.OpenDatabase("C:\対象MDB.mdb) 'データベースを呼び出す
Set dbRes = dbWB.OpenRecordset(strWhere, dbOpenDynaset)
上記はそもそも更新ステートメントがありません。どのように書けばよいのでしょうか?どうかアドバイスお願いします。
No.2ベストアンサー
- 回答日時:
>Editメソッドとは、何でしょうか?
Editメソッドはレコードを編集可能な状態にするメソッドです。
>単に「dbRes.Edit」を書けばよいのでしょうか?
'以降は説明として見てください。と言う事で
dbRes.Edit
で良いです。
>更新させる処理とは、SQL文を書くのでしょうか
ここはフィールドをセットします。
補足から参照すればフィールド2='aaa'であれば
dbRes.Edit
dbRes!フィールド2 = "aaa"
dbRes.Update
となります。
strWhereでセットしたSQLで複数のレコードが抽出される場合はEOFプロパティを使って先頭レコードから最後のレコードを対象としてLoopさせます。
Do Until rs.EOF
dbRes.Edit
dbRes!フィールド2 = "aaa"
dbRes.Update
dbRes.MoveNext
Loop
No.3
- 回答日時:
DAO Edit UpdateでWEB照会してみてください。
沢山例も出てきます。(16万?)
http://msdn.microsoft.com/library/ja/default.asp …
「DAO では Edit メソッドを使って Recordset オブジェクトを編集可能に する必要があったのに対し、ADO では編集モードを明示的に指定する必要がないことです。」
No.1
- 回答日時:
最近はADOを使ってるのでDAOは書かなくなりましたが・・
下記ではどうでしょうか。
Dim dbWS As DAO.Workspace
Dim dbWB As DAO.Database
Dim dbRes As DAO.Recordset
Dim strWhere As String
strWhere = "Select * From 集計テーブル Where [フィールド1]='001'"
Set dbWB = dbWB.OpenDatabase("C:\対象MDB.mdb)
Set dbRes = dbWB.OpenRecordset(strWhere, dbOpenDynaset)
dbRes.Edit 'Editメソッドを記述し編集可能な状態に設定
'更新させる処理
dbRes.Update 'Updateメソッドを記述して編集内容を更新
dbRes.Close: Set dbRes = Nothing '後処理
dbWB.Close: Set dbWB = Nothing
記述間違ってたらゴメンなさい。
この回答への補足
早速の回答ありがとうございます。
Editメソッドとは、何でしょうか?
単に「dbRes.Edit」を書けばよいのでしょうか?
また、更新させる処理とは、SQL文を書くのでしょうか?
具体的には、「UPDATE 集計テーブル SET フィールド2='aaa'」など?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
コマンドプロンプト実行後に画...
-
DataGridViewでセルクリックイ...
-
mainメソッドのthrows節で設定...
-
DBを扱う上でのclose()メソッド...
-
VBPをダブルクリックするとたま...
-
VBA コピーが出来ません…!
-
javascriptからjavaを呼び出したい
-
【sendkeysメソッドが動かずに...
-
エクセルVBAにおけるON TIMEメ...
-
C# 演算 最大値 最小値 表現の仕方
-
VBA FindメソッドとMatch関数の...
-
メソッドをstaticにする、しな...
-
VBA/FIND関数を使っての先頭文...
-
Range クラスのAutoFitプロパテ...
-
javadocでメンバを示す書き方
-
アクセスVBA 時間を止める
-
PropertyGridの中央の縦線
-
PDFファイルから別ウィンドウで...
-
final修飾子を使っているのに、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
JSPで<SELECT>の中にDBから持っ...
-
javascriptからjavaを呼び出したい
-
DataGridViewでセルクリックイ...
-
配列のメソッド
-
final修飾子を使っているのに、...
-
VBPをダブルクリックするとたま...
-
boolean型のフィールドとゲッタ...
-
エクセルVBAにおけるON TIMEメ...
-
0歳児の指しゃぶりに関して
-
mainメソッドのthrows節で設定...
-
VBA コピーが出来ません…!
-
CALLされていないメソッドを見...
-
PDFファイルから別ウィンドウで...
-
eclipse-Tomcatでのデバッグに...
-
【sendkeysメソッドが動かずに...
-
コマンドプロンプト実行後に画...
-
Labelコントロールに数字を代入...
-
ウィンドウを最前面にできません
-
エラーの意味を
おすすめ情報