- •Санкт-Петербургский Государственный Политехнический Университет
- •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.Создание таблиц
2.1.Настройка интерфейса
Перед тем как начать делать первую базу, настройте интерфейс так, чтобы работать было удобно.
Пересечение окон или вкладки. Попробуйте, как вам больше нравится.
Здесь можно настроить заголовок приложения и изменить значок.
В текстовых полях стандартное количество символов установлено максимально возможным (255), это, пожалуй, многовато для таких полей как фамилия, телефон и адрес, предлагаю сразу изменить эту настройку.
Настройка количества символов в текстовом поле таблицы по умолчанию
Настройка работы макросов!!!!
Для того, чтобы ваши макросы (а они будут обязательно) работали, необходимо включить их в настройках безопасности. Это можно сделать в любой момент, тогда, когда вы напишите свой первый макрос (процедуру обработки события).
2.2.Структура данных
Теперь можно приступать к работе. Но сначала немного подумаем и порисуем.
Исходя из постановки задачи, разработаем структуру данных для хранения информации.
Для того, чтобы знать когда, кто, что, сколько и по какой цене покупал необходимо эту информацию сохранять. Информация хранится в таблицах. Количество таблиц определяется необходимостью. Подробно о том, как разрабатывать структуру базы данных можно посмотреть в литературе или в Интернете по адресу http://www.firststeps.ru/msoffice/access/
Сначала нарисуем информационную модель.
|
Стрелки показывают, что таблицы должны быть связаны между собой. Для печати чека придется взять информацию из всех таблиц базы данных.
Клиент с товаром связан через продажи. |
Главная задача СУБД - УЧЕТ ПОКУПОК клиентов (продажи), в которой фиксируются:
КЛИЕНТ
ДАТА ПОКУПКИ
ТОВАР
КОЛИЧЕСТВО
ЦЕНА
НДС
СУММА
Необходимо хранить информацию о клиентах
ФАМИЛИЯ
АДРЕС
ТЕЛЕФОН
Информация о товарах должна быть в базе для предоставления прайса клиентам.
НАЗВАНИЕ
ЦЕНА
Хранить информацию в одной таблице невыгодно по двум основным причинам:
Информация о клиенте содержит три поля, и вводить их для каждой покупки не рационально. Лучше всего будет выбирать клиента по его фамилии (или по другому признаку), а в таблице учета запоминать только его порядковый номер.
Клиент может купить несколько товаров, и лучше запоминать дату и клиента один раз при совершении покупки, а не для каждого товара (кроме того, в более сложном случае здесь могут присутствовать данные о типе валюты, виде оплаты (нал., кредит или безнал.) и др. информация). Поэтому УЧЕТ следует вести в двух таблицах: (КЛИЕНТ, ДАТА, НОМЕР) и (НОМЕР, ТОВАР, КОЛИЧЕСТВО, ЦЕНА, НДС), сумму в данном случае хранить не следует, ее можно будет всегда посчитать.
Простое сравнение таблиц может прояснить ситуацию.
Одна таблица покупок будет иметь вид
|
||||||||
Дата |
Счет |
Фамилия |
Адрес |
телефон |
Название |
Кол-во |
Цена |
Ставка НДС |
08.03.2006 |
2342343 |
Петров |
|
333-33-33 |
Телевизор |
1,00 |
10000,00 |
0,18 |
08.12.2006 |
123/2 |
Петров |
|
333-33-33 |
Телевизор |
10,00 |
180000,00 |
0,18 |
08.12.2006 |
3434 |
Петров |
|
333-33-33 |
Холодильник |
10,00 |
20000,00 |
0,10 |
08.12.2006 |
3435 |
Иванов |
|
222-22-22 |
Телевизор |
1,00 |
10000,00 |
0,18 |
08.12.2006 |
3435 |
Иванов |
|
222-22-22 |
Холодильник |
2,00 |
20000,00 |
0,18 |
|
|
|
|
|
|
|
|
|
Больше всего записей в базе данных будет в таблице покупок товаров, поэтому надо стремиться к сокращению числа полей в этой таблице.
Если при фиксации покупки запоминать номер клиента вместо фамилии, адреса и телефона, и номер товара вместо названия, то запись покупок можно будет делать сразу в две таблицы вида:
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Разобьем таблицу учета счетов на две таблицы и получим структуру базы в виде четырех таблиц. Поскольку мы решили в таблице учета хранить не клиентов, а их номера, а в таблице покупок – номера товаров, вместо названий, то в соответствующие таблицы также надо ввести номера.
В таблицу счетов запоминаем только код клиента, номер счета и дату.
В таблице товаров по счету должна присутствовать информация о том, к какому счету относится запись о покупке конкретного товара, поэтому для связи добавим в таблицу счетов еще одно поле “Код Счета”, и сделаем его ключевым.
Получилось 4 таблицы КЛИЕНТЫ, ТОВАРЫ, СЧЕТА и ТоварыПоСчету.
