Создание поля ввода с раскрывающимся списком
Если при описании структуры таблицы в режиме Конструктор для поля во вкладке Подстановка в строке Тип элемента управления был выбран тип Поле со списком и указан источник строк, то в режиме Автоформа поле со списком создается автоматически.
Создание поля со списком в режиме Конструктор осуществляется следующим образом.
Щелкают по кнопке Поле со списком на панели элементов и в полосе Область данных, где будет располагаться поле. При этом загружается мастер и открывается первое диалоговое окно.
В первом окне указывают источник выбора списка – из таблицы или фиксированный список, щелкают по кнопке Далее.
В зависимости от предыдущего ответа или указывают таблицу и поле для списка, или вводят фиксированный список, щелкают по кнопке Далее.
Указывают, где сохранять список, щелкают по кнопке Далее.
Задают подпись и щелкают по кнопке Готово.
3.4. Создание составной формы
Составная форма создается для ввода и редактирования данных в двух таблицах, между которыми существует связь один ко многим. Данная связь означает, что одна запись из одной таблицы (главной) связана с несколькими записями в другой таблице (подчиненной).
Создание составной формы с помощью мастера форм осуществляется следующим образом.
Переходят во вкладку Формы и щелкают по Создать.
В диалоговом окне Новая форма выбирают режим создания – Мастер форм, ОК.
|
|
В диалоговом окне Создание форм выбирают главную таблицу из списка Таблицы/Запросы и все поля данной таблицы, используя кнопку >>.
В диалоговом окне Создание форм выбирают подчиненную таблицу из списка Таблицы/Запросы и все поля данной таблицы, используя кнопку >>, щелкают по кнопке Далее.
В следующем окне определяют тип представления данных (выбирают главную таблицу), активизируют переключатель Подчиненные формы и щелкают по кнопке Далее.
В следующем диалоговом окне выбирают вариант представления подчиненной формы (табличный), щелкают по кнопке Далее.
В следующем окне выбирают стиль оформления форм, щелкают по кнопке Далее.
В последнем окне задают имя главной и подчиненной форм и щелкают по кнопке Готово.
3.5. Защита и контроль данных, вычисления в форме
Защита данных поля от изменения. Для защиты данных поля от изменения используется свойство Блокировка. Блокировка может быть установлена для любого поля формы. Чтобы защитить таким образом поле, надо, находясь в макете формы (режим Конструктор), выделить защищаемое поле и вызвать для него контекстное меню, в котором выбрать пункт Свойства. Затем в окне свойств во вкладке Данные в строке Блокировка выбрать Да. После установки этого свойства поле доступно только для чтения.
|
|
Вычисления в каждой записи формы. Чтобы произвести вычисления на основе данных одной записи в форме, необходимо создать вычисляемый элемент управления, в который записывается выражение. Для создания вычисляемого элемента управления надо открыть форму в режиме Конструктор и, нажав на панели элементов кнопку Поле (аб|),разместить вычисляемый элемент управления в нужном месте. Затем в объект свободный вносится выражение, в объект поле надпись. Выражение должно начинаться со знака равенства (=). В качестве операндов выражения чаще всего используются имена полей, константы, а в качестве операторов – знаки арифметических операций.
Для объекта с именем Свободный вызывают контекстное меню, выбирают пункт меню Свойства, вкладку Данные, строку Данные. При этом можно внести формулу в строке Данныевручную, а можно воспользоваться кнопкой Построитель выражений (…), которая находится в данной строке. В окне построителя выражений имеется панель кнопок с различными операторами и есть возможность выбрать из списка нужные поля (активизировав во второй нижней части окна строку <список полей>) и функции.
|
|
Вычисление итоговых значений для записей подчиненной формы и вывод их в основной форме. Основная форма и ее подчиненная форма строятся на основе таблиц, между которыми установлена связь типа «один-ко-многим». При этом в основной форме выводится только одна запись, а в подчиненной форме – несколько записей, которые подчинены ей. При расчете итогового значения для группы записей подчиненной формы вычисляемое поле может быть отображено в области данных основной формы.
Пример. Пусть требуется подсчитать для каждой модели суммарную продажу (Sum([Количество])) в подчиненной форме Продажа-ПФ и вывести эти данные в области данных главной формы Устройства-Продажа. Порядок действий следующий:
отобразить подчиненную форму Продажа-ПФ в режиме конструктора;
в данной форме в области примечания формы создать вычисляемый элемент управления (с помощью кнопки Поле панели элементов) и внести туда выражение, содержащее статистическую функцию подсчета суммы =Sum([Количество]); запомнить имя созданного элемента управления (допустим это было имя “Поле10”); сохранить произведенные действия и выйти из режима конструктора;
отобразить основную форму Устройства-Продажа в режиме конструктора; в основной части формы создать поле с помощью кнопки Поле на панели элементов и записать туда выражение:
|
|
= [Продажа-ПФ] . [Form]![Поле10]
Это выражение является ссылкой на элемент управления Поле10 в подчиненной форме.
Общий формат такой ссылки имеет вид:
Первый вариант ссылки
=[Имя подчиненной формы].[Form]![Имя поля в подчиненной форме]
Или второй вариант ссылки
=Forms![Имя главной формы]![Имя подчиненной формы]![Имя поля].
Например:
=Forms![Устройства-Продажа]![Продажа-ПФ]![Поле10]
Пересчет поля в главной форме при изменении или вводе значения в поле подчиненной формы. Пусть имеются основная форма Устройства-Продажа и подчиненная форма Продажа-ПФ для таблиц Устройства и Продажа, между которыми существует связь «один-ко-многим». Требуется пересчитывать поле Кол-во на складе в основной форме при изменении или вводе данных в поле Количество в подчиненной форме, если поле Количество меньше или равно поля Кол-во на складе, в противном случае выдать сообщение об ошибке и обеспечить повторный ввод информации. Порядок действий:
отобразить подчиненную форму Продажа-ПФ в режиме конструктора;
выделить поле Количество и открыть для него окно свойств (кнопка Свойства на панели инструментов или в контекстном меню пункт Свойства);
в окне свойств перейти во вкладку События, в строке После обновления щелкнуть по кнопке Построитель выражений, выбрать пункт меню Программы и щелкнуть по кнопке ОК; при этом мы попадаем в процедуру обработки события;
набрать следующие операторы
If forms![Устройства-Продажа]![Кол-во на складе]> [Количество] Then
forms![Устройства-Продажа]![Кол-во на складе] = forms![Устройства-Продажа]![Кол-во на складе] - [Количество]
Else
[Количество] = null
[Дата продажи].SetFocus
[Количество].SetFocus
MsgBox “ Количество больше количества на складе “, vbOKOnly
End If
сохранить процедуру, закрыть окна процедуры, свойств, конструирования формы.
4 ЗАПРОСЫ
4.1.Типы запросов
Существует несколько различных типов запросов:
запрос на выборку осуществляет загрузку и отображение записей в режиме таблицы;
перекрестный запрос позволяет выполнять статистические подсчеты (суммы, количество записей и средние значения) по данным одного поля таблицы. Результаты группируются в ячейках (пересечение строк и столбцов), соответствующих конкретным полям баз данных;
запрос на изменение выполняет операции с записями, удовлетворяющими заданным критериям: запрос на удаление удаляет из таблицы заданные записи; запрос на обновление изменяет соответствующие записи таблицы; запрос на добавление добавляет в конец таблицы новые записи, соответствующие заданным условиям отбора; запрос на создание таблицы создает новые таблицы, состоящие из заданных записей;
запрос с параметрами позволяет ввести информацию, используемую в качестве критериев отбора.
Все созданные и сохраненные запросы находятся во вкладке Запросы окна базы данных. Для запуска запроса и просмотра результатов его работы достаточно два раза щелкнуть по строке с его именем (или щелкнуть по имени запроса и по кнопке Открыть). После выполнения запроса на выборку на экран будут выведены только заданные поля каждой записи, удовлетворяющей критериям отбора.
4.2.Создание запросов в режиме Конструктор
ЗАПРОС НА ВЫБОРКУ ДАННЫХ
Порядок действий.
Создать, Конструктор, ОК.
Выбрать таблицы, участвующие в запросе (для выбора таблицы щелкают по имени таблицы и по кнопке Добавить, повторяют эти действия для каждой выбираемой таблицы), закрыть окно выбора таблиц (щелчок по кнопке Закрыть).
Выбрать поля, участвующие в запросе (для выбора поля дважды щелкают по имени поля или перетаскивают его в очередной пустой столбец, выбранное поле должно появится в пустом столбце в бланке запроса).
Задать условие поиска отбора (условие задают в строке Условие отбора в столбце, по которому производится поиск).
Примеры условий:
- найти виды устройств, начинающиеся на букву К – в столбце Вид в строке Условие отбора написать «К*»;
- найти записи с датой продажи 1.02.10 – в столбце Дата продажи в строке Условие отборанаписать #01.02.10#;
- найти записи, для которых даты продажи попадают в интервал от 5.02.10 до 6.02.10 – в столбце Дата продажи в строке Условие отборанаписать Between #05.02.10# And #06.02.10#;
- найти записи, для которых поле Количество имеет значение большее 100 – в столбце Количество в строке Условие отборанаписать >100.
Проверить работу запроса, находясь в режиме Конструктор, щелкнуть по кнопке Запуск (!) на панели инструментов; вернуться из просмотра в режим Конструктор (щелкнуть по кнопке Вид на панели инструментов).
Сохранить запрос, щелкнув по кнопке Сохранить на панели инструментов, ввести имя запроса (кроме имени укажите номер запроса, например: Запрос на выборку по наименованию (1а)).
Выйти из режима конструирования запроса (вид запроса в режиме Конструктор представлен ниже).
ЗАПРОС С ВЫЧИСЛЯЕМЫМ ПОЛЕМ
Порядок действий.
Создать, Конструктор, ОК.
Выбрать таблицы, участвующие в запросе (для выбора таблицы щелкают по имени таблицы и по кнопке Добавить, повторяют эти действия для каждой выбираемой таблицы), закрыть окно выбора таблиц (щелчок по кнопке Закрыть).
Выбрать поля, участвующие в запросе; для выбора поля дважды щелкают по имени поля или перетаскивают его в очередной пустой столбец, выбранное поле должно появится в пустом столбце в бланке запроса.
Стать (щелкнуть мышкой) в строке Поле пустого столбца (здесь будет находиться вычисляемое поле); щелкнуть мышкой по кнопке Построить на панели инструментов; при этом мы попадаем в окно Построителя выражений.
Создать формулу для вычислений, используя кнопки для набора знаков арифметических операций; для выбора полей, участвующих в вычислениях, поступают следующим образом – дважды щелкают по слову Таблицы, чтобы появился список таблиц базы данных, щелкают один раз по имени нужной таблицы, затем щелкают по имени нужного поля и по кнопке Вставить (поле при этом попадает в формулу); выбор таблиц и полей повторяют для каждого поля, участвующего в вычислениях, после того, как формула создана, щелкают по кнопке ОК. Например, формула, увеличивающая розничную цену на 10% будет следующей: =[Продажа]![Розничная цена]*1,1
Для задания заголовка и формата вычисляемого поля (курсор находится в вычисляемом поле) щелкают по кнопке Свойства на панели инструментов, в строке Подпись задают имя вычисляемого поля, в строке Формат выбирают из списка нужный формат, в строке Число десятичных знаков выбирают из списка количество цифр после запятой.
Проверить работу запроса в режиме Конструктор (щелкнуть по кнопке Запуск (!) на панели инструментов); вернуться из просмотра в режим Конструктор (щелкнуть по кнопке Вид на панели инструментов).
Сохранить запрос, щелкнув по кнопке Сохранить на панели инструментов, ввести имя запроса, выйти из режима конструирования.
Дата добавления: 2018-04-05; просмотров: 2400; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!