使用 ADODB 命令真正删除 MS Access 数据库的条目

Really deleting entries of MS Access database with ADODB command

我想删除访问的行 table。因此,我将 VBA 与 ADODB 命令对象一起使用。

问题是查询并没有真正删除行,而是将除 ID 之外的所有值 设置为 0 / ""

我做错了什么或者我需要做什么才能真正删除条目?

提前致谢!

代码:

Dim db1 As ADODB.Connection
Dim db_data As ADODB.Recordset
Dim cmd As ADODB.Command

...'Code to build up Connection'

Set cmd = New ADODB.Command

cmd.ActiveConnection = db1
cmd.CommandText = "DELETE FROM TableXY WHERE FieldXY = ValueXY"
Set db_data = cmd.Execute

尝试明确删除所有:

cmd.CommandText = "DELETE * FROM TableXY WHERE FieldXY = ValueXY"

您也可以跳过将其分配给记录集:cmd.Execute 而不是 Set db_data = cmd.Execute

请注意,我无法复制您的问题。

ValueXY 必须有一个值:

ValueXY = SomeValue
cmd.CommandText = "DELETE FROM TableXY WHERE FieldXY = " & ValueXY & ""

或者,如果文本:

cmd.CommandText = "DELETE FROM TableXY WHERE FieldXY = '" & ValueXY & "'"

您无需使用命令即可简单地执行此操作:

Dim db1 As New ADODB.Connection
db1.ConnectionString = "your connection string here"
db1.Open
db1.Execute "DELETE FROM TableXY WHERE FieldXY = ValueXY"
db1.Close