前提・実現したいこと
VB.netのデータをACCESSで更新したいです。
エラーメッセージ
System.Data.OleDb.OleDbException: 'UPDATE ステートメントの構文エラーです。
この例外は、最初にこの呼び出し履歴 System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(System.Data.OleDb.OleDbHResult) System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(System.Data.OleDb.tagDBPARAMS, out object) System.Data.OleDb.OleDbCommand.ExecuteCommandText(out object) System.Data.OleDb.OleDbCommand.ExecuteCommand(System.Data.CommandBehavior, out object) System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(System.Data.CommandBehavior, string) System.Data.OleDb.OleDbCommand.ExecuteNonQuery() WindowsApp6.Form1.Button5_Click(Object, System.EventArgs) 場所: Form1.vb System.Windows.Forms.Control.OnClick(System.EventArgs) System.Windows.Forms.Button.OnClick(System.EventArgs) System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs) ... [呼び出し履歴が切り捨てられました] でスローされました
該当のソースコード
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click 'Access接続準備 Dim command As OleDbCommand Dim cnAccess As OleDbConnection = New OleDbConnection() 'SQL、更新 Dim cm As New OleDb.OleDbCommand("UPDATE table2 (Set [出勤時間(時)] = :11 where 日付 = :1", cnAccess) '作成した接続文字列を設定 cnAccess.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Database2.mdb" 'Access接続開始 cnAccess.Open() 'SQL文の実行 cm.ExecuteNonQuery() '終了 command.Dispose() cnAccess.Close() End Sub
UPDATEの基本構文は、問題なく記述出来ていると思われます。
UPDATE 表名
SET 列名 = 値
WHERE 更新する行を特定する条件
使っているツールのバージョンなど補足情報
ACCESSのバージョン2016
Windows10の64ビット
WindowsForms
Visual Studio2019
NET Framework 4.8
AccessDatabaseEngine.exeインストール済です。
ご教示よろしくお願い致します。


回答1件
あなたの回答
tips
プレビュー