Расширенные средства ввода данных
Тема 12. РАСШИРЕННЫЕ СРЕДСТВА ВВОДА ДАННЫХ.
СОЗДАНИЕ ПОДЧИНЕННЫХ ФОРМ
Например, у нас есть перекрестный запрос, находящий суммы продаж по каждому товару за каждый месяц. Мы знаем, что с помощью Мастера перекрестных запросов мы можем найти сумму по строке (по каждому товару). Однако еще одним удобным способом отображения перекрестных запросов является форма.
Предположим, первоначально мы создали такую форму:
Код товара Код товара
1 кв 2 кв Январь Янв-2000 Апрель Апр-2000 Рекомендуемые материалы-82% Создать файл, состоящий из структур с информацией о погоде в разных городах. Структура содержит следующие поля: название города, среднегодовая температура. Выполнить ввод в файл исходных данных. Выполнить сортировку файла по возрастанию температуры. FREE Решение математических задач средствами Excel FREE Разработка программы генерации тестов из базы данных на языке РНР Экзамен - верные ответы на 94,12% -82% Лабораторная работа №2 - РК6. Разработать программу перекодировки текстовых файлов из кодового набора КОИ-8 в кодовый набор ср1251 FREE Паскаль, 12 Вариант (2017) Февраль Февр-2000 Май Май-2000 Март Март-2000 Июнь Июнь-2000 |
на основе следующего запроса:
Код товара | Янв-2000 | Февр-2000 | Март-2000 | Апрель-2000 | Май-2000 | Июнь-2000 |
1 | 30 | 10 | 11 | 10 | ||
2 | 50 | 15 | ||||
3 | 10 | 12 |
При таком запросе результат выполнения формы будет выглядеть следующим образом:
Код товара 1 Январь 30 Апрель 11 Февраль Май Март 10 Июнь 10 |
Мы хотим рассчитать суммы продаж по каждому кварталу, а затем общую сумму за год.
Для этого необходимо добавить вычисляемые поля, складывающие значения по продажам по каждому кварталу. Однако, в некоторых месяцах объем продаж – пуст. При таких значениях Access не будет подсчитывать значения итоговых сумм. Для этого нужно сделать следующее:
1) выделив поля Янв-2000 и вызвать его Свойства. Во вкладке Данные будет стоять янв-2000 (имя поля исходного запроса). Нам нужно сделать так, чтобы если значение этого поля нулевые (is Null), то в в форме на ее месте должен находиться 0, а иначе – значение данного поля. Для этого в строке данные нужно вызвать построитель ___ и с помощью функций записать вражение:
iif(is Null([янв-2000]));0; [янв-2000]
2) во вкладке Имя изменить имя поля и Янв-2000 на Январь, т.к. при подсчетах суммы за квартал мы будем использовать теперь не поле исходного запроса Янв-2000, а наше расчетное поле. Поэтому их имена должны отличаться.
3) тоже самое проделать с остальными полями формы. В построителе выражений удобно использовать для ввода названий полей список полей формы.
4) под каждым столбец, содержащим данные по месяцам одного и того же квартала, добавить вычисляемое поле
Рекомендация для Вас - Механизм поиска буфера.
Итого = [Январь]+[Февраль]+[Март]
Обратите внимание, что для подсчета суммы используются не исходные поля [Янв-2000] и т.д., а имена вычисляемых полей [Январь] и т.д.
5) вызвать свойства добавленных ___ полей и присвоить им имена (вкладка Все, строка Имя): Квартал 1, Квартал 2…
6) добавить еще одно ____ поле, определяющее сумму продаж за год
Итого за год = [Квартал 1]+[Квартал 2]+…