使用 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
我想删除访问的行 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