删除所有空行 - 访问VBA

时间:2016-04-21 22:50:34

标签: vba ms-access access-vba

基本问题。

我需要删除数据库中表的所有空/空行。麻烦的是没有办法知道有多少字段,或删除前字段的名称。我需要在删除之前验证每个字段是否为空/空白。不确定如何在Access VBA中查询此问题。

在我发现的所有示例中,他们都有一个可以测试空白的字段名称。

提前致谢。

1 个答案:

答案 0 :(得分:1)

将TestTabke更改为您的表名。如果您有自动编号字段,则必须跳过该字段。我正在使用DAO。如果您想要ADO,请转换以下代码。

Function DeleteEmptyRows()
    Dim db As DAO.database
    Set db = CurrentDb
    Dim rs As DAO.recordSet
    Set rs = db.OpenRecordset("TestTable")
    Do Until rs.EOF
        For inx = 0 To rs.Fields.Count - 1
            If IsNull(rs.Fields(inx).Value) Or Len(Trim(rs.Fields(inx).Value)) = 0 Then
                Else: Exit For
            End If
        Next
        If rs.Fields.Count = inx Then
            rs.Delete
        End If
        rs.MoveNext
    Loop

End Function