Access 2002

Свойство Recordset


Свойство Recordset в данном случае лучше не использовать, поскольку вам придется перемещаться по полученному набору записей, что отразится в форме.

2.   Сделать в полученном объекте Recordset текущей ту же запись, что и в форме, воспользовавшись свойством Bookmark.

3.   Перейти к предыдущей записи с помощью метода MovePrevious. Если после этого свойство B0F объекта Recordset получит значение Тrue, значит, пользователь находится на первой строке.

Если вам нужна функция, проверяющая, является ли текущая строка набора записей первой, вот каким может быть ее код:

Теперь вы знаете почти все необходимое для написания универсальной процедуры, проверяющей положение текущей записи и включающей и отключающей соответствующие кнопки. Нерешенным остался один-единственный вопрос: не в каждой форме допускается изменение данных. Если форма основана на необновляемом запросе или таблице, если свойству формы RecordsetType присвоено значение Snapshot или если вы присвоили свойству формы AllowAdditions значение No, пользователь не сможет добавить в форме новую строку. В любом из этих случаев кнопку New необходимо отключить.

Итак, вот что должна делать наша процедура.

1.   Проверить, допускается ли в форме и в ее наборе записей добавление строк,

и,   если нет, отключить кнопку New. Эта кнопка должна временно отключаться также тогда, когда вы находитесь на новой записи.

2.   Если вы находитесь на новой записи, нужно включить кнопки Previous и First (если в наборе записей есть хоть одна строка) и отключить кнопки Next и Last.

3.   Если вы перешли не к новой записи, нужно проверить, не находитесь ли вы на первой или последней записи набора. Если да, отключите кнопки Previous и First или Next и Last соответственно.

Полный код процедуры, выполняющей эти действия, приведен  7.15. Данная процедура вызывается в ответ на событие Current родительской формы.

    

Комментарии закрыты