- ベストアンサー
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をされた方、何か知っている方 ご教授ください。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
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 困ったら、いつもここ見てます。 それに、ソースをそのまま、みると、コネクションが 確立していないのでは? そんなとこが気になります。 (指摘が間違っていたらごめんなさい) 参考になれば嬉しいです。
その他の回答 (2)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 SQLステートメントの実行は、DoCmdオブジェクトを使用しましょう。 (ADOオブジェクトを使用する必要はありません。) Private strSQL as String strSQL = "Update AAATable Set BBB = 1 ・・・・ DoCmd.RunSQL strSQL
- PAPA0427
- ベストアンサー率22% (559/2488)
--------------------ソース-------------------- 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 ---------------------------------------------- では?トランザクションの開始位置がおかしいです。