只是尝试删除Access表的所有行:
Private Sub btnImport_Click(sender As Object, e As EventArgs) Handles btnImport.Click
'Clear old records from extract table
Dim sqlConnection As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\CLI_CRVM.accdb")
Dim cmd As New System.Data.OleDb.OleDbCommand()
Dim intRC As Integer
cmd.CommandType = System.Data.CommandType.Text
cmd.CommandText = "DELETE * FROM [extract] ;"
cmd.Connection = sqlConnection
sqlConnection.Open()
intRC = cmd.ExecuteNonQuery()
sqlConnection.Close()
MsgBox(intRC)
End Sub
我没有收到任何错误,但它也没有删除行。表中当前有10行,每次单击按钮时MsgBox显示10行,之后表中仍有10行。
我错过了什么?
答案 0 :(得分:3)
不用星号试试:
DELETE FROM [extract];
您通常不会在DELETE
中提供任何列。您之后只能通过WHERE
子句提供要与行匹配的列。
SQL的某些方言允许您指定在查询的该部分中删除的内容的阈值 - 但是,我并不相信Access'方言(我可能是错的)。