- •Санкт-Петербургский Государственный Политехнический Университет
- •7 Шагов в базу данных
- •Введение
- •Шаг 1.Разработка технического задания
- •Шаг 2.Создание таблиц
- •2.1.Настройка интерфейса
- •2.2.Структура данных
- •2.3.Создание таблиц.
- •Создание таблицы клиенты
- •Ключевое поле
- •2.4.Связывание таблиц
- •Шаг 3.Создание простых форм для ввода данных
- •3.1.Автоформа.
- •Ленточная форма клиенты
- •3.2.Создание собственного стиля формы.
- •Ленточная форма товары
- •Шаг 4.Создание сложных форм для ввода данных. Мастер форм.
- •4.1.Проект формы.
- •4.2.Создание формы с помощью мастера.
- •4.3.Изменение макета формы.
- •Изменение главной формы.
- •Преобразование поля в поле со списком
- •Улучшение внешнего вида формы
- •Изменение подчиненной формы
- •Автоподстановка цены при выборе товара из списка.
- •Изменение источника данных. Вычисляемые поля в запросе и форме.
- •4.4.Последний штрих.
- •Шаг 5.Построение отчетов.
- •5.1.Прайс-лист. Отчет на базе таблицы. Вид отчета.
- •Базовая таблица
- •Строим автоотчет.
- •5.2.Вывод счета. Отчет на базе нескольких таблиц.
- •Построение базового запроса.
- •Построение отчета мастером.
- •Кнопка печати (просмотра) счета на форме.
- •Шаг 6.Выборка информации из базы.
- •6.1.Создание форм для просмотра информации с фильтрацией данных
- •Определим общий вид формы.
- •Разработку формы начинаем с создания запроса.
- •Создаем ленточную форму.
- •Доводка формы.
- •Изменим имя и подпись кнопки.
- •Изменим источник записей для формы.
- •6.2.Создание отчета по фильтру, заданному в форме.
- •Создание отчета в режиме конструктора.
- •Ставим на форму кнопку открытия отчета с помощью мастера.
- •Шаг 7.Создание меню
- •7.1.Разрабатываем макет меню.
- •Изменяем внешний вид панели.
- •Приложение. Виды запросов. Выборка
- •Другие типы запросов
- •Запрос с условиями отбора
- •Вычисления в запросах
- •Пример с запросом на объединение
2.4.Связывание таблиц
Теперь таблицы надо связать между собой. Зачем? Во-первых, нужно следить за целостностью базы данных, не должно быть в таблице счетов номеров несуществующих клиентов, и в таблице товаров – номеров несуществующих товаров. За этим может следить сама СУБД, если только мы ей скажем об этом. Во-вторых, поставив связь один раз в схеме данных, мы навсегда избавимся от необходимости устанавливать связи в запросах к нескольким таблицам. Итак – вперед.
Выбираем иконку
,
щелкаем правой кнопкой мыши внутри
открывшегося пустого окна и добавляем
все таблицы, по очереди. Мышкой выбираем
нужное поле одной таблицы (КЛЮЧЕВОЙ
ПОЛЕ) и тянем его на поле другой таблицы
(только не наоборот).
В открывшемся окне связей устанавливаем целостность. Выбираем ОБЕСПЕЧЕНИЕ ЦЕЛСТНОСТИ и КАСКАДНОЕ ОБНОВЛЕНИЕ. Проверьте, как правило, внизу должно быть отношение ОДИН КО МНОГИМ (если это не так, вы сделали на вторичной стороне счетчик, а там должно быть ЧИСЛО ДЛИННОЕ ЦЕЛОЕ).
Берем поле КодКлиента из таблицы КЛИЕНТЫ и тянем его в таблицу СЧЕТА на поле КодКлиента. Берем поле кодТовары в таблице ТОВАРЫ и тянем его в таблицу ТоварыПоСчету на поле кодТовара. Совсем не обязательно называть связываемые поля в таблицах одинаковыми именами, для проектирования это может быть и удобно, но в запросах потом приходится писать много дополнительных слов. Кто как привык.
После того, как все связи будут установлены получиться такая схема данных.
Шаг 3.Создание простых форм для ввода данных
3.1.Автоформа.
В СУБД не принято вводить данные непосредственно в таблицы. Для этого существуют формы. По своему назначению формы делятся на два основных вида: ФОРМЫ ВВОДА и ФОРМЫ ПРОСМОТРА. Первые необходимы для организации безопасного ввода данных в таблицы, вторые для поиска и отображения информации из базы данных.
Начинаем разработку интерфейса с проектирования простых форм для ввода данных в так называемые СЛОВАРИ. Это такие таблицы, в которые не входит ни одна связь. В нашем примере к словарям относятся две таблицы КЛИЕНТЫ и ТОВАРЫ.
Мы сейчас сделаем форму очень похожую на таблицу. Спрашивается – зачем? Чем форма отличается от таблицы. А вот чем:
Можно скрыть некоторые поля, которые пользователю видеть не положено.
Можно поставить в форму кнопки для выполнения различных функций
Вывод списка (отчета, естественно)
Открытие другой формы для выбранной записи и т.п
Можно закрыть некоторые поля от ввода данных
Запретить изменение и удаление существующих записей
Но все это мы пока делать не будем. Мы просто и быстро создадим 2 формы ввода. Начнем с клиентов.
Ленточная форма клиенты
Выделим таблицу, по которой мы хотим сделать форму
В меню СОЗДАНИЕ в группе с формами
выберем иконку
.
На экране появится новая форма примерно в таком виде. Тут все зависит от настройки параметров Access Об этом чуть позже, но обязательно поговорим.
Форма открывается в режиме ФОРМА (ввод и изменение данных). Можно набрать несколько фамилий, чтобы проверить получившуюся форму.
Более-менее приемлемо. Перейдем в режим конструктора ( треугольник появится в контекстном меню, если щелкнуть правой кнопкой мыши на заголовке формы).
