А.Ю. Гончаров Access 2003 (960524), страница 30
Текст из файла (страница 30)
Нажмите на панели инструментов Панель элементов кнопку Поле и нарисуйте мышью контуры будущего поля. Обратите внимание, что новое поле состоит из двух элементов: подписи (она имеет имя Text21) и собственно поля, которое первоначально обозначено словом «Свободный» (Unbound), как показано на рис. 7.9.СвободньрйI mм\I и•Рис. 7.9. Вид нового поля в режиме конструктора19. Установите положение и размеры подписи и поля так, чтобы они соответствовали дизайну формы.20. Выделите подпись поля Text21 и нажмите кнопку Свойства. Откроется окносвойств элемента.21. На вкладке Макет в строке Подпись введите слово «Издательство» и закройте окно свойств.22.
Выделите поле и нажмите кнопку Свойства. Откроется окно свойств элемента;23. На вкладке Данные, в строке Данные выберите из списка «Издательство»и закройте окно свойств.24. Переключитесь в режим просмотра формы.Легко заметить, что у подписи нового поля не хватает рамки. Создать рамкуможно, сравнив свойства существующего элемента со свойствами вновь созданного. На рис. 7.10,а показано окно свойств подписи «Автор», а на рис. 7.10,6 - окносвойств созданного нами поля. Видно, что свойства Тин границы.
Достаточно заменить (выбрав из списка) опцию «Сплошная», как рамка появится. Попутно можно установить и одинаковое значение высоты подписи, чтобы элементы выгляделиединообразно. В данном случае высота должна быть равна 0,423 см. С помощьюКнижная база да иных (пример}№мыши установить точное значение высоты практически невозможно. Разумеется,высоту надо «стандартизировать» и для самого поля Издательство. У меня она получилась несколько больше высоты подписи и оказалась равна 0,503 см.'Ш..Т Надпись: Автор__1аЬе1ДЕтдр_1аЬе1^кетдавыеР«ЧИИ БЫВОДЛТип фонаСобытияДругие '.ТНадпис»; LabeliZгUbetZZ:V.;1 M*EIБее.
. всегдаданныеРежим вызола . . .. . .ПрозрачныйСобытияДруг™Все. . . Всегда. . ПрозрачныйОформление, , , обычноеОформление . . .Цает границыШирина границы.. 0. , . СвврхтсикаяЦвет границыUfripi-иэ границы, . 0. . Свермоикадf'ainep шрифтеНэсышенчоеть...
в. оеьр«»йРаэ*е шрифта .Насыщерность. , S. . . обыЧНВ11Подчеркнуты!. . . Нет...Неты.v |. обычное•*Рис. 7.10. Окно свойсти: а - д л я подписи Автор; б -для подписи нового поляЧасто бывает, что установить с помощью мыши точное расположение по высотедля полей и подписей бывает сложно. Тогда надо воспользоваться окном свойствэтих элементов. Открыв окно один раз. его можно не закрывать, а выбирать различные элементы на макете формы и менять параметры в окне. Например, если дляподписи «Издательство» значение координаты по вертикали (от верхнего края) равно 2,051 см, а высота элемента равна 0,423 см, то для элемента, расположенногониже (то есть поля Издательство), значение параметра От верхнего края должнобыть равно 2,474см (2,051 + 0,423).
Установив точные значения, мы обеспечимсовпадение рамок элементов. Скорее всего, таким же способом нужно будет «подогнать» и координаты подписи и поля «Аннотация». Вертикальная координата отсчитывается от верхнего края формы. Как видите, данные расчеты следуетпроизводить с точностью до сотых долей миллиметра.Когда мы создавали форму с помощью мастера, расположение полей было выбрано автоматически.
Но потом, при переделке формы, такая кропотливая работаоказалась необходима, когда потребовалось обеспечить качественный внешнийвид объекта.Переделанная форма показана на рис. 7.11. Как видим, все поля на ней выровнены, и осталось свободное место для какой-нибудь дополнительной информации.Глава?170it!Жанр1 ФантастикаАвторА АзимовСтранаСШАНазвание Книг иИзбранноеГодВьнода19SSИздательствоМирАннотацияВ сборник классика американской н мировой Фантастики Айзека Азимове включены рассказыиз сб. "Путь марсиан" (50-*- 60-е гг.] и роман "Сами боги", написанный гмсзт*л*м вначале 70-кгг после 15-летнего перерыва в литературном творчестве.Рис. 7.11.
Форма с новым полем ИздательствоNBВ данном примере подразумевалось, что в качестве источника данныхдля нового поля формы берется поле из запроса ЗапросКниги Это ненужно было проверять, так как изначально вся форма создаваласьтолько на основе этого запроса. Но так бывает далеко не всегда.Проверить, что является источником данных для формы, можно, открыв окно ее свойств. Это делается в режиме конструктора щелчкомправой кнопкой мыши на квадратике, расположенном на пересечениигоризонтальной и вертикальной линеек. Из контекстного меню надовыбрать команду Свойства, а в окне свойств посмотреть параметрИсточник записей на вкладке Данные.
Если надо выбрать источникданных для поля из другой таблицы (или запроса^, то в окне свойствэтого поля, в строке Данные следует воспользоваться кнопкой с тремя точками. Эта кнопка раскрывает окно построителя выражений,которое позволит выбрать в качестве источника данных любое полеиз любой таблицы (или запроса^ или создать вычисляемое поле.Создание поля со списком. Мастер подстановокПоработав с базой данных какое-то время, вы обнаружите, что она нуждаетсяв дальнейших усовершенствованиях.
Например, окажется, что значения некоторых полей необходимо выбирать из списка. Если заполнять поле Жанр произвольным образом, то одно и то же значение может быть записано по-разному:«фантастика», «научная фантастика» или «н/ф». Это приведет к тому, что в дальнейшем будет невозможно проводить сортировку по этому полю или выполнятьзапросы. В данном случае правильный путь - заранее создать набор допустимыхзначений и предлагать пользователю выбирать одно из них. В то же время необ-Книжная база данных (пример}171ходимо иметь возможность редактировать этот набор в любое время.
Без новойтаблицы никак не обойтись.Создадим новую таблицу (назовем ее ТаблшцГЖанры). Она будет содержатьдва поля.Имя поляst4/КаирФормат поля• Счетчик, ключевое поле, индексированное, повторы значенийне разрешеныТекст, длина 15 символовХарактеристики поля Жанр должны совпадать с характеристиками одноименного поля в ТаблицаКниги - ведь мы будем подставлять данные из одной таблицы в другую.В новой таблице желательно сразу создать несколько записей, чтобы можнобыло на практике проверить работу списка.Для этой таблицы можно сразу же создать (ЗапросЖанры) и задать режимсортировки по возрастанию для поля Жанр.
Тогда в списке подстановки данныетоже будут отсортированы.Теперь можно раскрыть ТаблицаКниги в режиме конструктора и изменитьтип поля Жанр. В столбце Тип данных в списке надо выбрать Мастер подстановок. Создать поле подстановок без мастера достаточно сложно. Первый шаг мастера показан на рис. 7.12.
Предлагается два варианта хранения значений поля:использовать для них отдельную таблицу или определить значения во время работы мастера. Если выбрать первый вариант, то в таблицу можно будет добавлятьновые значения.На втором шаге мастера (рис. 7.13) выберем источник записей. Это будет, естественно, объект базы данных ЗапросЖанры,На третьем шаге мастера (рис. 7.14) надо выбрать поле, которое будет использоваться для выбора данных. В таблице подстановки может быть несколько полей, но показывать их необязательно: поле счетчика должно быть скрыто отпользователя.На четвертом шаге мастера (рис. 7.15) можно выбрать режим сортировки поляподстановки.
В нашем случае это необязательно, так как сортировка уже обеспечена в запросе. Но, конечно, пользователю будет удобнее выбирать названия изотсортированного списка.Глава 7172; Создание подстановкиМастер создает столбец подстановки, в каторсмотображается список значений для выбора. Каким способенстолбец подстановки будет получать эти значения?0 ;О6ъ*кт '"столбец подстановки" будет использовать-значения из таблицы или запроса,О Будет введен фиксированный набор эначен!«1,Отмена_IIДалее >i- ;-_Рис. 7.12. Первый шаг мастера подстановок.
Создание подстановкиВыберите таблицу или запрос со значенияии, которые будетсодержать столбец подстановки,Запрос: ЗапросКниги.-л,I"""" -:,*ij-..:, ..ПоказатьО ТаблицыIОтмена(";> ;£апросы j Q Таблицы и запросыI< НазадI Далее >IРис. 7.13. Второй шаг мастера подстановокНа пятом шаге мастера (рис. 7.16) можно визуально определить и установитьширину поля подстановки. Границу поля можно передвинуть мышью. Здесь можно уже нажать кнопку Готово. Остался шестой, заключительный шап но на немможно только выбрать подпись для поля. В нашем случае имя поля (Жанр) достаточно информативно и создание подписи не требуется.Книжная база данных (примерJСоздание подстановкиКакие пола содержат значения, которые следует включить встолбец подстановют? QTo6pat*»ie поля станут столбцами Еобъекте "столбец подстановки",Рис. 7.14. Третий шаг мастера подстановокСоздание подстановкиВыберите порядок сортировки списка.Допускается сортировка записей по во^асташ«о илипо убыванию, включающая до 4 полей,по возрастаниюпо возрастаниюРис.