删除 Access 数据库的选定部分

Posted

技术标签:

【中文标题】删除 Access 数据库的选定部分【英文标题】:Deleting Selected Part of Access Database 【发布时间】:2013-07-03 14:17:39 【问题描述】:

我正在尝试选择要删除的 access 2010 数据库的某个部分。我的数据库中超过 7 天的任何内容。我必须编写代码来压缩数据库我只是不知道从哪里开始删除数据库的选定部分。这是我目前所拥有的:

'Compacting database

Dim DateA As Date = Date.Now
Dim DateB As String
'Subtracting the seven days from the current date.
DateB = Format(DateA.AddDays(-7.0), "MM/dd/yy")

【问题讨论】:

您能否更具体地了解“要删除的 Access 2010 数据库的一部分”?例如,您是在谈论所有表中超过 7 天的记录、特定表中超过 7 天的记录等? 数据库(所有表)中超过 7 天的所有记录。我希望能够找到它们并删除它们。然后我将压缩数据库(我已经有了数据库的代码)。 如果您有一个字段(即 CreationDate)来标识何时插入记录,那么您可以简单地执行 DELETE。 或者是否可以压缩任何小于 7 天的数据然后删除该数据库?什么方法会更有效率? @kingalligator 这是一个很好的起点:msdn.microsoft.com/en-us/library/office/… 【参考方案1】:

在 Access 会话中根据需要调整此查询:

DELETE FROM YourTable
WHERE ProdDate < DateAdd("d", -7, Date())

由于 db 引擎可以识别 Date()DateAdd() 函数,因此您可以从 OleDb 连接到 Access db 执行 DELETE 语句。

如果数据库包含多个必须精简的表,请将每个表名替换为 "YourTable" 并执行每个修改后的语句。

【讨论】:

以上是关于删除 Access 数据库的选定部分的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 过滤并显示选定时间段的数据

从列表框中删除项目(MS Access VBA)

如何仅使用选定的列从Access数据库填充我的DataGridView?

如何使用asp从access数据库中删除特定记录?

如何在 Access 的子窗体上不显示选定的记录?

Vba代码显示组合框中选定的数据