Десять шагов в microsoft_access (835787), страница 6
Текст из файла (страница 6)
47. Мастер подстановокЕсть параметры объектов, которые могут иметь только фиксированныйи неизменный набор свойств. Например, пол может принимать толькодва значения: «мужской» или «женский». В таком случае можно перевести переключатель в нижнее положение и заполнить список подставляемых значений.Рис. 48. Выбор способа формирования столбца подстановокСписок товаров, напротив, вещь очень непостоянная и его лучше хранить в таблице. Мы оставим переключатель в положении, представленном на рис. 48, и нажмем «Далее». Система предложит нам выбратьтаблицу или запрос, которые мы собираемся использовать для созданияподстановки.
Мы выберем «товары» (рис. 49) и нажмем «Далее».43Рис. 49. Выбор таблицыВ диалоговом окне (рис. 50) перебросим поля «товар» и «название» враздел «Выбранные поля» и нажмем «Далее». После этого система предоставит нам возможность посмотреть, как выглядит столбец подстановки (рис. 51). Ключевой столбец по умолчанию скрыт! Нажмем «Далее». В ответ на предложение: «Задайте подпись, которую содержитстолбец подстановки» введите имя поля «товар» и нажмите «Готово».Рис.
50. Выбор полей44Рис. 51. Столбец подстановкиТаким образом, Вы создали связь между таблицами «приход» и «товары». Система потребует сохранить таблицу. На вопрос «Выполнить этосейчас?» выбираем ответ «Да». Обратите внимание, что тип поля «товар» оказался числовым. Точно так же создайте поле «поставщик», используя для подстановки таблицу «поставщики». Только теперь в качестве «Выбранных полей» Вы берете не все поля таблицы, а только ключевое поле «поставщик» и поле «название». Полю «цена» присвоим тип«числовой». При этом по умолчанию в наборе свойств поля в строке«Размер поля» появится значение «Длинное целое». Это свойство такженуждается в конкретизации. Поэтому в строке «Формат поля» выберем«Фиксированный». Это значит, что в записи числа будет содержатьсядва знака после запятой.Рис.
52. Свойства поля «цена»Поле «количество» будет хранить объем поставки. По смыслу задачиполе должно быть числовым, а размер поля, вероятно, достаточно сделать целым. Теперь закроем конструктор, сохранив изменения макета.Откроем таблицу в рабочем режиме (рис.
53) и заполним несколько записей. При этом следует обратить внимание на то, что дата вводится вчисловом формате с точкой в качестве разделителя. Например, Вы вво-45дите «4.2.5», а на экране отображается «4 февраля 2005 г.». Товар илипроизводителя теперь Вы можете вводить, раскрыв соответствующееменю. Кроме того, часто имеет смысл сначала набрать первые буквы названия. Тогда система попытается угадать все слово.Рис. 53. Ввод значения поля из менюПока мы заполнили только две записи, но уже почувствовали неудобства, связанные с тем, что тексты в столбце подстановки расположены впроизвольном (неалфавитном порядке). Не поленимся еще раз войти врежим конструктора. Выделим поле «товар» и в свойствах поля внизуокна конструктора перейдем на заставку «Подстановка» (рис.
54).Рис. 54. Источник данных для подстановкиУстановим указатель в поле с надписью «Источник строк» и нажмемтроеточие в конце поля. На экране появится уже знакомое нам окно построителя запросов (рис. 55).46Рис. 55. Источник данных для подстановки в окне запросаВ этом окне в строке «Сортировка» для поля «название» установим значение «по возрастанию».
Закроем окно запроса и подтвердим сохранение изменений. Теперь, не выходя из режима конструктора, те же действия проделаем с полем «поставщик». Покинем конструктор, сохранивизменения, и откроем таблицу в рабочем режиме. Теперь ввод товарови поставщиков значительно упростился. Например, если Вы ищете вменю колбасу данного вида, то Вам достаточно набрать в поле «товар»текст «ко» и развернуть меню.
Перед Вами предстанут все колбасы, какие фигурировали когда-либо на складе. Вот почему автор упорно настаивал на том, чтобы первые буквы текста в таблицах-справочникахнесли максимум информации об объекте. Например, не рекомендуетсязаключать названия предприятий в кавычки или начинать их с «АО»,«ООО» и прочих повторяющихся последовательностей символов.Следующие задания читателю предлагается выполнить самостоятельно.5.2.
Создание запроса «приход Запрос». Указанный объект следуетсоздать, как простой запрос, а затем в режиме конструктора упорядочить даты поступления товаров по возрастанию. При построении запроса используем все поля источника!475.3. Создание формы «приход». В разделе «Формы» окна базы данныхнажмем кнопку «Создать», в диалоге выберем ленточную форму, в качестве источника данных возьмем «приход Запрос» и выберем для формы все поля источника! Сохраним форму, дав ей имя «приход». То, чтоимя формы совпадает с именем таблицы, не должно нас беспокоить. Мымогли, конечно, пойти по проторенной дорожке, создав форму «в столбец», а затем связав ее с ленточной формой, но хотя бы для разнообразия поступим иначе.
Откроем форму в рабочем режиме и посмотрим,что нам в ней не нравится. Для некоторых полей система выделиласлишком много места, а для других места явно не хватает. Поле «номер» (вместе с подписью к нему) можно без ущерба для содержанияудалить из формы. Полезно разместить в примечании формы кнопкувыхода. Перечисленные манипуляции не должны вызывать у нас какихлибо затруднений, мы их не раз проделывали.
Но иногда также при построении формы в автоматическом режиме игнорируются созданныенами подстановки и форма выглядит, как на рис. 56. Как видно на рисунке, вместо названий товаров и поставщиков представлены только ихкоды. Чтобы устранить подобный дефект, нужно развернуть «Списокполей» (рис.
57) с панели инструментов «Конструктора форм».Рис. 56. Форма с полями без подстановокУдаляем в форме поля «товар» и «поставщик» и переносим эти поля из«Списка полей» в форму. Для такого переноса поля надо в «Списке48полей» щелкнуть левой клавишей мыши по имени соответствующегополя и, не отрывая руки от клавиши, перенести это поле на место удаленного. При этом вместе с полем перенесется в область данных формы и относящаяся к полю надпись, что совершенно некстати. Для удаления лишнего экземпляра надписи щелкните клавишей за пределамиполя, а затем по надписи и нажмите клавишу «Delete».Рис.
57. Список полейАккуратно расположите поля в одной строке области данных, чтобыкаждое поле располагалось под своей надписью. Корректировки могутнарушить последовательность перехода между полями в форме. В такомслучае Вы можете установить правильную последовательность перехода, воспользовавшись пунктом меню «Вид Последовательностьперехода» (рис. 59). Закроем «Конструктор».Рис.
58. Заголовки полей и область данных после корректировкиТеперь – самое скучное! Вам предстоит, пользуясь формой или непосредственно в таблице, занести как можно больше информации о поставках. Стоит выделить на это не менее пятнадцати минут.49Рис. 59. Последовательность перехода при вводе данныхРис. 60. Поля таблицы «расход»5.4.
Таблица «расход». Теперь Вам предлагается продемонстрировать,насколько хорошо Вы освоили материал пунктов 5.1-5.3. Таблица «расход» будет содержать данные о расходе товаров. Ее поля представленына рис. 60. Поля «номер», «дата», «товар» и «количество» имеют тот жесмысл, что и в таблице «приход», только теперь речь идет об отпускепартий товара со склада. Поле «цена» мы не задействовали, считая, чтосклад обслуживает торговые точки нашей фирмы, а значит, товары отпускаются со склада по закупочной цене.Поле «потребитель» использует подстановку, а источником столбцовдля подстановки служит таблица «потребители».505.5. Форма «расход».
Создадим запрос «расход Запрос» и в режимеконструктора введем упорядочивание записей по дате (теперь под датойподразумевается дата отпуска товара). Используя построенный запрос вкачестве источника данных, создадим ленточную форму «расход» точнотак же, как в разделе 5.3.Рис. 61. Форма «расход»Используя созданную выше форму, заполним таблицу «расход». Чембольше записей Вы введете, тем более удачные иллюстрации работыприложения можно будет в дальнейшем получать.
При этом будем считать, что наш склад только открылся, и постараемся, чтобы, например,мы не поставили потребителям больше картофеля, чем получили от поставщиков.5.6. Связи между таблицами. В рассмотренных выше примерах привводе товаров, поставщиков и потребителей мы видим на экране их названия, хотя теперь знаем, что физически таблица хранит только коды.Такое удобство создал нам мастер подстановок. Одна из таблиц играетроль справочника по кодам, хранящимся в другой таблице. Таким образом, между таблицами можно установить связи.
Виды связей в этомразделе мы разбирать не будем. Однако заметим, что связи между таблицами всегда устанавливаются по определенным полям. Для того, чтобы получить схему связей между таблицами, надо в строке горизонтального меню выбрать пункт СервисСхема данных. Если в появившемся окне «Схема данных» (рис. 62) интересующая Вас связь отсутствует, то можете щелкнуть правой клавишей мыши и в развернувшемсяокне выбрать пункт «Отобразить все».51Рис. 62. Окно схемы данныхИтак, мы разработали объекты, обеспечивающие хранение и редактирование данных о товарах, поставщиках и потребителях, а также о приходе и расходе товаров.
В разделе «Формы» окна базы данных мы видимимена семи построенных нами форм (рис. 63). Отражаемая в форме информация может быть распечатана так же, как во многих других приложениях, с помощью строки меню ФайлПечать. Однако представленная в формах информация, как правило, далеко не то, что хотел бы видеть на своем столе начальник. Руководитель обычно нуждается вобобщенной и прошедшей предварительную обработку информации,представленной в удобном для чтения виде. Этим вопросом мы и займемся далее.52Рис. 63. Раздел «Формы» окна базы данных6.
Шаг шестой. ОтчетыОтчет – это объект базы данных, представляющий информацию в видеготового для печати документа. Информацию можно распечатать непосредственно из таблиц, запросов и форм, но отчеты обладают принципиальным преимуществом.Они предоставляют широкие возможности отражения в печатномдокументе больших наборов данных, в случае необходимости, сгруппированных по заданным признакам. При этом в документе могут отражаться промежуточные (по группам) и общие итоговые значения.Отчеты могут использоваться для получения соответствующимобразом оформленных счетов, документов для презентации и другихполезных в работе вещей, оформление которых вручную отнимает уймувремени!6.1.