Десять шагов в microsoft_access (835787), страница 2
Текст из файла (страница 2)
Теперь система откажется вносить новые записи, в которых это поле не заполнено. Остальные поля обязательными делать не будем, дабы не брать на себя заботу повсеместнозаполнять их!Рис. 4. Создание таблицы в режиме конструктораПоле «адрес» также сделаем текстовым длины 40.«Директор» пусть будет текстовым полем длины 25.«Телефон» также определим как текстовое поле. Выбор длиныоставляем на усмотрение разработчика.
При этом в качестве маски ввода введем соответствующей длины последовательность цифр «9». Теперь на этих местах могут стоять только цифры или пробелы. Любойдругой символ при вводе будет отвергнут. Маска может не только обеспечить ввод форматированных данных, но и преобразовать, например,8все вводимые символы к верхнему регистру или вставить в нужные позиции скобки и дефисы.Особое место занимает поле «MEMO». Как уже было отмеченовыше, реляционная модель предполагает равенство в каждой записидлин соответствующих полей.
Часто пользователь хочет оставить за собой возможность ввода дополнительной текстовой информации о предмете. Во-первых, не все можно предусмотреть на стадии разработки.Во-вторых, текстовая строка, которую Вы хотели бы разместить в данном поле, может иметь широкий диапазон длин. Тогда, зарезервировавнебольшую длину, Вы лишаете себя возможности в некоторых записяххранить весь текст. Зарезервировав же максимально возможную длину,Вы существенно увеличиваете объем каждой записи, а значит, и всейтаблицы, что ведет не только к неэффективному использованию памяти,но и к замедлению значительной части операций над данными таблицы.Поле «MEMO» решает эту задачу путем компромисса: текстовое полеимеет неограниченную длину, но зато хранится вне таблицы. В таблицехранится только ссылка на текст. Таким образом, доступ к информации,хранящейся в полях «MEMO», значительно замедляется и эти поля нецелесообразно брать за основу сортировки или использовать в операциях типа поиска.
Такие поля, как правило, служат для того, чтобы пользователь имел возможность получить более подробную или не укладывающуюся в структуру таблицы информацию об отдельном предмете.Сформировав структуру таблицы, выйдем из «Конструктора». Нажмем«крестик» в правом верхнем углу окна «Конструктора» и в появившемся диалоговом окне на вопрос «Сохранить изменения?» ответим «Да».В окне «Сохранение» дадим таблице имя «поставщики». Любым объектам базы данных желательно присваивать имена, непосредственно указывающие на их назначение! Теперь в разделе «Таблицы» окна базыданных появится имя первой таблицы (рис. 5).Рис.
5. Создана таблица «Поставщики»9В дальнейшем, если возникнет необходимость изменить структуру таблицы, надо выделить ее имя и нажать кнопку «Конструктор» в окне базы данных. Теперь можно приступить к вводу данных. При вводе поле«поставщик», которому мы присвоили тип «Счетчик», заполняется автоматически. Для удобства ввода можно расширить изображение любого столбца на экране, установив указатель курсора на границе междуназваниями соответствующих полей, нажав левую клавишу мыши и передвинув границу вправо. Но при большой длине записи нам придетсяпостоянно пользоваться полосой прокрутки.Рис. 6. Заполненная таблица «поставщики»В любом случае в таблице неудобно заполнять поля «MEMO», содержащие произвольной длины текст. Итак, у нас возникло два противоре-10чивых желания.
С одной стороны, мы хотели бы иметь возможностьпросматривать все записи, ограничиваясь небольшим количеством наиболее важных полей. С другой стороны, иногда желательно видеть одновременно всю информацию о предмете. Разрешением этого противоречия мы займемся в следующем разделе.1.3. Создание запроса.
Запрос представляет собой логическую таблицуи позволяет пользователю получить нужные данные из одной или нескольких таблиц. Запросы можно создавать на выборку, обновление,удаление или добавление данных. С помощью запросов, используя информацию из одной или нескольких таблиц, можно создать новую таблицу.
Более подробно с запросами мы познакомимся по ходу разработки приложения, а пока организуем просмотр списка поставщиков. Дляэтого перейдем в раздел «Запросы» окна базы данных и нажмем «Создать».Рис. 7. Окно диалога «Новый запрос»Выберем пункт меню «Простой запрос» и нажмем «OK». Появится окно«Создание простых запросов» (рис. 8). В поле «Таблицы/запросы» развернем меню и выберем таблицу «поставщики» (других таблиц у наспока и нет!).
Внизу окна слева размещается список всех полей указанной таблицы, а справа список отобранных полей. Стрелки между списками означают:Перенести поле в список отобранных полей>Перенести все поля в список отобранных полей>>11<<<Исключить одно поле из списка отобранных полейИсключить все поля из списка отобранных полейРис. 8. Отбор полей для запросаМы отберем для запроса поля: поставщик, название, директор и телефон.
Нажимаем «Дальше». В следующем окне предлагается дать имязапросу. Оставим предложенное системой имя «поставщики Запрос» инажмем «Готово». На экране появится таблица (рис. 9). Эта таблица содержит выбранные нами поля таблицы «поставщики».Рис. 9. Результат выполнения запроса12Закроем таблицу и на вопрос «Сохранить изменения?» ответим «Да».Теперь в разделе «Запросы» окна базы данных появился первый объект– запрос «поставщики Запрос». Откроем созданный запрос в режимеконструктора. Для этого выделим запрос и нажмем «Конструктор». Наэкране появится окно «Конструктора запросов» (рис. 10).Рис.
10. Окно конструктора запросовСледует заметить, что в режим конструктора мы могли бы перейти сразу, не закрывая запрос. Для этого достаточно нажать на изображение«зеленого угольника» в левом верхнем углу окна приложения.Как видно из рисунка, в верхней части окна конструктора расположенытаблицы (в данном случае одна таблица), которые послужили источником данных для запроса. В нижней части – таблица, столбцы которойпредставляют поля запроса, а в строках указываются характеристикиполей. Поле. В этой строке задаются имена полей, которые должны попасть в запрос или используются только для задания условий отбора исортировки данных из таблицы. Имя таблицы.
Указывается имя таблицы, из которой выбрано поле. Сортировка. В этой строке для любого поля можно развернуть меню и выбрать способ сортировки (по возрастанию или по убыванию)либо отказаться от сортировки.13 Вывод на экран. В этой строке помечены «галочкой» поля, которыедолжны выводиться на экран. Щелчком левой клавиши мышки можноизменить соответствующую характеристику поля. Условие отбора.
Здесь задаются условия отбора записей из таблицы. Более подробно этот вопрос мы рассмотрим в процессе разработкиприложения.Припишем полю «название» в строке «Сортировка» характеристику «повозрастанию».При формировании структуры таблицы мы обратили внимание на то,что поля могут обладать рядом свойств (рис. 4). Поля, представленные взапросе, наследуют свойства соответствующих полей таблицы. Есливозникнет необходимость изменить некоторые из них, Вы можетещелкнуть правой клавишей мыши на интересующем Вас поле и в развернувшемся меню выбрать пункт «Свойства». Появится диалоговоеокно, в котором Вы можете изменить ряд свойств поля.Итак, мы создали запрос в режиме диалога, а затем в режиме конструктора внесли в него необходимые изменения.
В большинстве случаев такой подход наиболее целесообразен, хотя запрос можно строить и изначально в режиме конструктора.Теперь выйдем из конструктора, сохранив изменения, и откроем запрос«поставщики Запрос». Вы можете убедиться, что данные представленыв алфавитном порядке (по названиям поставщиков). Таким образом, одно из наших пожеланий удалось выполнить.
А именно, мы получиливозможность, пользуясь полосами прокрутки, быстро найти нужногопоставщика и наиболее важную информацию о нем.2. Шаг второй. Формы и элементы управленияВ предыдущем разделе мы заметили, что ввод, редактирование и просмотр данных непосредственно в таблицах и запросах не всегда приятное занятие. Кроме того, на предприятии с одной базой данных могутработать разные категории удаленных пользователей, у которых разныеинтересы и разные права доступа. Это также одна из причин применения форм – основного средства организации интерфейса между пользователем и базой данных.
Форма – объект Microsoft Access, предназначенный для ввода и просмотра данных, а также для управления работойприложения.142.1. Создание формы с полями, расположенными в столбец. Теперьпришло время осуществить второе желание – предоставить пользователю возможность просмотра одновременно всех полей, относящихся кконкретному поставщику. Для этого перейдем в раздел «Формы» окнабазы данных и нажмем «Создать».Рис. 11. Создание автоформы «в столбец»На экране появится диалоговое окно «Новая форма» (рис. 11). Выберем«автоформу в столбец», в нижней части окна развернем меню и в качестве источника данных для формы назначим таблицу «поставщики».Теперь для создания формы достаточно нажать «OK». На рис.
12 представлена первая созданная нами форма «в столбец». Справа от названийполей расположены сами поля ввода/вывода. В этих полях Вы можетепросматривать и редактировать данные о конкретном производителе.Полю «дополнительно» мы приписали тип «MEMO», и, таким образом,это поле может хранить текстовую строку произвольной длины. Привводе данных в этом поле справа появляется полоса прокрутки. Частьформы, в которой расположены поля ввода/вывода, называется областью данных.
В правом верхнем углу находятся кнопки оконного меню,которые в комментариях не нуждаются. В левой части окна формы Вывидите помеченную стрелкой область выделения. Если по этой области15щелкнуть левой клавишей мыши (область окрасится в черный цвет) инажать на клавиатуре компьютера клавишу «Delete», текущая записьбудет удалена. Внизу формы расположено поле номера записи (рис. 13).Рис. 12. Форма «в столбец»Пользуясь элементами управления этого поля, Вы можете перемещатьсяпо записям, а также вводить новые записи. Закроем форму и на вопрос«Сохранить изменения?» ответим «Да». В диалоговом окне «Сохранение» зададим имя формы «поставщики_столбец».