0

所以我正在做一个项目,我将一个excel文件导入Access,但是当我导入时(excel中的表与Access中的表标题相同)我倾向于得到一堆额外的行,因为在我的excel文件中我在大多数单元格后面都有函数,这就是为什么即使它看起来是空的,即使没有实际输入任何内容,Access 也会传输行。

所以我的问题是,有没有一种方法可以在 Access 中自动使用 VBA,一旦导入了 excel 文件,它可以循环遍历特定表中的所有行并根据特定条件删除整行。就像在一行中有一个空字段一样,它将删除整行。这将为我节省大量时间,而不是手动在表格中搜索空白字段并自己删除行。

我确实有使用 VBA 的知识,但我不确定如何去做,我试图使用 DELETE SQL 语句,但由于我需要它在 VBA 中,所以无法弄清楚如何正确地做到这一点。

4

1 回答 1

1
  1. 创建一个 SQL 查询,以拉回您要删除的行。
  2. 根据您的喜好完成查询后,进入查询的 SQL 视图,并删除 FROM 子句之前的所有内容。
  3. 相反,在此处键入 DELETE。保存查询。所以它应该看起来像“DELETE FROM blah WHERE blah, blah, blah”

所以现在你有一个查询,它将删除你想要的行。现在,要让它通过 VBA 运行(请注意,您可以通过在“查询”窗格中双击它来手动运行它),只需将以下行放在您希望它运行的位置。

docmd.OpenQuery "yourDeleteQueryName"

请注意,应将 yourDeleteQueryName 替换为您的 Delete 查询名称。

于 2013-07-11T18:57:20.557 回答