Access 2002

Набор записей


Если набор записей очень велик, лучше присвоить этой константе значение False. Для выполнения процедуры подсчета записей потребуется некоторое время, хотя большинство пользователей предпочитают сразу же видеть эту информацию на экране.

Связав подчиненную форму с родительской через переменную frmMain, можно перехватывать события родительской формы и обрабатывать их в модуле подчиненной. В нашем примере подчиненная форма обрабатывает события Current и Di rty.

Управление переходом от строки к строке

Наш навигационный код должен обеспечивать:

О переход от строки к строке;

О отключение отдельных кнопок, когда они должны быть недоступны.

Первая задача проста. С каждой кнопкой связывается процедура обработки события Click, вызывающая общую для всех кнопок личную процедуру NavMove (листинг 7.14), которая и выполняет нужное действие. Например, кнопка First вызывает следующий код.

Константа acFirst, как и константы acPrevious, acNewRec, acNext и acLast, которые мы использовали в остальных аналогичных процедурах, являются встроенными константами Access и входят в перечислимый тип acRecord. Процедура NavMove служит для перемещения по строкам набора данных с помощью методов Move., а не метода GoToRecord, поскольку они не только непосредственно соответствуют нашим кнопкам, но и позволяют лучше обрабатывать возможные ошибки.

Приведенный код хорошо работает, если родительская форма (та, которая содержит навигационную подчиненную форму) является стандартной. Если вложить эту форму в другую в качестве подчиненной формы (то есть навигационная подчиненная форма будет содержаться не в главной, а в подчиненной форме), то при попытке перейти к новой записи метод NavMove не будет работать корректно. В этом случае в коде используется метод DoCmd.GotoRecord, для которого нужно указывать имя формы. Так как родительская форма открыта не как стандартная форма, ее имени нет в коллекции Forms, вследствие чего вызов метода не срабатывает.

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