Материал: Десять шагов в Microsoft_Access

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

форму, находящуюся в режиме конструктора. Двойным щелчком откроем окно свойств элемента управления «название» в области данных. Появится окно свойств, озаглавленное «Поле: название». Если Вы по ошибке щелкнете по надписи «название» в заголовке формы, то откроется окно «Надпись: название Надпись». Выберем заставку «События» и щелкнем левой клавишей на строке, соответствующей событию «Двойное нажатие кнопки». Мы хотим двойному щелчку по названию поставщика поставить в соответствие процедуру, открывающую форму с подробной информацией о данном поставщике. Щелкнем по троеточию, как мы поступили выше, когда открывали окно модуля формы. Поскольку событию еще не поставлен в соответствие метод его обработки, откроется диалоговое окно «Построитель» (рис. 39). В этом окне мы выберем строку «Программы» и нажмем «ОК». Откроется окно модуля. В этом окне мы увидим процедуру с пустым телом:

Private Sub название_DblClick(Cancel As Integer) End Sub

Обратите внимание, что имя процедуры – название_DblClick опять состоит из двух частей: имени элемента управления («название») и события (DblClick, то есть двойной щелчок). Между заголовком и End Sub мы должны внести код процедуры, обрабатывающей данное событие. Почему мы выбрали двойное нажатие, а не одинарное? Если в качестве события выбрать одинарное нажатие, форма «поставщики_столбец» будет открываться при каждой попытке установить указатель курсора в поле «название» ленточной формы. Теперь дело только за кодом процедуры. Но этот код за нас один раз уже написала система и он находится в теле процедуры вход_Click().

Рис. 39. Диалоговое окно «Построитель»

36

Было бы неразумно писать этот код еще раз. Мы просто вставим в тело процедуры название_DblClick вызов процедуры вход_Click(), то есть оператор «Call вход_Click()». Новая процедура примет вид:

Private Sub название_DblClick(Cancel As Integer) Call вход_Click

End Sub

Закроем последовательно окно модуля формы, окно свойств и окно конструктора формы.

4. Шаг четвертый, или первый самостоятельный

Теперь Вы должны самостоятельно разработать аналогичные объекты для просмотра, ввода и редактирования данных о потребителях продукции, а также по номенклатуре товаров. Возможно, повторение – не самое интересное занятие, но, во-первых, это неизбежный шаг в процессе разработки приложения, во-вторых, Вам предоставляется возможность убедиться, насколько хорошо Вы усвоили весь пройденный материал, и, в-третьих, приобретенные навыки нуждаются в закреплении.

4.1. Таблица «потребители». Прежде всего, войдем в раздел «Таблицы» и создадим в режиме конструктора новую таблицу, которой присвоим имя «потребители». Структура таблицы представлена на рис. 40.

Рис. 40. Создание таблицы «потребители» в режиме конструктора

Обратите внимание!

Поле «потребитель» содержит код потребителя. Этому полю следует присвоить тип «Счетчик» и сделать его ключевым.

37

Целесообразно поле «название» сделать обязательным, а остальные поля оставить как необязательные.

Рис. 41. Таблица «потребители»

Итак, склад обслуживает сеть торговых точек. Заполним форму, как подскажет фантазия (рис. 41). При вводе названий потребителей будем придерживаться того же принципа, что и при вводе названий поставщиков: первые буквы в названии должны нести максимум информации! Поэтому слова магазин, ларек, универмаг и так далее мы пишем в конце названия. По этой же причине мы не ставим названия в кавычки.

4.2.Запрос «потребители_Запрос». Перейдем в раздел «Запросы» окна базы данных и, нажав «Создать», в режиме диалога создадим запрос, которому дадим имя «потребители_Запрос». В режиме конструктора (рис. 42) упорядочим данные по возрастанию (в алфавитном порядке) названий потребителей.

4.3.Формы для потребителей. Теперь создадим еще одну ленточную форму и форму «в столбец» так же, как мы это делали раньше (Шаг второй). Источником данных для первой будет запрос «потребители_Запрос», а для второй – таблица «потребители». Когда мы создавали эти формы для поставщиков, мы неоднократно открывали каждую из них в режиме конструктора. Мы оценивали эти формы в работе, находили недостатки, а потом старались усовершенствовать объекты. Для первых шагов такой подход оправдан, так как если бы мы сразу выполнили задачу наилучшим образом, мы не смогли бы понять смысл всех проделанных манипуляций. Теперь Вы можете справиться с заданием

38

гораздо быстрей, открыв каждую форму в режиме конструктора только раз и внеся в нее сразу все необходимые корректировки (на самом деле нормальный человек иногда делает ошибки, для исправления которых придется возвращаться в режим конструктора).

Рис. 42. Запрос в режиме конструктора

Надо заметить, что система работы с данными о поставщиках была организована не наилучшим образом. При желании Вы что-то можете сделать лучше. Но все же, пока, постараемся создать для потребителей такие же формы, какие мы создали для поставщиков. И, наконец, между формами следует установить связь (вспомним Шаг третий). Таким образом, в разделе форм в окне базы данных будут представлены четыре формы (рис. 43).

Рис. 43. Раздел формы окна базы данных

39

4.4. Данные о товарах. Теперь Вам придется самостоятельно создать в режиме конструктора еще одну таблицу, которой мы дадим имя «товары».

Рис. 44. Структура таблицы «товары»

Рис. 45. Форма «товары»

Полная информация о каждом товаре потребовала бы значительное количество полей: производитель, срок годности, информация о качестве

40