дите «4.2.5», а на экране отображается «4 февраля 2005 г.». Товар или производителя теперь Вы можете вводить, раскрыв соответствующее меню. Кроме того, часто имеет смысл сначала набрать первые буквы названия. Тогда система попытается угадать все слово.
Рис. 53. Ввод значения поля из меню
Пока мы заполнили только две записи, но уже почувствовали неудобства, связанные с тем, что тексты в столбце подстановки расположены в произвольном (неалфавитном порядке). Не поленимся еще раз войти в режим конструктора. Выделим поле «товар» и в свойствах поля внизу окна конструктора перейдем на заставку «Подстановка» (рис. 54).
Рис. 54. Источник данных для подстановки
Установим указатель в поле с надписью «Источник строк» и нажмем троеточие в конце поля. На экране появится уже знакомое нам окно построителя запросов (рис. 55).
46
Рис. 55. Источник данных для подстановки в окне запроса
В этом окне в строке «Сортировка» для поля «название» установим значение «по возрастанию». Закроем окно запроса и подтвердим сохранение изменений. Теперь, не выходя из режима конструктора, те же действия проделаем с полем «поставщик». Покинем конструктор, сохранив изменения, и откроем таблицу в рабочем режиме. Теперь ввод товаров и поставщиков значительно упростился. Например, если Вы ищете в меню колбасу данного вида, то Вам достаточно набрать в поле «товар» текст «ко» и развернуть меню. Перед Вами предстанут все колбасы, какие фигурировали когда-либо на складе. Вот почему автор упорно настаивал на том, чтобы первые буквы текста в таблицах-справочниках несли максимум информации об объекте. Например, не рекомендуется заключать названия предприятий в кавычки или начинать их с «АО», «ООО» и прочих повторяющихся последовательностей символов.
Следующие задания читателю предлагается выполнить самостоятельно.
5.2. Создание запроса «приход Запрос». Указанный объект следует создать, как простой запрос, а затем в режиме конструктора упорядочить даты поступления товаров по возрастанию. При построении запроса используем все поля источника!
47
5.3. Создание формы «приход». В разделе «Формы» окна базы данных нажмем кнопку «Создать», в диалоге выберем ленточную форму, в качестве источника данных возьмем «приход Запрос» и выберем для формы все поля источника! Сохраним форму, дав ей имя «приход». То, что имя формы совпадает с именем таблицы, не должно нас беспокоить. Мы могли, конечно, пойти по проторенной дорожке, создав форму «в столбец», а затем связав ее с ленточной формой, но хотя бы для разнообразия поступим иначе. Откроем форму в рабочем режиме и посмотрим, что нам в ней не нравится. Для некоторых полей система выделила слишком много места, а для других места явно не хватает. Поле «номер» (вместе с подписью к нему) можно без ущерба для содержания удалить из формы. Полезно разместить в примечании формы кнопку выхода. Перечисленные манипуляции не должны вызывать у нас какихлибо затруднений, мы их не раз проделывали. Но иногда также при построении формы в автоматическом режиме игнорируются созданные нами подстановки и форма выглядит, как на рис. 56. Как видно на рисунке, вместо названий товаров и поставщиков представлены только их коды. Чтобы устранить подобный дефект, нужно развернуть «Список полей» (рис. 57) с панели инструментов «Конструктора форм».
Рис. 56. Форма с полями без подстановок
Удаляем в форме поля «товар» и «поставщик» и переносим эти поля из «Списка полей» в форму. Для такого переноса поля надо в «Списке
48
полей» щелкнуть левой клавишей мыши по имени соответствующего поля и, не отрывая руки от клавиши, перенести это поле на место удаленного. При этом вместе с полем перенесется в область данных формы и относящаяся к полю надпись, что совершенно некстати. Для удаления лишнего экземпляра надписи щелкните клавишей за пределами поля, а затем по надписи и нажмите клавишу «Delete».
Рис. 57. Список полей
Аккуратно расположите поля в одной строке области данных, чтобы каждое поле располагалось под своей надписью. Корректировки могут нарушить последовательность перехода между полями в форме. В таком случае Вы можете установить правильную последовательность перехода, воспользовавшись пунктом меню «Вид Последовательность перехода» (рис. 59). Закроем «Конструктор».
Рис. 58. Заголовки полей и область данных после корректировки
Теперь – самое скучное! Вам предстоит, пользуясь формой или непосредственно в таблице, занести как можно больше информации о поставках. Стоит выделить на это не менее пятнадцати минут.
49
Рис. 59. Последовательность перехода при вводе данных
Рис. 60. Поля таблицы «расход»
5.4. Таблица «расход». Теперь Вам предлагается продемонстрировать, насколько хорошо Вы освоили материал пунктов 5.1-5.3. Таблица «расход» будет содержать данные о расходе товаров. Ее поля представлены на рис. 60. Поля «номер», «дата», «товар» и «количество» имеют тот же смысл, что и в таблице «приход», только теперь речь идет об отпуске партий товара со склада. Поле «цена» мы не задействовали, считая, что склад обслуживает торговые точки нашей фирмы, а значит, товары отпускаются со склада по закупочной цене.
Поле «потребитель» использует подстановку, а источником столбцов для подстановки служит таблица «потребители».
50