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

解決済みの質問

ACCESSへの更新について

こんにちは。palbanです。

タイトルどおりVBからACCESSのテーブルにUPDATEをしても
(EXCUTEは通ります)テーブルには反映されません。

--------------------ソース--------------------
Private adoCnn As New ADODB.Connection
Private adoRec As New ADODB.Recordset
Private adoCmd As New ADODB.Command
Private strSQL as String

strSQL = "Update AAATable Set BBB = 1 ・・・・

adoCnn.Execute (strSQL)

adoCnn.BeginTrans
adoCnn.CommitTrans

----------------------------------------------

実際にACCESSにUPDATEをされた方、何か知っている方
ご教授ください。
宜しくお願いします。

投稿日時 - 2003-09-24 14:31:23

QNo.663045

すぐに回答ほしいです

質問者が選んだベストアンサー

VBというのは、Visual Basicでしょうか?
であれば、『VB で データベース』が、
参考になると思います。

ACCESSのみ対象(MSDEは今後絶対利用しない)ので
あれば、ADOでは無く、DAOという選択もあります。
一考してみてください。
※但し、時代はADOのようですが・・・というかADO.NET?

更新がうまく行かないのは、#1さんのおっしゃるとおり、トランザクションの開始位置がおかしいのでは?

ここが、参考になります。
『SAK Streets』の『VB ADO + SQL 応用編 (その二) ADO 更新 - Execute、CommitTrans』
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_s12.htm
困ったら、いつもここ見てます。


それに、ソースをそのまま、みると、コネクションが
確立していないのでは?

そんなとこが気になります。
(指摘が間違っていたらごめんなさい)

参考になれば嬉しいです。

参考URL:http://homepage2.nifty.com/inform/vbdb/

投稿日時 - 2003-09-25 00:39:37

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

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

回答(3)

ANo.2

こんにちは。maruru01です。

SQLステートメントの実行は、DoCmdオブジェクトを使用しましょう。
(ADOオブジェクトを使用する必要はありません。)


Private strSQL as String

strSQL = "Update AAATable Set BBB = 1 ・・・・
DoCmd.RunSQL strSQL

投稿日時 - 2003-09-24 14:46:44

ANo.1

--------------------ソース--------------------
Private adoCnn As New ADODB.Connection
Private adoRec As New ADODB.Recordset
Private adoCmd As New ADODB.Command
Private strSQL as String

strSQL = "Update AAATable Set BBB = 1 ・・・・

adoCnn.BeginTrans

adoCnn.Execute (strSQL)

adoCnn.CommitTrans

----------------------------------------------
では?トランザクションの開始位置がおかしいです。

投稿日時 - 2003-09-24 14:40:04

あなたにオススメの質問