- •Введение
- •1. Создание базы данных средствами ms sql server
- •1.1. Структура базы данных
- •1.2. Создание баз данных в ms sql Server 2000
- •1.3. Создание таблиц базы данных в ms sql Server 2000
- •1.4. Типы данных в ms sql Server 2000
- •1.5. Управление пользователями
- •1.6. Способы обмена данными между Access и sql Server через odbc
- •1.7. Определение внешних источников данных в odbc
- •1.8. Связь с таблицами баз данных sql Server
- •1.9. Создание базы данных, таблиц, схемы данных средствами ms sql Server 2005
- •1.10. Обеспечение доступа к базе данных средствами ms sql Server 2005
- •1.11. Перенос базы данных на другой компьютер
- •1.12. Создание источника данных odbc и взаимодействие с приложением Access
- •2. Создание таблиц и схемы данных средствами субд access
- •2.1. Субд Microsoft Access
- •2.2. Объекты Access
- •Создание базы данных в Access 2003
- •Режимы создания таблиц базы данных в Access 2003
- •2.5. Создание таблицы в режиме Конструктор
- •2.6. Редактирование структуры таблицы
- •2.7. Создание и редактирование схемы данных
- •2.8. Ввод и редактирование данных
- •2.9. Создание базы данных, таблиц и схемы данных в Access 2007
- •Формы данных
- •3.1. Общие сведения о форме
- •3.2. Способы создания форм
- •3.3. Области и элементы формы в режиме Конструктор
- •3.4. Кнопки панели элементов
- •3.5. Создание однотабличной формы в режиме автоформы
- •3.6. Редактирование формы в режиме Конструктор
- •3.7. Создание составной формы
- •3.8. Ограничения доступа к данным через форму
- •3.9. Вычисления в форме
- •3.10. Создание форм в Access 2007
- •Запросы
- •Основы разработки запросов
- •Типы запросов
- •Создание запросов на выборку данных в режиме
- •Создание вычисляемого поля в запросе
- •4.5. Создание запроса с групповыми вычислениями
- •4.6. Создание параметрических запросов
- •4.7. Создание перекрестных запросов
- •4.8. Запрос на создание новой таблицы
- •4.9. Запрос на добавление записей
- •4.10. Запрос на удаление записей
- •4.11. Запрос на обновление записей
- •4.12. Создание запросов в Access 2007
- •5.1. Способы создания отчетов
- •Типы элементов управления
- •Создание надписей в отчете
- •Создание связных элементов (полей)
- •Создание вычисляемых элементов
- •Группирование записей в отчете
- •Создание отчета с помощью мастера отчетов
- •Создание отчета в режиме Конструктор
- •6. Заполнение полосы Верхний колонтитул.
- •7. Заполнение полосы Заголовок группы.
- •8. Заполнение полосы Область данных.
- •9. Заполнение полосы Примечание группы.
- •10. Заполнение полосы Нижний колонтитул.
- •11. Заполнение полосы Примечание отчета.
- •Экзаменационная ведомость Факультет Шифр группы Дисциплина
- •Списки групп
- •5.9. Создание отчетов в Access 2007
- •Создание макросов
- •6.1. Основы создания макросов
- •6.2. Формирование макрокоманд
- •6.3. Создание группы макросов
- •6.4. Использование условий в макросе
- •6.5. Создание макросов с использованием ссылок на объекты
- •6.6. Организация выполнения макроса
- •6.7. Выполнение макроса с наступлением события
- •6.8. Создание кнопки запуска макроса в форме
- •6.9. Пример создания макроса для решения задачи, использующей запросы
- •6.10. Пример создания макроса, работающего с данными нескольких объектов
- •Создание модулей
- •Общие сведения о языке vba
- •Модель объектов приложения Access
- •Модель объектов доступа к данным
- •Описание переменных
- •Операторы присваивания
- •Описание констант
- •Операторы управления выполнением программ
- •Операторы организации цикла:
- •Использование объекта Recordset
- •Выполнение процедур vba
- •7.10. Примеры модулей
- •Пример 3. Рассчитать суммарную поставку по каждому индексу товара в таблице поставка.
- •Пример 4. Создать новую таблицу Продукты из двух полей Индекс товара и Название, обеспечить ввод данных в эту таблицу.
- •Для решения задачи необходимо создать форму Поставщики_Города нижеследующего вида и связать с ней процедуру.
- •Пример 6. Открыть таблицу Товары, прочесть и вывести на экран все записи.
- •Пример 7. Выбор записей из таблицы Поставка для товара с кодом 123.
- •Пример 8. Выбор данных из связанных таблиц Товары и Поставка, связанных по индексу товара.
- •Пример 9. Выбор данных из трех связанных таблиц Товары, Поставщики и Поставка.
- •Пример 10. Поиск записей по наименованию товара (не ключевое поле) в таблице Товары и вывод найденных записей.
- •Пример 11. Поиск записей по дате поступления (не ключевое поле) в таблице Поставка и вывод найденных записей.
- •Пример 12. Поиск записей по индексу товара в таблице Товары и замена поля Розничная цена.
- •Пример 13. Поиск записей в таблице Товары для записей, где поле Розничная цена меньше заданной.
- •Управление приложением пользователя
- •Создание панели управления приложением с помощью диспетчера
- •Добавление рисунка в кнопочную форму
- •Создание кнопочной формы в режиме конструктора
- •Запуск Access с открытием приложения пользователя
- •Задания по разработке баз данных и приложений для работы с ними
- •Продажа бензина за ________________
- •6. Создать макросы
- •7. Создать модули
- •8. Создать панель управления приложением
- •4. Создать запросы.
- •Периодичность
- •Справка о продаже билетов
- •6. Создать макросы
- •7. Создать модули
- •8. Создать панель управления приложением
- •4. Создать запросы.
- •6. Создать макросы.
- •7. Создать модули.
- •8. Создать панель управления приложением.
- •4. Создать запросы.
- •Расписание работы
- •Список сотрудников
- •Список больных фио врача Дата посещения
- •6. Создать макросы
- •7. Создать модули
- •8. Создать панель управления приложением
- •Итоговая ведомость замен
- •6. Создать макросы
- •7. Создать модули
- •8. Создать панель управления приложением
- •4. Создать запросы.
- •5. Создать отчеты.
- •Факультет __________ Группа ______
- •Выдача книг
- •6. Создать макросы.
- •7. Создать модули.
- •8. Создать панель управления приложением.
- •4. Создать запросы.
- •5. Создать отчеты.
- •Список автомобилей
- •Список водителей
- •6. Создать макросы.
- •7. Создать модули.
- •8. Создать панель управления приложением
- •4. Создать запросы.
- •5. Создать отчеты.
- •Транзисторы
- •Справка о продаже транзисторов
- •6. Создать макросы.
- •7. Создать модули.
- •8. Создать панель управления приложением.
- •4. Создать запросы.
- •5. Создать отчеты.
- •Выпрямительные диоды
- •Закупка приборов
- •6. Создать макросы.
- •7. Создать модули.
- •8. Создать панель управления приложением.
- •4. Создать запросы.
- •5. Создать отчеты.
- •Сводная ведомость, дата
- •Справка о поставках мебели
- •6. Создать макросы.
- •7. Создать модули.
- •8. Создать панель управления приложением.
- •Библиографический список
- •Оглавление
6.10. Пример создания макроса, работающего с данными нескольких объектов
Пусть необходимо в сеансе ввода данных в таблицу УСПЕВАЕМОСТЬ подготавливать и выводить отчет о полученных студентами двойках. Для решения задачи необходимо при заполнении таблицы УСПЕВАЕМОСТЬ через форму УСПЕВАЕМОСТЬ данными о результатах экзаменов подключить макрос, который будет заполнять таблицу Двоечники. По завершении заполнения таблицы УСПЕВАЕМОСТЬ макрос должен распечатывать соответствующий отчет. Таблицу ДВОЕЧНИКИ перед заполнением надо очищать от данных предыдущего ввода.
Макрос «Списки двоечников», реализующий такую задачу, является группой из трех макросов (табл. 6.4.).
Таблица 6.4
Макрос «Списки двоечников»
Имя макроса |
Условие |
Макрокоманда |
Примечание |
Начало |
|
СдвигРазмер |
Установить положение окна формы УСПЕВАЕМОСТЬ |
|
|
Открыть форму |
Двоечники |
|
|
Выделить объект |
Форму Двоечники |
|
|
Выполнить команду |
SelectAllRecords – Правка|Выделить все записи |
|
|
Выполнить команду |
Delete – Правка|Удалить |
|
|
СдвигРазмер |
Установить положение окна формы ДВОЕЧНИКИ |
Продолжение табл. 6.4
Формирование |
[ОЦЕНКА]=2 |
НаЗапись |
Сделать текущей новую запись в форме Двоечники |
|
… |
ЗадатьЗначение |
Присвоить полям в текущей записи формы Двоечники значения из полей текущей записи формы Успеваемость |
|
… |
ЗадатьЗначение |
Задать значение второго поля |
|
… |
ЗадатьЗначение |
Задать значение третьего поля и т.д. |
|
… |
ЗадатьЗначение |
Задать значение последнего поля |
Отчет |
|
ОткрытьОтчет |
Двоечники |
|
|
Закрыть |
Форму Двоечники |
Макрос «Начало» открывает форму, используемую для заполнения таблицы ДВОЕЧНИКИ, очищает таблицу от данных, подготавливая ее к сеансу работы с экзаменационными ведомостями. Для выполнения этого макроса в момент, когда пользователь открывает форму УСПЕВАЕМОСТЬ, в свойствах формы в строку события «Открытие» (On Open) надо ввести имя макроса:
[Списки двоечников].[Начало]
Второй макрос, «Формирование», анализирует введенную оценку и в зависимости от результата формирует новую запись в таблице ДВОЕЧНИКИ.
При вводе удовлетворительной оценки макрос не формирует запись. Чтобы макрос выполнялся при обновлении каждой записи в форме УСПЕВАЕМОСТЬ, в свойствах формы в строке события «После обновления» (After Update) надо ввести имя макроса:
[Списки двоечников].[Формирование]
Предполагается, что таблица ДВОЕЧНИКИ имеет ключи, которые не допускают повторного ввода записи с одинаковым значением ключа. В противном случае запись об одной и той же оценке может повторяться в формируемой таблице, если пользователь неоднократно работает с записью. Если необходимо предусмотреть такой вариант, то вместо макрокоманды «НаЗапись» можно использовать макрокоманду «ПрименитьФильтр». С помощью этой макрокоманды можно отфильтровать формируемую таблицу, и, если там уже есть запись именно об этой оценке студента, она просто будет записана поверх старой, т.е. ее полям повторно будут присвоены те же значения.
Третий макрос, «Отчет», открывает отчет с данными об оценках, введенных в таблицу ДВОЕЧНИКИ, и закрывает форму ДВОЕЧНИКИ. Для того, чтобы макрос выполнялся при закрытии пользователем формы УСПЕВАЕМОСТЬ, в свойствах формы в строке события «Закрытие» (On Close) вводится имя этого макроса:
[Списки двоечников].[Отчет]
Рассмотрим назначение макрокоманд в макросе «Начало».
Макрокоманда «СдвигРазмер» (MoveSize) позволяет задать размер и местоположение окна активного объекта. С помощью данной макрокоманды можно получить удобное отображение всех форм. Это позволит наблюдать синхронный процесс ввода данных и заполнения таблицы для отчета.
Макрокоманда «ВыделитьОбъект» (SelectObject) делает текущей указанную в аргументе форму Двоечники. Это позволяет в следующих макрокомандах выполнять команды меню для этого объекта.
Макрокоманда «ВыполнитьКоманду» (RunCommand) автоматически выполняет команду стандартного меню, заданную в ее аргументах. Вызов этой макрокоманды эквивалентен выбору пользователем указанной команды в стандартном меню Access. Первая из написанных в макросе команд «ВыполнитьКоманду» (RunCommand) выполняет заданную в аргументах макрокоманды команду (Command) - SelectAllRecords (Выделить все записи), что равносильно выполнению этой команды в меню Правка (Edit). Вторая - выполняет команду (Command) Delete (Удалить) также принадлежащую меню Правка.
Обязательный аргумент <команда> (Command) указывает команду, которую следует выполнить. В раскрывающемся списке этой строки выводятся все команды стандартного меню Access. Однако выбирать следует только те команды, которые доступны для выполнения в текущем режиме.
Рассмотрим назначение макрокоманд в макросе «Формирование».
Макрокоманда «НаЗапись» (GoToRecord) позволяет сделать текущей новую запись в форме ДВОЕЧНИКИ. Имя этой формы указывается в аргументах макрокоманды. В аргументе <Запись> (Next) указывается, что новая запись должна стать текущей. Макрокоманда и четыре последующие за ней макрокоманды, в условиях которых стоит многоточие, будут выполняться только в том случае, если в текущей записи формы УСПЕВАЕМОСТЬ в поле ОЦЕНКА стоит двойка.
Макрокоманды «ЗадатьЗначение» (SetValue) присваивают полям новой записи формы ДВОЕЧНИКИ значения из полей текущей записи формы УСПЕВАЕМОСТЬ. Аргумент макрокоманды <Элемент> (Item) определяет поле, которому должно присваиваться значение. Аргумент <Выражение> (Expression) определяет поле, из которого выбирается это значение.
В аргументе <Элемент> (Item) может быть задана ссылка
Forms!Двоечники![имя поля].
В аргументе <Выражение> (Expression) может быть задана ссылка
Forms!Успеваемость![имя поля].
Рассмотрим назначение макрокоманд в макросе «Отчет».
Макрокоманда «ОткрытьОтчет» (OpenReport) выводит отчет на экран в режиме предварительного просмотра. Имя отчета и режим его открытия указываются аргументами макрокоманды. Если нет необходимости просматривать отчет, можно сразу получить печатный документ, установив в аргументе режим печати. Отчет, открытый для просмотра, будет отображаться на экране до тех пор, пока пользователь не закроет его.
Макрокоманда «Закрыть» (Close) закрывает форму ДВОЕЧНИКИ, имя которой указывается в аргументе макрокоманды.
Связывание макроса с событиями, возникающими в форме Успеваемость:
закладка Формы, выделить форму Успеваемость, кнопка Конструктор;
Правка, Выделить форму, открыть окно свойств формы (кнопка Свойства на панели инструментов);
закладка События, в строке события Открытие выбрать из списка Макрос.Начало;
в строке события После обновления выбрать из списка Макрос.Формирование;
в строке события Закрытие выбрать из списка Макрос.Отчет;
закрыть окно свойств, кнопка Сохранить и выйти из режима Конструктор.
