Sql 如果一个字段为空/空白,尝试使用VBA删除整行

Sql 如果一个字段为空/空白,尝试使用VBA删除整行,sql,excel,ms-access,vba,Sql,Excel,Ms Access,Vba,因此,我正在进行一个项目,将excel文件导入Access,但当我导入时(excel中的表与Access中的表标题相同),我往往会得到一堆额外的行,因为在我的excel文件中,大多数单元格后面都有函数,这就是为什么即使它看起来是空的,Access传输行,即使实际上没有输入任何内容 所以我的问题是,有没有一种方法可以通过在Access中使用VBA,在导入excel文件后,它可以自动遍历特定表中的所有行,并根据特定条件删除整行。就像一行中有一个空字段一样,它将删除整行。这将节省我很多时间,而不是手动

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

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

我确实有使用VBA的知识,但我不确定如何去做,我试图使用DELETE SQL语句,但由于我需要它在VBA中,所以无法找到正确的方法

  • 创建一个SQL查询,以提取要删除的行
  • 一旦查询按您的喜好完成,请进入SQL视图进行查询 查询,并删除FROM子句之前的所有内容
  • 相反,请在此处键入DELETE。保存查询。所以它应该看起来像“从废话中删除废话,废话,废话”
  • 现在您有了一个查询,它将删除您希望它删除的行。现在,要让它通过VBA运行(请注意,您只需在“查询”窗格中双击它,就可以手动运行它),只需将下面一行放在您希望它运行的位置

    docmd.OpenQuery "yourDeleteQueryName"
    

    注意,您的DeleTeqReName应该用您的删除查询名替换。

    为什么要注意您的一个女性?您想在导入之前或之后删除空行吗?在我导入之后,因为我不是唯一一个导入到Access中的人,我希望它在进入Access后自动执行。然后,您应该能够使用您选择的条件在Access中创建删除查询,然后通过VBA模块调用。问题是我不确定如何在Access中创建删除查询。我不知道从什么格式开始。DELETE查询是否只是一个常规SQL语句?或者我必须更改它,因为我必须使用VBA?我将在何处放置/创建删除查询?快速问:在Access中在何处创建SQL查询?我知道我想要的条件类型,只是不知道在哪里创建它…使用查询向导?还是查询设计?两者都可以。看起来您以前从未创建过删除查询,所以我的建议是在尝试任何一种方法之前创建db的副本。还有,也许谷歌可以创建一个。好的,谢谢,我会试试。我以前从未在Access中使用过Delete查询,但我知道如何生成SQL语句,只是需要帮助。谢谢