Archive for Апрель, 2010
Метод 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 рассылку или добавить в ЖЖ друзья.