Access 2002

Обновление изображения формы


Этот код вызывает обновление изображения формы. Если вас это не устраивает, возможны следующие альтернативы.

В процедуре обработки события формы Open перейдите к последней строке набора записей (rst.MoveLast), а затем вернитесь к первой строке (rst.MoveFirst), вследствие чего сразу станет известным общее число строк. Но если объем наборов записей велик, эта процедура может производиться медленно.

В процедуре обработки события Ti тег употребляйте статическую переменную для хранения значения свойства RecordCount, полученного во время последнего выполнения процедуры. Если текущее значение равно предыдущему, то это означает, что оно установлено и вы можете вместо значения txtTotalRecs свойства Visible текстового поля txtTotalRecs задать значение True. После этого нужно отключить таймер, присвоив свойству Timerlnterval значение 0.

Какой бы путь решения данной проблемы вы ни избрали, вам еще потребуется обновлять текстовое поле txtTotalRecs в обработчике события Current, чтобы в нем всегда указывалось правильное число строк.

Если вы используете встроенные навигационные кнопки Access, общее количество строк при переходе к новой строке увеличивается на единицу. Например, если в таблице 8 записей и вы находитесь в новой строке, Access выводит: «Запись: 9 из 9». Чобы сделать так же в нашем индикаторе, мы проверяем, находится ли пользователь в новой строке. Если да, прибавляем единицу к значению свойства RecordCount.

Access всегда в курсе того, изменены ли данные текущей формы. Если свойству формы RecordSelectors присвоено значение True, то как только пользователь начнет редактировать текущую запись, селектор записи приобретет вид маленького карандаша, указывающего на то, что данные являются «черновыми». Access сообщает об этом приложению, присваивая свойству формы Dirty значение True, и инициирует событие Di rty.

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

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