WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 |   ...   | 2 | 3 || 5 | 6 |   ...   | 9 |

3.В режиме конструктора копировать поле с кодом поставщика во внутренний буфер (выбрать поле, меню «Правка» _ пункт «Копировать»). Вставить поле на форму из внутреннего буфера. В качестве источника данных для нового поля выбрать Название.

Поменять значения свойств «Имя» для поля и «Подпись» для элемента «Надпись».

Просмотреть форму в режиме формы.

4.Открыть форму ФормаПоставщикиКопия в режиме конструктора. Выбрать все поля, кроме полей КодПоставщика и Название. Копировать эти поля во внутренний буфер.

Переключиться на новую форму и вставить в нее содержимое буфера. Разместить поля так, чтобы они друг друга не перекрывали. Просмотреть источники данных для перенесенных полей. Просмотреть форму в режиме формы. Сохранить форму под именем ФормаПоставщикиКопия1.

5.Чем отличаются формы ФормаПоставщикиКопия и ФормаПоставщикиКопия1 (возможно расположением полей и форма ФормаПоставщикиКопия1 позволяет делать удаление записей).

6. В форме ФормаПоставщикиКопия1 оставить 5 первых полей, остальные удалить.

Поджать форму так, чтобы она вмещала поля. Просмотреть форму в режиме формы.

7.В свойствах формы изменить свойство «Режим по умолчанию» (вкладка «Макет») на «Ленточные формы». Просмотреть форму в режиме формы. Чем данный режим отличается от режима «Простая форма» (Можно просмотреть несколько записей).

8. В свойствах формы изменить свойство «Режим по умолчанию» на «Режим таблицы». Просмотреть форму в режиме формы. Чем данный режим отличается от режима «Простая форма» и «Ленточные формы» (данные представлены в табличном виде, а не по отдельным полям).

Лабораторная работа №Открытие формы из другой формы по кнопке Цель: Приобрести умения и навыки при работе с формами. Научиться разными способами открывать формы.

1. Открыть форму ФормаПоставщикиКопия (или любую другую) из другой формы по кнопке.

1.1. Создать с помощью конструктора форму Запуск.

1.2. На панели элементов выбрать элемент «Кнопка» и перенести ее на форму. Начинает работать мастер создания кнопок. В списке «Категории» выбрать «Работа с формой», в списке «Действия» выбрать «Открытие формы», кнопка «Далее>». Выбрать в списке форму ФормаПоставщикиКопия (или другую), которая будет вызываться при нажатии данной кнопки, кнопка «Далее>». Выбрать «Открыть форму и показать все записи», кнопка «Далее>». Выбрать «Текст» и написать Открытие через процедуру формы, кнопка «Далее>». Имя кнопки оставить Кнопка0, кнопка «Готово».

1.3. В макете свойств формы убрать полосы прокрутки (свойство «Полосы прокрутки»), область выделения (свойство «Область выделения»), поле номера записи (свойство «Кнопки перехода»), разделительные линии (свойство «Разделительные линии»).

1.4. Изменить подпись к форме на Главная форма для запуска (свойство «Подпись»).

Просмотреть форму в режиме формы.

