Access 2002

Код, снабженный комментариями


В примере имеется код, снабженный комментариями, который в случае необходимости можно использовать для эмуляции такого поведения. Вам понадобится указать элемент управления в родительской форме, а затем воспользоваться методом DoCmd.RunCommand для выбора новой записи. Поскольку для данного кода требуется выбрать конкретный элемент управления, а для этого нужно знать конкретную родительскую форму, мы не рекомендуем использовать форму fsubNavigadon таким образом.

На первый взгляд для перемещения по набору записей этого кода вполне достаточно. Однако две проблемы остались нерешенными. Во-первых, приведенный код не отключает ненужные кнопки, а во-вторых, при попытке перейти за начало или конец набора записей в нем происходит ошибка 3021 («Текущая запись отсутствует»).

Отключение кнопок

Чтобы своевременно включать и отключать навигационные кнопки, нужно после каждого перехода определять положение текущей строки в наборе записей. Как только пользователь оказался на первой строке, следует немедленно отключить кнопки Previous и First. Перейдя на последнюю строку, нужно отключить кнопки Next и Last. А когда пользователь редактирует новую строку, ему не нужны кнопки New, Next и Last.

Для определения текущего положения формы в наборе записей используются свойства ее объекта Recordset: NewRecord, EOF и B0F. Например, чтобы узнать, находитесь ли вы на первой записи формы, надлежит выполнить следующие действия.

1.   Получите ссылку на набор записей формы с помощью ее метода RecordsetClone.

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