Создание поля ввода с раскрывающимся списком



Если при описании структуры таблицы в режиме Конструктор для поля во вкладке Подстановка в строке Тип элемента управления был выбран тип Поле со списком и указан источник строк, то в режиме Автоформа поле со списком создается автоматически.

Создание поля со списком в режиме Конструктор осуществляется следующим образом.

Щелкают по кнопке  Поле со списком на панели элементов и в полосе Область данных, где будет располагаться поле. При этом загружается мастер и открывается первое диалоговое окно.

В первом окне указывают источник выбора списка – из таблицы или фиксированный список, щелкают по кнопке Далее.

В зависимости от предыдущего ответа или указывают таблицу и поле для списка, или вводят фиксированный список, щелкают по кнопке Далее.

Указывают, где сохранять список, щелкают по кнопке Далее.

Задают подпись и щелкают по кнопке Готово.

 

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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!