1.5. Просмотреть процедуру обработки кнопки (режим конструктора для формы, свойства для кнопки, вкладка «События», кнопка «...» справа от процедура обработки события в строке «Нажатие кнопки». Какая команда в коде открывает форму 1.6. Прочитать Help по команде Docmd (F1 на имени команды). Прочитать Help по методу OpenForm. Разобраться с аргументами.

Метод OpenForm выполняет макрокоманду ОткрытьФорму (OpenForm) в программе Visual Basic.

Синтаксис DoCmd.OpenForm имяФормы [, режим] [, имяФильтра] [, условиеWhere] [, режимДанных] [, режимОкна] [, аргументыОткрытия] Параметры (аргументы) в квадратных скобках являются необязательными. Метод OpenForm использует следующие аргументы.

Аргумент Описание имяФормы Строковое выражение, представляющее допустимое имя формы в текущей базе данных.

режим Одна из следующих встроенных констант acDesign (конструктор) acFormDS (таблица) acNormal (форма) - задает открытие формы в режиме формы (значение по умолчанию).

acPreview (просмотр) имяФильтра Строковое выражение, представляющее допустимое имя запроса в текущей базе данных.

условиеWhere Строковое выражение, представляющее допустимое предложение SQL WHERE без ключевого слова WHERE.

режимДанных Одна из следующих встроенных констант:

acFormAdd (добавление) acFormEdit (изменение) acFormPropertySettings (значения свойств) acFormReadOnly (только чтение) Если оставить данный аргумент пустым (предполагается значение по умолчанию acFormPropertySettings), Microsoft Access открывает форму в режиме данных, который определяется значениями свойств Разрешить изменение (AllowEdits), Разрешить удаление (AllowDeletions), Разрешить добавление (AllowAdditions) и Ввод данных (DataEntry).

режимОкна Одна из следующих встроенных констант:

acDialog (окно диалога) acHidden (невидимое) acIcon (значок) acWindowNormal (обычное) Если оставить данный аргумент пустым, подразумевается значение по умолчанию acWindowNormal.

аргументыОткрытия Строковое выражение, определяющее значение свойства формы OpenArgs. В дальнейшем это значение может быть использовано в программе в модуле формы, например, в процедуре обработки события Открытие (Open). Ссылки на свойство OpenArgs допускаются также в макросах и выражениях.

Необязательный аргумент посреди списка аргументов разрешается пропустить, однако, при этом необходимо ввести запятую, представляющую пропущенный аргумент. Если пустыми оставлены последние аргументы, вводить запятые вслед за последним указанным аргументом не требуется.

В следующем примере в форме «Сотрудники», открывающейся в режиме формы, выводятся только записи со значением «Иванов» в поле «Фамилия». Допускается изменение выводящихся записей и добавление новых.

DoCmd.OpenForm "Сотрудники",,,"Фамилия = 'Иванов'" 1.7. Запомнить имя кнопки (свойство «Имя», не подпись!). Изменить имя кнопки на OpenProc (Свойства кнопки, вкладка «Другие», свойство «Имя»). В режиме формы нажать на кнопку. Что происходит Почему В режиме конструктора для формы просмотреть процедуру обработки события «Нажатие кнопки». Что содержит процедура OpenProc_Click Найти процедуру Кнопка0_Click, изменить ее имя на OpenProc_Click, Сохранить, откомпилировать (меню «Debug», «Compile » или по кнопке на панели инструментов). Опробовать работу кнопки. Открывает форму 2. Открыть форму ФормаПоставщикиКопия (или любую другую) из формы Запуск по новой кнопке в режиме добавления новых записей в таблицу ПоставщикиКопия.

2.1. Копировать ранее созданную кнопку, вставить ее на форму Запуск. Подпись к кнопке Открытие через процедуру формы для добавления.

2.2. Дать кнопке имя OpenProcAdd (не подпись!). Создать для этой кнопки процедуру обработки события «Нажатие кнопки», копировав содержимое процедуры OpenProc.

Изменить аргументы в Docmd.OpenForm так, чтобы через форму ФормаПоставщикиКопия можно было только добавлять новые записи.

Откомпилировать процедуру. Опробовать добавление новой записи.

2.3. Проверить, что записи добавились (кнопка Открытие через процедуру формы ) 2.4. Сделать так, чтобы по кнопке Открытие через процедуру формы можно было только читать записи (Изменить аргументы в Docmd.OpenForm). Не забыть откомпилировать! Опробовать.

2.5. Сделать так, чтобы по кнопке Открытие через процедуру формы форма открывалась в режиме таблицы (Изменить аргументы в Docmd.OpenForm). Не забыть откомпилировать! Опробовать.

2.6. Используя форму Запуск, добавить новую запись в таблицу ПоставщикиКопия, просмотреть эту и другие записи таблицы, изменить последнюю добавленную запись. Что происходит Почему 2.7. Создать кнопку Открытие через процедуру формы для редактирования, которая бы позволяла редактировать записи в форме ФормаПоставщикиКопия.

2.8. Сделать так, чтобы по кнопке Открытие через процедуру формы можно было просматривать только поставщиков из Франции (Изменить аргументы в Docmd.OpenForm, Help и примеры) 3. В форму Запуск добавить новую кнопку Открытие из макроса, которая будет открывать форму ФормаПоставщикиКопия из макроса.

Макрос представляет собой набор из одной или нескольких макрокоманд (описание стандартных действий, которые нужно выполнить в ответ на определенное событие), каждая из которых выполняет определенное действие - например, открывает форму или отчет.

Макросы применяются для автоматизации часто выполняемых операций.

Рис. 24. Создание макроса 3.1. Добавить новую кнопку Открытие из макроса. На событие «Нажатие кнопки» создать макрос. Выбрать объект «Макросы», кнопка «Создать», выбрать в списке имя макрокоманды «Открыть форму», задать аргументы к макрокоманде, дать макросу имя sss1. Опробовать действие кнопки.

3.2. Создать кнопки, аналогичные кнопкам Открытие через процедуру формы....., но открывающие форму через макросы (sss1, sss2, sss3).

4. Создать кнопки, которые проделают действия аналогичные предыдущим, но через процедуры, которые будут находиться в модуле MyMod.

Модуль — это программа, написанная на языке Visual Basic for Applications (VBA).

Использование модулей позволяет автоматизировать выполнение сложных действий, которые нельзя описать с помощью макросов.

Рис. 24. Создание модуля 4.1. Создать новый модуль MyMod (Выбрать объект «Модули», кнопка «Создать»).

4.2. Вставить в модуль новую процедуру but1 (меню «Insert» (Вставка), «Procedure» (Процедура)), в которую перенести содержимое процедуры OpenProc_Click из формы Запуск.

4.3. Создать новую кнопку Открытие из модуля. В процедуре обработки события «Нажатие кнопки» сделать вызов процедуры but1. Не забыть откомпилировать.

Опробовать действие кнопки.

В результате вы должны получить форму Запуск с 9 кнопками, которые запускают открытие одной и той же формы, но в разных режимах для формы, в разных режимах работы с данными и разными способами открывают форму.

Общие сведения о подчиненных формах Подчиненная форма - это форма, находящаяся внутри другой формы. Первичная форма называется главной формой, а форма внутри формы называется подчиненной формой.

Вместе главная и подчиненная форма называются составной формой.

Подчиненная форма удобна для вывода данных из таблиц или запросов, связанных отношением "один-ко-многим".

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

При использовании формы с подчиненной формой для ввода новых записей текущая запись в главной форме сохраняется при входе в подчиненную форму. Это гарантирует, что записи из таблицы на стороне "многие" будут иметь связанную запись в таблице на стороне "один".

Это также автоматически сохраняет каждую запись, добавляемую в подчиненную форму.

Подчиненная форма может быть выведена в режиме таблицы, или она может быть выведена как простая или ленточная форма. Главная форма может быть выведена только как простая форма.

Главная форма может содержать любое число подчиненных форм, если каждая подчиненная форма помещается в главную форму. Имеется также возможность создавать подчиненные формы двух уровней вложенности. Это означает, что можно иметь подчиненную форму внутри главной формы, а другую подчиненную форму внутри этой подчиненной формы.

1. Создать форму ЗаказыФирмы, источником записей которой служит таблица Заказы, которая будет содержать подчиненную форму ЗаказаноПоЗаказу.

1.1. С помощью мастера форм создать форму ЗаказыФирмы (если мастер форм не установлен, создайте форму с помощью конструктора). Эта форма будет главной.

1.2. На панели элементов выбрать элемент «Подчиненная форма/отчет» и перенести ее на вашу форму. Когда запустится мастер создания подчиненных форм, выбрать «Имеющиеся Таблицы и Запросы», кнопка «Далее>», в списке таблиц выбрать Заказано, кнопка «Далее>». Выбрать «Самостоятельное определение», отобрать все поля, завязать формы по полю КодЗаказа (выбрать соответствующие поля из списков), кнопка «Далее>». Подчиненной форме дать имя ЗаказаноПоЗаказу, кнопка «Готово» (рис. 25). Просмотреть форму ЗаказыФирмы в режиме формы.

Рис. 25. Мастер создания подчиненных форм установил связь между главной и подчиненной формами 1.3. Изменить размер подчиненной формы так, чтобы было удобно просматривать записи внутри подчиненной формы.

1.4. Поперемещаться по заказам в главной форме. Что происходит внутри подчиненной формы 1.5. Какие товары заказаны в каждом заказе Удобно работать с кодами Как в поле КодТовара получить наименование товара Изучить каким образом сделана подстановка в поле КодТовара таблицы Заказано. Проделать то же самое для подчиненной формы ЗаказаноПоЗаказу (произвести соответствующие изменения в форме ЗаказаноПоЗаказу в режиме конструктора). Добиться, чтобы в поле КодТовара попадала строка названия товара. Просмотреть форму ЗаказыФирмы после этих изменений.

1.6. Создать запрос ЗаказыНовые, в который поместить все поля из таблицы Заказы.

Переименовать поле КодЗаказа в Код.

1.7. Поменять источник записей формы ЗаказыФирмы на запрос ЗаказыНовые. Изменить источник данных поля КодЗаказа формы ЗаказыФирмы. Просмотреть форму ЗаказыФирмы в режиме формы. Поля КодЗаказа в форме уже нет. Почему просят ввести значение параметра КодЗаказа Почему при переходе на новый заказ нет изменений в подчиненной форме 1.8. Открыть форму ЗаказыФирмы в режиме конструктора. Выбрать подчиненную форму и просмотреть ее свойства по данным.

Правильно ли указано свойство «Объект-источник» (имя подчиненной формы) Правильно ли выбраны «Подчиненные поля» ( поле(я), по которым организована связь в подчиненной форме) Правильно ли указано свойство «Основные поля» ( поле(я), по которым организована связь в главной форме) Сделать необходимые изменения. Просмотреть форму.

1.9. Подчиненную форму в главной форме вывести в режиме таблицы, в режиме ленточной формы, в режиме простой формы.

Все открытые формы MS Access автоматически помещает в коллекцию Application.Forms. Каждая форма представляется в виде объекта Form. Объект Form - нормальный объект, который имеет свойства, методы и события. Различные варианты обращения к форме через коллекцию форм показаны в табл.2.

Таблица 2.

Синтаксис Пример Описание Forms!formname Forms!OrderForm Обращение по имени формы.

Forms![form name] Forms![Order Form] Обращение по имени формы, когда в имени формы содержится пробел.

Forms("formname") Forms("OrderForm") Обращение по имени формы.

Forms(index) Forms(0) Обращение по номеру формы в коллекции форм. 0 первая форма в коллекции Чтобы вызвать свойство или метод внутри модуля формы следует написать me.ИмяСвойства me.ИмяМетода Все элементы управления на форме помещаются в коллекцию Controls, доступ к которой осуществляется через свойство Controls объекта Form. Различные варианты обращения к элементам управления на форме показаны в табл.3.

Таблица 3.

Пример Описание Forms!OrderForm!NewData Обращение по имени формы и имени элемента управления.

Me!NewData Обращение по имени элемента управления внутри модуля формы.

Me![New Data] Обращение по имени элемента управления внутри модуля формы, когда в имени содержится пробел.

Me("NewData") Обращение по имени элемента управления внутри модуля формы.

Me(0) Обращение к первому элементу коллекции.

Обращение к элементу управления на форме через коллекцию элементов управления представлено в табл. 4.

Таблица 4.

Пример Описание Forms!OrderForm.Controls!NewData Обращение по имени формы и имени элемента управления.

Me.Controls!NewData Обращение по имени элемента управления внутри модуля формы.

Me.Controls![New Data] Обращение по имени элемента управления внутри модуля формы, когда в имени содержится пробел.

Me.Controls("NewData") Обращение по имени элемента управления внутри модуля формы.

Me.Controls(0) Обращение к первому элементу коллекции.

Обращение к свойствам и элементам управления форм Mainform – имя главной формы Subform1 –имя подчиненной формы первого уровня Subform2 –имя подчиненной формы второго уровня ControlName – имя элемента управления формы Синтаксис обращения зависит от того, из какой формы на форму какого уровня вложенности ссылаетесь.

Pages:     | 1 |   ...   | 2 | 3 || 5 | 6 |   ...   | 9 |






© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.