А.Ю. Гончаров Access 2003 (960524), страница 16
Текст из файла (страница 16)
Единственное, что надо учитывать в данномслучае: поля в форме должны располагаться так же, как и ячейки в исходном документе, чтобы оператору было удобно набирать данные. В накладной данныенаходятся в таблице, так что и форма у нас получится табличная.На вкладке Формы выберем вариант Создание формы при помощи мастера.Выберем все поля из ТаблицаНакладные.На следующем шаге мастера выберем вариант «В один столбец».
Затем выберем стиль оформления «Стандартный», а на последнем шаге дадим имя форме:ФормаНакладные.Компьютеризация данных (пример)85Теперь откроем форму в режиме конструктора. Горизонтальную линейку примечания надо сдвинуть вниз и увеличить размер формы (перетаскивая мышью еекрай). На панели инструментов Панель элементов должна быть нажата кнопкаМастера. Нажмем кнопку Подчиненная форма/отчет и нарисуем в нижней части формы прямоугольник. Запустится мастер подчиненных форм. Первый егошаг пропускаем, а на втором все поля из ЗапросТовары, кроме поляКодНаименования.
В форме будут только те поля, которые имеются и в накладной.На следующем шаге выбираем тип связи: «"ЗапросТовары" для каждой записи"ТаблицаНакладные"». Этот вариант программа должна найти сама, мы лишьподтверждаем его. На последнем шаге мастера можно оставить имя подчиненнойформы, которое выберет мастер.Теперь можно открыть форму в режиме просмотра. Скорее всего, для подчиненной формы не хватит места. Тогда надо снова включить режим конструктораи изменить размеры обеих форм. По умолчанию подчиненная форма выводитсяв табличном виде. Если это не так, надо изменить ее свойство Режим поумолчанию (на макете подчиненной формы надо щелкнуть правой кнопкоймыши квадратик на пересечении линеек и из контекстного меню выбрать команду Свойства).Эо'рмаНак ладныеНомерНакладмойДетаФилиал• .!-•..
.1А14-оет-2003-Ларек 1ЗВД 'Хлеб"пей чиненная Форма ЗапросТоварыЗапись: 'JTJЗапись: QT)l1ОН* иэ 2« _3Рис. 4. 6. Форма для ввода данных из накладной86Глава4Раскрыв форму для просмотра (рис. 4.6), можно убедиться, что при вводе номера накладной в верхнее поле в подчиненной форме такие же номера появляютсяавтоматически: оператору не надо вводить это число заново. Границы столбцовподчиненной формы можно сдвигать мышью.
Возможно, не совсем удачно наличиедвух наборов кнопок для переходов по записям: когда элементов управления слишком много, пользователь начинает путаться. Кнопки выбора записи для подчиненной формы можно убрать (они не нужны) с помощью свойства Кнопки перехода.Если все строки подчиненной формы не будут умещаться на экране, автоматическиподключится полоса вертикальной прокрутки.В таком виде файл базы данных уже можно отдавать оператору для заполнения.Если надо, чтобы при открытии файла форма запускалась автоматически, надо выбрать команду Сервис => Параметры запуска и задать имя формы в строке Имяформы/страницы.4.6. Мастер по анализу таблицПоскольку в нашей базе данных предусматривается размещение информациио поставщиках, мы можем попросить предоставить такую информацию.
Допустим,мы получили информацию, которая находится в таблице, показанной на рис. 4.7.В приведенной таблице могут быть собраны данные из разных подразделений.Недостатки такой информации сразу бросаются в глаза. Например, в некоторыхзаписях информация повторяется. Если в таблице находятся десятки и сотни записей, исправить ошибки довольно сложно.В Access существует средство для исправления таблиц. Это так называемыймастер по анализу таблиц.
Если вы не знаете, насколько рационально спроектирована таблица, вы можете прогнать ее через эту программу, и электронный разум вынесет свой вердикт. При использовании данного мастера следует иметь в виду, чтопользователь не всегда владеет всей информацией о своих данных. Например, еслитаблица большая, то человек просто не в состоянии запомнить всех ее особенностей. Поэтому в диалоге с мастером иногда возникают сложные моменты. Исследуем его работу на нашей небольшой таблице. Не имеет.особого значения, какойсмысл вкладывается в текст из таблицы. Иванов, Петров, Сидоров могут иметь отношение к любой сфере бизнеса.Мы ожидаем, что мастер выдаст рекомендации по улучшению структуры данных.
Для его запуска выбираем Сервис ==> Анализ => Таблица.Компьютеризация данных (пример)ТаблицлПостдвщики : 1а6лнц4СчетчикИ~_>ЕПоставщик87<>:»,„—'!ТДиректор... ~~-..,-.. ......-..- -_----|Телефон1 Хлебозавод №22 ООО "Мине"Остапенко В.М.Туманов О.С222-333-44443 ЗАО "Тортом"Сергеев В П444-866-88BQ4 ЗАО "Хлеб"5 Продуктовая базаСеменова Т.З.Иванов И И.555-999-1212333-777-55556 ЗАО "баранки"Баранов М. М.7 Хлебозавод № 1Николаев С. К.8 Хлебозавод № 29 ООО "Микс"Остапенко В М.111-222-3333Туманов 0 С222-333-444410 База ВКомаров М.С11 Хпебзавод 212 Продуктовая базаОстапенко В.М.Иванов И. И.13 База 6(Счетчик)Комаров М С.-_ _-.}i111-222-3333777-В88-2222333-888-6666111-222-3333333-777-5555:'- Запись: MjULU Г^ ^ UJUUfe*] » '3Рис.
4.7. Таблица с информацией о поставщикахПервые два шага мастера, показанные на рис. 4.8 и 4.9, носят справочныйхарактер. Из рисунков видно, что программа дает пользователю рекомендации,с которых был начат этот раздел и которые содержатся в любой книге по СУБД.Естественно желание всех, разработчиков избежать дублирования данных и свести к минимуму вероятность опечаток при их редактировании. Второй шаг мастера показывает, к чему стремится программа. Предполагается, что разбиениеодной таблицы на несколько позволит усовершенствовать базу данных. На мастера возлагается также задача определить связи между таблицами.
Он оставляетв неприкосновенности исходную таблицу и создает новые для размещения тех жеданных. Разработчик базы данных должен сам впоследствии решить, как ему поступить с таблицами: какие из них стереть, а какие оставить.Настоящая работа мастера начинается с третьего шага, показанного нарис. 4.10, Под страницами с пояснениями понимаются два предыдущих шага.Если флажок сбросить, то при последующих запусках мастера первые два шагабудут пропущены.
Данное окно предназначено для выбора таблицы, и мы выберем ТаблицаПоставщикн.На четвертом шаге (рис. 4.11) надо ответить на вопрос о том, каким образомбудут распределяться поля по таблицам, если мастер обнаружит, что исходнуютаблицу надо разбить. Автоматическое разбиение выполняется, если выбрать опцию «Да, разделение полей выполняется мастером».
Но мастер может выдать со-Глава 4rАнализ таблицДна ли i таблиц:постановка задачиRaviw A-igeicGnocchi airionrCarnarvon TigeOutback LaaerPavlovaVegie-spreadРД5ТPASTPAVLPAVLPAVLPAVLPasta Suttmi 5,1 Via dei GelsPasta Buthni s.i Via dei Gelsc.™Pavlova, Ltd, 74 Rose St;Pavlova. Ltd. 74 Rose 5t,Pavlova, Ltd. 74 Rose St.P v, Ltd.74 Rose StОпечатка в именипоставщика.
IСведения апоставщикахповторяются,Одни и те же сведений частосохраняются в таблице много раз.Повторная запись данных можетпривести к определенным ошибкамВо-первых, повтор данный приводит кизлишнему увеличению их объема.Q Показать пример,Во-вторых, повтор данных можетвызвать ошибки обработки,fa] Показать пример.Рис. 4.8. Первый шаг мастера анализа таблицАнализ таблицИсходная таблица "Товары и поставщики"Анализ таблиц:решение задачиМастер разделит исходную таблицу нанесколько новых, в которых каждоезначение будет храниться только водном месте,Теперь обновление данных в разныхзаписях выполняется за один раз.Товар| ПодстановкаnotGnoirchi Arionr.PASTц ., ,i<la narvor Tiger PAVLOutback Laoer PAVLPavlova»TT!WSW- :"PAWL0Показать пример.Допускается работа с даннымиодновременно из нескольких таблиц.ПоставщикPasta Buttini s.r Via dei Getsomini, 1!"Pavlova, Ltd, 71 RoseSt.Новая таблиаа "Поставщики"Рис.
4.9. Второй шаг мастера анализа таблиц12J Показать пример.Компьютеризация данных (пример)89Анализ таблицВ каких таблицах есть чоля, значения которьиповторяются иного раз?Данный мастер разделит исходную таблицу нанесколько связан№1* таблиц, При этом сама исходнаятаблица изменена не будет.Таблицы:Т аблицлН а клад ныеТаблицаТоварьТ'" Вывести страницы с пояснениями?Рис. 4.10. Третий шаг- мастера анализа таблицобщение, что разбивать таблицу нет смысла. Но мы видим, что такаянеобходимость имеется.