- •Санкт-Петербургский Государственный Политехнический Университет
- •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.Разрабатываем макет меню.
- •Изменяем внешний вид панели.
- •Приложение. Виды запросов. Выборка
- •Другие типы запросов
- •Запрос с условиями отбора
- •Вычисления в запросах
- •Пример с запросом на объединение
Улучшение внешнего вида формы
Подвинем остальные элементы управления, подвинув их к верхнему краю.
Изменение подчиненной формы
Скроем поле кодСчета, в него автоматически подставляется значение связанного поля из главной формы, поэтому нам видеть его необходимости нет.
Поле Код также скрываем, это счетчик,
который заполняется автоматически.
Товар будем выбирать из списка и подставлять в поле КодТовара. Преобразуем этот элемент в поле со списком. Источником строк сделаем таблицу ТОВАРЫ, а запрос делать не будем, т.к. нам понадобятся все 4 столбца таблицы..(см. Преобразование кода клиента). Число столбцов поставим 4.
Автоподстановка цены при выборе товара из списка.
Раз уж у нас есть цена товара и ставка НДС, то можно использовать их для автоматической подстановки в соответствующие поля таблицы продаж.
Для этого откроем в свойствах на вкладке СОБЫТИЯ процедуру обработки события ПОСЛЕ ОБНОВЛЕНИЯ и вставим в нее всего две строчки:
Me.ЦенаПродажи = Me.КодТовара.Column(2)
Me.НДС= Me.КодТовара.Column(3)
Первая строчка берет из третьего столбца списка товаров цену и ставит ее в поле ЦенаПродажи, Вторая строчка вставляет НДС из четвертого столбца. (столбцы считаются от 0)
Смотрим на результат.
Изменение источника данных. Вычисляемые поля в запросе и форме.
Конечно, нужно было сначала создать правильный запрос, а потом создавать форму. Но я умышленно сделала так, как это делают новички. Бывают ситуации, когда приходится изменять источник данных и добавлять поля в форму. Надо уметь это делать.
Нам осталось вычислить сумму и итог.
Как известно, сумма для каждого товара
зависит от количества и цены
.
Вставим это выражение непосредственно
в источник данных для подчиненной
формы. Для этого щелкнем мышкой по
левому верхнему уголку подчиненной
формы и в свойстве ИСТОЧНИК ЗАПИСЕЙ
вызовем построитель запросов.
Выберем все поля из таблицы и сохраним запрос (чтобы легче было строить выражение для суммы)
После сохранения запроса вызовем построитель выражений правой кнопкой мыши.
Построим выражение для суммы
и нажмем ОК.
В поле запроса появится строка Выражение1: [Кол]*[ЦенаПродажи]*(1+[НДС])
Выражение1 – это имя поля запроса, изменим его на любое удобное нам, например “Сумма”
Сумма: [Кол]*[ЦенаПродажи]*(1+[НДС]). Закроем запрос, сохранив его.
Осталось поставить это поле в форму и вычислить итог. Самый быстрый способ – это скопировать поле ЦенаПродажи и сделать в новом поле несколько простых изменений. ИТАК приступим.
Выделяем поле ЦенаПродажи и нажимаем Ctrl+C. Ctrl+V.
Передвигаем новое поле на нужное место.
Изменяем свойство данные: вместо ЦенаПродажи выбираем Сумма (выбираем, а не пишем!!!)
Изменяем свойство ИМЯ, напишем Сумма. (вкладка ДРУГИЕ)
Поставим заголовок для суммы. Скопируем в области заголовка подпись Цена и изменим ее на СУММА.
Поставим в примечание формы поле для расчета итога. Вообще-то нам надо несвязанный элемент, но для того, чтобы не форматировать выражение используем следующий простой прием.
В
озьмем
и вставим какое-нибудь поле из списка
полей формы. Лучше брать исходное
табличное поле, а не выражение из
запроса, т.к. оно уже отформатировано
при создании таблицы (число знаков
после запятой и т.п.). Берем поле Сумма
из списка полей и тянем его (не отпуская
кнопку мыши) в область примечаний. У
нас появились два элемента: Поле и
Его Подпись.
Подпись изменяем на ИТОГО, а в само поле в свойствах ДАННЫЕ вместо Сумма вставляем выражение для вычисления суммы
Изменим цвет символов на желтый и получим результат.
