Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Васильев А. -> "VBA в Office 2000 учебный курс" -> 105

VBA в Office 2000 учебный курс - Васильев А.

Васильев А., Андреев А. VBA в Office 2000 учебный курс — Спб.: Питер, 2001. — 432 c.
ISBN 5-8046-0193-8
Скачать (прямая ссылка): vbauchebniykurs2001.djvu
Предыдущая << 1 .. 99 100 101 102 103 104 < 105 > 106 107 108 109 110 111 .. 154 >> Следующая

(BoundColumn) приведенного но рис. 10.6
Количество столбцов 3
(ColumnCount)
Ширина столбцов 0 см; 0 см. В данном случае задается ширина первого, второго
(ColumnWidth) столбцов, ширине третьего столбца не задается, так как она
будет ровна ширине списка
Ширина списка (ListWidth) Авто (Auto)
Обратите внимание, что в данном запросе отбираются только записи, содержащие информацию о товарах категории, которая выбрана в поле со списком Выбор категории товара. Чтобы обеспечить это в качестве условия отбора по полю Категория, задаем следующее выражение: = [Forms]![Товары]! [Выбор категории товара].
Теперь необходимо создать процедуры обработки события После обновления (AfterUpdate) поля со списком Выбор товара. Основное предназначение данной процедуры применить фильтр, чтобы в области данных выводилась только информация о выбранном товаре.
Private Sub Bbi6op_roBapa_AfterUpdateQ
DoCmd.ApplyFilter / "[Код товара]
Forms'Товары![Выбор товара]"
Me![Код товара].Enabled = False Me!Категория.Enabled = True Ме!Категория.SetFocus Me '.Наименование. Enabled = True Me!Цена.Enabled = True
End Sub
В данной процедуре фильтр применяется с помощью метода ApplyFilter объекта DoCmd. Другие инструкции делают доступными соответствующие элементы управления.
Также мы должны создать две процедуры обработки событий формы: для события Включение (Activate) и для события После обновления (AfterUpdate). Первая из них определяет режим изменения данных для формы после ее открытия, а вторая выполняет повторный запрос к источнику данных поля со списком Выбор товара каждый раз, когда добавляется новая запись в форме.
Процедура обработки события После обновления (AfterUpdate) формы Товары выглядит следующим образом: .
Private Sub FormAfterllpdateO Me![Выбор товара].Requery End Sub
282
Урок 10. Создание приложений для MS Access
В данной процедуре используется только метод Requery для обновления запроса к источнику данных элемента управления Выбор товара активной формы.
Ниже приведена процедура обработки события Включение (Activate):
Private Sub Form ActivateO
'Задаем режим изменения данных.
Me.AllowEdits = True Me.AllowAdditions = False
'Включаем поле со списком Выбор категории товара и ' переходим на него.
Ме![Выбор категории товара].Enabled = True Me![Выбор категории товара].SetFocus Me![Выбор товара].Enabled = False ' Отключаем элементы управления в области данных.
Me![Код товара].Enabled = False Me! [Категория]. Enabled = False Me![Наименование].Enabled = False Me! [Цена].Enabled = False
End Sub
Теперь нужно преобразовать элемент управления поле Категория, находящийся в области данных, в соответствующее поле со списком. Такое преобразование позволит при изменении или добавлении данных о товарах выбрать категорию товара из списка или даже добавить новую категорию.
Теперь добавим группу из двух переключателей, которые позволят переключаться из. режима изменения информации о товарах в режим добавления информации о новых товарах. В группе должны содержаться всего два переключателя: Изменение и Добавление. Значения свойства Значение параметра (OptionValue) для переключателя Изменение установим равным 2, а для переключателя Добавление равным 1. Для группы необходимо задать значение свойства Значение по умолчанию (DefaultValue) равное 2.
При выборе одного из этих переключателей будет включаться тот или иной режим работы с формой. Для этого создадим процедуру обработки события После обновления (AfterUpdate). Данная процедура будет иметь следующий вид:
Private Sub PewMM_Afterllpdate()
' Если выбран переключатель Изменение, то
If Forms!Товары'Режим.Value = 2 Then *
' Задает для свойства AllowEdits значение True, чтобы ' перейти в режим изменения. frm.AllowEdits = True
' Включаем поле со списком «Выбор категории товара» и ' переходим на него.
Me![Выбор категории товара].Enabled = True Me![Выбор категории товара].SetFocus Me![Выбор товара].Enabled = False ' Отключаем элементы управления в области данных.
Me![Категория].Enabled = False Me![Наименование].Enabled = False Me'.[Цена]. Enabled = False
Работа с отчетами
283
1 Если выбран переключатель Добавление, то Else
Me.AllowEdits = False Me.AllowAdditions = True
1 Включаем элементы управления в области данных, кроме - ' поля "Код товара".
Me![Код товара].Enabled = False Me![Категория].Enabled = True ' Me![Наименование].Enabled = True Me![Цена].Enabled = True
1 Переходим на новую запись и переводим фокус на поле ’ "Категория".
DoCmd.GoToRecord . . acNewRec Me![Категория].SetFocus
' Отключаем поля со спискани в заголовке формы.
Me'.[Выбор категории товара]. Enabled = False Me![Выбор товара].Enabled = False ’
End If End Sub
Итак, мы создали форму, которая позволяет работать в режиме изменения данных и в режиме ввода новых данных.
Работа с отчетами
Для работы с отчетами MS Access предоставляет ряд объектов, структура которых изображена на рис. 10.7.
Рис. 10.7. Иерархия объектов, встроенных в объект Report
Коллекция Reports содержит все отрытые отчеты базы данных, каждый из которых представляется объектом Report.
Предыдущая << 1 .. 99 100 101 102 103 104 < 105 > 106 107 108 109 110 111 .. 154 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100