2016-04-21 2 views
-1

Основной вопрос.Удалить все нулевые строки - Доступ к VBA

Мне нужно удалить все пустые/пустые строки таблицы в моей базе данных. Проблема в том, что нет способа узнать, сколько полей есть, или имена полей перед удалением. И мне нужно проверить, что каждое поле имеет значение null/blank перед удалением. Не уверен, как запросить это в Access VBA.

Во всех примерах, которые я нахожу, у них есть имя поля, которое они могут проверить на пробелы.

Заранее благодарен.

+0

Почему вы отметили excel, когда хотите получить доступ? – findwindow

+0

@findwindow Вы правы. Были изменены. –

ответ

1

Измените TestTabke на имя вашей таблицы. Если у вас есть поле AutoNumber, оно должно быть пропущено. Я использую 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