5 строк кода

Как писать приложения на MS Access

Метод MoveFirst

Комментариев нет

Я очень часто замечаю, что многие программисты (как опытные так и новички ) при работе c Recordset библиотеки DAO или ADO, перед началом работы с данными вызывают метод MoveFirst. Это похоже на параною.

Тогда код выглядит примерно, так:

    Dim rst As DAO.Recordset
    
    Set rst = CurrentDb.OpenRecordset("tbl1", dbOpenDynaset)

    If Not rst.BOF Then
        rst.MoveFirst
    End If
    
    Do While Not rst.EOF
        '-- ...
        rst.MoveNext
    Loop
    
    rst.Close

Смысл этого действа мне не понятен. В документации четко написано:

When you open a Recordset, the first record is current and the BOF property is False. If the Recordset contains no records, the BOF property is True, and there is no current record.

Что вкратце означает, если Recordset содержит данные, то текущей записью будет первая запись. Смело избавляйтесь от бесмысленного ифа.

До встречи!

(с) Скоков Сергей

Подписаться на: RSS или e-mail рассылку или добавить в ЖЖ друзья.

Written by Сергей Скоков

Апрель 26th, 2010 at 10:57 пп

Leave a Reply