Access-97

(основной инструмент конструирования баз данных

в Microsoft Windows).

    но не единственный; главное преимущество – связь с остальными программами Microsoft Windows (Excel, Word и т. д.).

Теория проектирования баз данных:

База данных (Database) – «камера хранения информации».

Самый распространенный вид – реляционные базы данных:

o  сохраняют данные в таблицах, которые состоят из строк, называемых записями, и столбцов, называемых полями;

o  позволяют считывать подмножества данных из таблиц (или создавать запросы на них);

o  позволяют связывать таблицы друг с другом (или создавать их объединения) для выборки связанных записей, хранимых в различных таблицах.

Основные функции базы данных обеспечиваются процессором баз данных (database engine), т. е. программной системой, «отвечающей» за способ хранения данных и их выборку. В Access и VB используется Microsoft Jet 3.51. Есть еще один совершенно иной механизм управления базами данных – Microsoft SQL Server.

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

Таблицы содержат записи – отдельные структуры данных.

Записи в свою очередь состоят из полей. Поле – это некоторый раздел данных в записи. Поля среди программистов и постановщиков имеют еще одно название «реквизиты» Базы данных или справочника. А фактически – это названия столбцов таблицы.

Проектирование базы данных (далее БД) :

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

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

Первостепенным фактором в работе баз данных является скорость выборки данных.

Также эффективность работы баз данных зависит от продуманности структуры таблиц, т. е. одна таблица должна включать поля, относящиеся к определенной категории данных. Например, все записи о клиентах должны храниться к таблице Customer, а записи о заказах, оформляемых этими клиентами, - в таблице Orders и т. д. Если необходимые данные расположены в двух или нескольких таблицах реляционной базы, Вы можете получить доступ к ним, используя отношения между таблицами (реляционные, от английского «relation»-отношение, связь, зависимость).

Проектирование таблиц и отношений:

В базе данных «Кадры» есть поле Цех (наименование), а сам перечень цехов предприятия с дополнительными характеристиками по цеху находится в справочнике-таблице «Цех».

Отношение между таблицей «Цех» и базой данных «Кадры» – один - ко - многим, так как для каждой записи в первой таблице могут быть соответствующими по наименованию цеха одна или несколько записей второй таблицы. 1-я таблица называется главной (адресуемой), а вторая таблица – внешней (адресующей).

Имя каждой таблицы желательно начинать с префикса tbl для определения (особенно при программировании в Visual Basic <далее VB>), что Вы имеете дело с таблицей. Но этот префикс можно пропускать, если Вы внимательно работаете с именами файлов и полей…

Однако, не стоит давать слишком длинные имена таблицам, т. к. это затем сказывается на усложнении и длине запросов и т. д.

Каждое имя поля должно состоять из полных слов или понятных сокращений, но не включая пробелов и специальных символов (например, подчеркивания), хотя это и не запрещено.

Access и VB обрабатывают эти символы, но автору БД трудно запомнить точное написание имени поля, отчего происходит множество ошибок, затрудняющих, как построение таблиц, запросов, форм и т. д. непосредственно в Access, так и создание программного кода в VB.

Отношение один-к-одному используется достаточно редко, так как для одной записи в первой таблице соответствует единственная запись второй таблицы. И наоборот. В этом случае данные проще поместить в одну таблицу. Но иногда полезно разделить единую по ключу информацию в разных базах. Например, в первой базе – общие данные по персоналу, а во второй – адрес, телефон, оклад и другие более-менее «секретные» данные. Один человек в этих базах будет иметь один и тот же ключ.

Отношение многие-ко-многим используется достаточно часто. Многим записям в первой таблице соответствует много записей второй таблицы. И наоборот. Для решения такой связи необходимо создавать промежуточную связывающую таблицу, включающую ключи из обеих таблиц. Поэтому ключ будет содержать два поля (выделить оба поля и нажать на иконку «ключ»).

Access & Visual Basic:

o  Имена таблиц и полей лучше писать по-английски! Так как VB не воспринимает некоторые русские буквы (например, « Ч » и « Ц »). Иначе имена и таблиц нужно заключать в квадратные скобки.

o  Необходимо иметь в виду, что некоторые типы данных VB не отображаются в конструкторе таблиц Access.

o  Редактировать существующую БД удобнее в Access, т. к. в любое время можно в Конструкторе изменить любую часть таблицы, а в VB, чтобы изменить свойства поля с помощью Visual Data Manager, его нужно удалить и снова ввести с новыми свойствами!

НЕ нашли? Не то? Что вы ищете?

Методология проектирования баз данных:

Настоятельно требует учитывать следующее:

o  проблемы какого рода можно решить с помощью программного продукта;

o  как будет выглядеть программное приложение;

o  как оно будет построено.

Прежде, чем конструировать базу данных, нужно ответить на эти вопросы.

Информация в процессе проектирования подразделяется на нормативную и справочную (НСИ) и переменную информацию. НСИ редко изменяется в процессе эксплуатации задач. А с переменной информацией идет постоянная работа. Базы данных включают реквизиты НСИ с помощью отношений (связей), описанных в полях БД и Схеме связей.

Реализация проектирования баз данных на практике:

Использование Мастеров БД:

При запуске Access выбрать пункт «Мастер БД». Нажать кнопку «Базы данных», и появится перечень предлагаемых стандартных вариантов БД.

Указывать «галочкой» в пункте «Включать образцы данных» для подключения предлагаемых данных. Позже их можно удалить. Но просматривать работу форм и запросов лучше с конкретными данными.

Вид оформления – обычный.

Стиль печати – компактный.

Ввод имён полей баз данных и их свойств:

Поля вводятся в таблицу в режиме “Конструктора”.

Левая (первая) колонка – имя поля. Редактирование: два щелчка левой кнопкой мыши или, как в Excel, нажатием кнопки <F2>.

В закладке «Общие» - характеристика «Подпись» – указывает надпись на поле в создаваемых Формах, Запросах и Отчетах, независимо от связей по ключам.

Поле типа «Счетчик»:

Обычно является ключом таблицы. Такой ключ называют «не дружественным», так как он ничего больше не определяет, кроме оригинальности записей по данному полю. При отсутствии указанного ключа, Access сам создаст ключ.

Указание, что поле является Ключом, осуществляется выделением поля и нажатием иконки «ключ». Можно несколько полей сделать ключевыми, предварительно их выделив. Это м. б. применено в связывающих таблицах при связи многие-ко-многим (см. выше). Аналогично производится и отмена «ключа».

Два ключа и поля типа «Счетчик» в одной БД быть не может, поэтому сначала нужно снять признак ключа с поля, его удалить и ввести новое поле типа «счетчик». Нумерация будет Access производиться автоматически.

Текстовое поле: - Главная характеристика – размер поля.

Числовое поле:

Главная характеристика – вид поля: целое или дробное.

Целые числа имеют следующие разновидности: байт, целое и длинное целое (в зависимости от его размера).

Дробные числа (с плавающей точкой) размером в 4 и 8 байт. Необходимо указать количество десятичных знаков после «плавающей» точки. Или предложить Access определять ее положение автоматически.

Поле типа «Дата»:

Тип данных выбрать – “Дата – время”.

Формат поля – «Краткий формат даты» - самый удобный при вводе данных.

Далее подбираем маску ввода:

o  сначала надо снова выбрать Краткий формат даты;

o  ввести поле для проверки (предлагается с разделителем в виде символа «_»);

o  нажать кнопку «Далее»;

o  по умолчанию предлагается разделитель в виде символа «_», соглашаемся;

o  проверить поле на ввод;

o  нажать кнопку «Далее»;

o  нажать кнопку «Готово».

Теперь будет предлагаться ввод даты в таком виде: «__.__.__».

Ввод связи между полем базы данных и полем из справочника:

1-й путь:

Если в Справочнике необходимое поле, например, Наименование цеха или Должности, стоит первым в перечне полей, можно указать подключение данного поля к Базе данных с помощью пункта «Подстановка» (в нижней части экрана).

Для «Типа элемента управления» из ниспадающего списка необходимо выбрать «Поле со списком».

«Тип источника строк» – «Таблица-запрос».

В поле «Источник строк» выбрать необходимую таблицу. Из нее подключено первое поле.

При вводе БД будет раскрываться список с одним полем из справочника для записи этой информации в БД!

2-й путь:

Реализуется, если нужное поле не является первым в перечне полей.

Во второй колонке таблицы (тип данных) выбрать из ниспадающего списка пункт «Мастер подстановок».

Оставляем выбор радио-кнопки «столбец использует значения из Таблицы».

Далее выбираем таблицу из списка.

Далее указываем поля, которые будут в столбцах подстановки. Поле ключа можно не указывать. Оно будет использовано автоматически. «>>» - все поля из справочника. «>» - по одному указанному выделенному полю.

Далее показано, как будет выглядеть Подстановка. Можно изменить ширину полей (черта между полями или в конце наименования столбца).

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

Далее выбрать «Доступное поле» - уникальное поле строки. Обычно – это счетчик. При наличии другого оригинального поля нужно выбрать его. Данное поле будет «Внешним» ключом для данной базы данных.

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

Закончить.

Access потребует сохранить таблицу.

В источнике строк появляется фраза: Select distinctrow [Поле-1],[Поле-2] from [таблица];

Остальные реквизиты:

o  присоединяемый столбец – 1 (а не 0, как при одном столбце);

o  столбцов – 2;

o  ширина столбцов - 0; 3; - т. е. ширина списка – 3 см.

Если ключевое поле имело тип «счетчик», тогда связанное будет числом (длинное целое), хотя выбор в работе показывает текст. И показывается (как бы записано в файл) только первое левое поле из перечня колонок в списке выбора.

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

Список будет отсортирован по Счетчику, а не по наименованию, как хотелось бы. Чтобы это изменить, нужно сделать исправления в команде SQL (пункт Order – сортировка).

При вводе БД будет раскрываться список с несколькими полями из справочника для записи этой информации в БД! Одно из выбранных полей и будет показано. Но в БД будет записываться номер Счетчика, что необходимо учитывать при обработке данных файлов в VB!

Ввод информации в базу данных:

Чтобы попасть в режим ввода и редактирования Базы данных:

o  два щелчка на имени базы данных;

o  встать на БД и нажать кнопку «Открыть».

Изменение ширины строк производится аналогично Excel движением границы между строками вниз или вверх. Но при этом в отличие от Excel указанная ширина будет одинаковой для всех строк.

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

Одновременным нажатием клавиш «Ctrl», «+» и «’» (апостроф) можно скопировать верхнее поле. Хотя нажатие этих клавиш не очень удобное. Проще использовать комбинацию клавиш «Ctrl» + «C» (копировать) и «Ctrl» + «V» (вставить скопированный текст).

Внимание: Выйти из режима «Ввода и редактирования» без отмены внесенных изменений нельзя, т. к. Access спрашивает про необходимость сохранения изменений только при наличии одновременных с вводом данных изменений ширины полей и т. д., т. е. структуры таблицы!!!

Объединение однородных таблиц с разными данными:

Выбрать первую таблицу, которая м. б. уже участвует в связках по коду с другими таблицами. Указать команду «Копировать». Затем дать команду «Поместить». Ввести имя новой таблицы. Для добавочной таблицы в группе «Параметры вставки» выбрать пункт «Добавление данных».

Сортировка данных:

Встать на любое поле в таблице. Нажать на кнопку от А до Я (стрелка вниз) при сортировке по возрастанию (и от Я до А при обратной сортировке). Аналогично и с цифровыми полями.

Если нужно сделать сортировку по нескольким полям, нужно выделить эти столбцы ( щелчок по названию столбца, и не отрывая протянуть на столько столбцов, по которым нам нужна сортировка), меню «Записи» - сортировка – по возрастанию или убыванию.

Поиск записи:

Производится аналогично и в режиме Таблицы и в Формах.

Встать на поле, нажать на иконку «бинокль». Если производится выбор по первым буквам, выбрать из списка пункт «С начала поля».

Фильтрация записей:

Производится в режиме Таблицы.

Фильтр по выделенному:

Встать на поле. Нажать на иконку «Фильтр по выделенному». В списке останутся только записи с аналогичным названием поля.

Чтобы сделать следующий фильтр нужно удалить предыдущий по соответствующей иконке.

При вызове контекстного меню (правая кнопка) и выборе пункта «Исключить выделенное» будут показаны все записи с названиями отличными от указанного в активном поле.

Фильтр по условию:

Выбрать иконку «Изменить фильтр». Появляется пустое окно. Если в нём всё же есть записи, нажать кнопку «Очистить бланк».

Выбрать вкладку «Найти» в левой нижней части экрана. Выбрать из списка Первое значение из списка данных по реквизиту.

Если нужны ещё условия, нажать на кнопку «Или» рядом с предыдущей. Выбрать следующую характеристику. Появляется правее новая кнопка «Или» для следующего дополнительного отбора.

По окончании указания условий отбора, выбрать иконку «Применение фильтра».

Создание схемы базы данных:

Схема – «дорожная карта» Вашей базы данных.

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

Запускается из пункта меню «Сервис» – подменю «Схема данных».

Вначале, если не было схемы, появляется пустое поле.

Контекстное меню – пункт «Добавить таблицу». Далее ее необходимо выбрать из списка. Нажать кнопку «Закрыть», и таблица появится в поле.

Далее аналогично выбрать следующую таблицу.

Желательно выбирать таблицы в порядке отношения 1-ко-многим.

Щелчком на ключевом поле 1-й таблицы и тянем к полю вторичного ключа в следующей таблице. Над ним отпускаем кнопку мыши. Появляется Связь.

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

Можно также выбрать пункт «Удалить связь» и создать ее заново.

Главную роль играет нажатие на кнопку «Объединение». От выбора одного из трех пунктов зависит показ данных из баз на основе указанной связи. Предпочтительно указывать 1-й пункт «Объединение только тех записей, которые совпадают», что логично.

Очень важно указать виды обеспечения целостности данных. Предпочтительно все выделить галочкой:

o  каскадное обновление связанных полей (изменение ключевого поля приведет к изменению его значения в связанной базе данных);

o  каскадное удаление связанных данных (аналогично предыдущему пункту будет произведено удаление). Но при программировании желательно вставлять дополнительную проверку на аналогичном стиле удаления, т. к. удаление одной основной записи по цеху приведет к удалению всего списка персонала по цеху в связанной базе данных. А такая операция м. б. вызвана ошибочно!!!

Но при отсутствии указания обеспечения целостности данных теряются одно из преимущества взаимосвязей между данными.

Если появляются ошибки, значит, есть ошибки в организации и объявлении полей основного и вторичного ключа.

Копирование структуры таблицы в Базе Данных:

Выбрать таблицу. Вызвать правой кнопкой контекстное меню и выбрать пункт «Сохранить, как экспорт». Ниже отметить «галочкой» радио-кнопку «В текущей базе». Сказать «Да». Будет предложено имя предыдущей таблицы. Убрать слово «копия» и лишние кавычки, дав новое название. Существующая таблица появится с новым именем.

Создание Запросов:

(основной режим получения сгруппированных результатов конструирования БД в Access):

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

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

Результат работы запроса называется выборкой. Выборка не сохраняется в базе данных; она создается заново каждый раз при выполнении запроса и уничтожается при его закрытии.

Сначала нужно определить: какая информация нам нужна для запроса; в каких базах данных и таблицах она хранится; принципы создания выборки.

Чтобы извлечь информацию из нескольких таблиц – они предварительно должны быть связаны. Таблицы могут быть связаны непосредственно в Запросе (а не в схеме данных), главное, чтобы связываемые поля имели один и тот же тип и размер данных.

Меню «Запросы».

Новый запрос – нажать кнопку «Создать».

Виды стилей формирования запросов:

1.  Режим «Конструктор» – «ручное» создание запроса:

На вкладке «Запросы» нажимаем кнопку «Создать». Выбираем режим «Конструктор»;

Выбираем таблицу (типа – справочник или БД) и нажимаем кнопку «Закрыть»;

Выбираем связанный с запросом справочник или базу данных и нажимаем кнопку «Закрыть». Они, вместе со связкой по соответствующим полям, появятся в верхней части экрана создания Запроса – схема данных данного запроса (при наличии заранее заданной связки). Например, справочник «Цеха» и База данных «Личные карточки», связанные по полю «Цех».

Далее необходимо в колонках Запроса выбрать в каждом столбце:

o  таблицу

o  поле из таблицы

o  вид сортировки

или

Два щелчка на поле в схеме данных текущего запроса.

Далее закрыть запрос – ответить «Да» на вопрос о сохранении запроса - и ввести его название. Или заранее нажать на иконку «дискета» для сохранения запроса. Тогда дополнительный вопрос не появится.

Подсчеты по количеству необходимо делать в виде макросов или «выражений».

Запуск запроса в работу – кнопка «Открыть».

Если не устраивает сортировка данных, можно ее осуществить с помощью выбора поля в столбце и нажатия кнопок <А-Я> или <Я-А> (см. выше – сортировка данных).

«S» - указание группировки по данному полю.

2.  Режим «Простой запрос» –

( для показа суммирования в одной колонке):

На вкладке «Запросы» нажимаем кнопку «Создать». Выбираем режим «Конструктор»;

Выбираем таблицу или Запрос, указываем поля (все или выборочно).

Далее нужно указать: подсчет для всех или Итоги.

Если интересуют Итоги – нужно нажать на кнопку <Итоги>. Так как цифровых полей нет, то Access сам предложит вариант «Подсчет количества записей KartPers».

Необходимо включить флажок. Далее даем название таблице и получаем сумму персонала по цехам (на основе выше описанного сделанного в Конструкторе Запроса).

3.  Режим «Перекрестный запрос» –

( для создания всевозможных подсчетов на базе Схемы данных):

Данный запрос строится на основании продуманных заранее взаимосвязей и, обычно, на основе сводной Базы данных.

Сначала необходимо выбрать базу данных. Обычно – основную. В работе с Кадрами - это БД «Личные карточки».

Далее нужно выбрать одно – три поля – для организации строк – уровни вложения полей.

И одно поле для организации расчетов. В нем необходимо выбрать вид вычислений: Count (подсчет количества – например, персонала по цехам, должностям и т. д.), Sum (сумма – например, сумма окладов, зарплаты и т. д.). Расчеты производятся по выбранным полям.

Пример создания простого запроса из БД «Персонал» (Личные карточки):

-  выбрать 1-е поле (например, цех) – высший уровень;

-  выбрать 2-е поле (например, должность) – второй уровень.

Далее для простого подсчета количества выбрать функцию «Count».

Получаем запрос по цехам (всего персонала), в том числе по должностям.

При необходимости подсчета сумм (например, зарплаты) необходимо на третьем уровне выбрать поле цифрового типа (например, «оклад») и функцию сумма».

Далее разработчики Access предлагают еще множество других функций.

4.  Режим «Повторяющиеся записи» –

( для повторов данных в таблицах):

5.  Режим «Не имеющие подчиненных» –

( для показа записей, не имеющих связей):

Например, клиенты, не имеющие заказов.

Добавление условий отбора в запрос :

Условие отбора – это фильтр, указывающий Access, какие именно записи необходимы.

Выбор по конкретным данным:

Если в колонке запроса с полем «Цех» в строке «Условие отбора» ввести в двойных кавычках полное его название (например, «Управление»), то результатом работы запроса будет показ всех работников указанного цеха.

Если нам нужно в перечень добавить персонал ещё одного цеха, в строке «или» под предыдущей надписью «Управление» необходимо аналогично ввести другое наименование (например, «Бухгалтерия»). Результатом работы запроса будет показ всех работников двух указанных цехов.

Предыдущая сортировка исчезнет. Её нужно объявить заново, тем более, что в этом случае все равно удобнее пересортировать персонал по цехам и фамилиям.

Если нужно выбрать по дате, в толе типа Дата в строке «Условие отбора» написать = [введите дату].

Создание запроса с параметрами:

Иногда нужно, чтобы запрос при запуске запрашивал на ввод содержимого поля.

Для этого нужно указать параметры в столбце данного поля.

В строке «Условие отбора» в квадратных скобках (обязательно!!!) введите название вопроса (например, [Введите название цеха] ). Если вопрос шире, чем столбец, столбец нужно расширить.

Теперь закройте запрос и его запустите.

Перед показом таблицы появится диалоговое окно «Введите значение параметра» и в нем под указанной Вами надписью поле для ввода названия цеха. После ввода наименования нажать кнопку «ОК». Кнопка «Отмена» – отказ от ввода наименования города и выход из запроса. Имейте в виду, что наименование отыскиваемого данного нужно вводить полностью. При наличии ошибок или отсутствии данного наименования будет показана пустая таблица. Поэтому данный режим удобен для малого количества вариантов отбора или при знании состава данного поля!

Управление Сортировкой в запросе :

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

Сортировка производится в порядке слева – направо.

Виды сортировки – по возрастанию, по убыванию и без сортировки.

Перенос столбца на другое место в запросе :

Навести указатель на верхнюю границу столбца и щелкнуть, когда указатель превратится в вертикальную стрелку.

Перетащить столбец на новое место.

Конкатенация (объединение) полей:

В запросе можно объединить несколько полей в одно.

Например, удобно объединить поля Фамилия, Имя и Отчество в одно поле (экономия места в результирующей таблице и т. д.).

Для этого необходимо в строку запроса «Поле» ввести фразу, аналогичную следующей: Фамилия и Имя Покупателя: [Покупатели].[Фамилия] & " " & [Покупатели].[Имя], где производится объединение Фамилии и Имени. Обратите внимание на прямые скобки, в которые вписаны поля с русскими именами. А также на название таблицы перед полем, а за ней символ «.» - это обязательно!

Перед строкой объединения до символа «:» пишется название объединения.

Сортировка производится в порядке объединения полей.

Условие отбора по полю типа «Дата»:

В строке «условие отбора» необходимо набрать фразу (например, >#14.11.96#). Варианты условий описаны ниже в поле Where оператора Select (см. ниже).

Создание сводного запроса:

Можно использовать три таблицы, включая связующую таблицу.

При этом нужно с любом месте запроса вызвать контекстное меню (правая кнопка мыши) и выбрать признак «группировка». Он появится вместо строки «Сортировка».

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

Вычисления в запросе:

Для полей из указанных в схеме запроса таблиц можно указать любые вычисления.

Пример: Выше на 10%: [Наборы].[Цена]*1,1. Обратите внимание, что разделителем между дробной и целой частью является запятая (лучше цифры набирать на цифровой добавочной клавиатуре, где символ «.» в вычислениях сразу однозначно интерпретируется, как символ «,».

Формат оператора SQL Select :

SELECT [предикат] { * | таблица.* | таблица.] поле_1 [ As псевдоним_1]

[, [таблица.] поле_2 [ As псевдоним_2] [, …] ] }

FROM выражение [ , … ] [In внешняя база данных]

[ Where.. условие Отбора ]

[ Group by.. список полей группировки. ]

[ Having. Условие группировки .. ]

[ Order by.. у поле_1 [ Asc | Desc ] . [, поле_2 [ Asc | Desc ] ] … ]

Содержание Параметров оператора Select :

Предикат – Задает ограничение на возвращаемое значение.

Возможные значения предикаторов отбора:

-  All – отсутствие ограничений (по умолчанию)

-  Distinct – все записи (комбинации полей) в результате запроса различны

-  Distinctrow – опускает данные, основанные на целиком повторяющихся записях, а не отдельных повторяющихся полях

-  Top n Percent – сохраняет в результате запроса первый N процентов записей.

Таблица – Имя таблицы, из которой берутся записи.

Поле_1, поле_2 – имена полей, из которых берутся данные. Если включить несколько полей, они извлекаются в указанном порядке.

Псевдоним_1, псевдоним_2 – имена, которые станут заголовками столбцов в результирующей таблице.

Выражение – имена одной или нескольких таблиц, из которых берутся данные.

Внешняя база данных – имя базы данных с таблицами, указанными с помощью аргумента «выражение», если они не находятся в текущей базе данных.

Условие отбора – выражение с условием, которому должны удовлетворять отбираемые записи.

Список полей группировки – имена полей (до 10), используемых для группировки записей. Порядок имен полей определяет уровень группировки для каждого из этих полей.

Условие группировки – выражение, определяющее, какие сгруппированные записи следует отображать.

Поле_1 , поле_2 – поля, по значениям которых сортируются записи. Asc – по возрастанию.

Desc – по убыванию.

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

Дополнение к фразе From :

From таблица_1 [ Inner | Left | Right ] Join таблица_2 On Таблица_1.поле_1 оператор

Таблица_2.поле_2 , где

Inner Join – соединение двух таблиц по некоторому столбцу. Записи соединяются при выполнении условия On (в наиболее типичном случае оператор «=»).

Left Join – все записи по условию, плюс записи таблицы_1, которых нет в таблице_2.

Right Join – все записи по условию, плюс записи таблицы_2, которых нет в таблице_1.

Варианты Условий отбора (параметр Where) оператора Select:

And – записи удовлетворяют одному и другому условию одновременно;

Or - записи удовлетворяют хотя бы одному из нескольких условий;

Not – записи, не удовлетворяют данному условию;

& - объединение двух строковых выражений;

Like – записи, содержащие данное выражение:

-  Like A* - значения, начинающиеся на «А»;

-  Like *сон – значения, заканчивающиеся на «сон»;

-  Like [т-ф]* - значения, начинающиеся с одной из указанных букв;

-  Like *ба* - значения, содержащие «ба»);

Between … And – записи, имеющие значения между двумя указанными;

In – записи, имеющие в качестве значения один из элементов данного списка (аналогично фразе «Or»);

Is Null – записи, не имеющие никакого значения в данном поле (проверка на наличие заполнения)

Is Not Null – записи, имеющие значение в данном поле;

=, <>, >, < - обозначение отношений равно, не равно, больше и меньше;

*, /, +, “-“ - умножение, деление, сложение, вычитание – для получения пового поля.

Создание Форм ввода:

Сначала желательно нарисовать макет будущей формы.

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

Виды стилей создания форм:

1.  Режим «Конструктор» – «ручное» создание формы:

Наиболее удобен для опытных пользователей, т. к. позволяет сделать всё, что задумано при правильной организации баз данных и связей между ними.

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

Правая кнопка на форме – можно выбрать другой вид формы.

Создание главной кнопочной формы (меню):

Создается после прорисовки всех форм.

v  Создаем кнопку на форме;

v  Режим «Работа с Формой»;

v  Признак «Открыть форму»;

v  Выбрать форму;

v  Признак «открыть форму и показать все записи»;

v  Текст - Название работы – ввод справочника, печать отчета и т. д.;

v  Готово.

2.  Режим «Мастера форм»:

После выбора Таблицы далее предлагает следующие четыре режима создания формы:

o  в один столбец;

o  ленточная;

o  таблица;

o  выровненная.

3.  Режим «Авто – в столбец»:

Показ записей по одной. Все поля по вертикали.

Выбор их справочников для тех полей, которые указаны при построении таблицы, устанавливается автоматически в виде Combo box – выбор поля из списка с возможностью ввода и редактирования запрашиваемого поля.

На мой взгляд, самый удобный режим ввода реквизитов в автоматическом режиме!

4.  Режим «Авто – ленточная»:

Получается скроллинг.

Но проблема с расширением полей…

5.  Режим «Авто – таблица»:

Формат обычной таблицы.

6.  Режим «Диаграмма»:

Разрешает взять до 6 полей.

(Но «ругается» на отсутствие OLE-сервера).

7.  Режим «Сводная таблица»:

Связь с таблицей Excel.

Работа в Конструкторе форм (редактирование формы):

В Форме могут присутствовать: главная форма и одна (очень много) подчиненных форм (показ связанных таблиц).

Главная форма – первичная форма, т. е созданная первой.

Подчиненная форма вложена («погружена») в основную.

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

Если цель – просто ввести данные в таблицу – лучше строить главную форму на основе этой таблицы (без промежуточного запроса).

Любая форма – поле, наполненное элементами управления, которыми являются поля ввода, переключатели, списки и даже подчиненные формы (хотя они и сами являются формами).

Элементы управления бывают двух видов:

o  присоединенные – в случае, когда они связаны с определенным полем в таблице;

o  свободные – для отображения дополнительной информации (например, надписи);

o  поля, содержащие результаты вычислений.

Перед созданием Главной формы желательно создать все запросы для подчиненных форм.

Создание запроса для подчиненной формы:

Производится аналогично описанному выше в главе «Запросы».

Основное требование: первым полем в запросе должен быть ключ из таблицы основной формы. Второе поле – из связанной таблицы, которая и будет показана в запросе. Естественно, что эти две таблицы нужно выбрать из списка в начале формирования запроса.

Создание подчиненной формы из запроса:

-  выбрать запрос из списка. Нажать иконку «Таблица со стрелкой» – «Новый объект»:

-  для получения формы в столбец выбрать пункт «Автоформа»;

-  выбрать пункт «Формы» – «Мастер форм» и выбрать тот вид, который нужен;

-  в меню «Формы» указать «Создание формы» – выбрать Запрос для подчиненной формы и создать ее в том виде, который нужен.

Для подчиненных форм, где на стороне «многие» по отношению к основной форме, читабельнее давать вид «Таблица» для одновременного показа всех строк, относящихся к выбранному ключевому полю главной формы.

Редактирование формы в Конструкторе форм:

Перенос поля в форме: сначала щелчок «мышью» на поле:

-  нажатие <Ctrl> и перемещение стрелками;

-  при появлении рисунка «кисть руки», когда маркер мыши находится над полем, перетащить на новое место.

Перенос группы полей в форме:

-  щелчок левой кнопкой мыши в любом из четырех углов группы полей;

-  потянуть вниз и вправо или вверх и вправо и т. д., чтобы группа полей попала в выделение;

-  отпустить кнопку мыши;

-  при появлении рисунка «кисть руки», когда маркер мыши находится над блоком полей, перетащить его на новое место;

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

Выравнивание полей:

-  выделить блок полей аналогично описанному выше (например, у нас одна подпись уже смещена влево, а остальные нет; нужно выделить все подписи, не задевая границы полей ввода);

-  выбрать пункт «Формат» – команда «Выровнять» и применить один из режимов выравнивания:

-  по левому краю (в описанном выше случае);

-  по правому краю;

-  по верхней границе;

-  по нижней границе;

-  по узлам сетки.

Удобно осуществлять перетаскивание элементов управления за квадратик в левом верхнем углу поля.

Установка условия на значение:

-  открыть «свойства» текстового поля;

-  открыть вкладку «данные»;

-  в строке «Условие» ввести формулу (например, >Date() – больше, чем системная дата);

-  в строке «Сообщение об ошибке» написать свой комментарий (например, срок годности истек).

Но это сообщение будет появляться только в процессе нового ввода. Если БД была наполнена ранее, то аналогичные проверки нужно осуществлять иначе.

Ошибки ввода по признакам формата полей Access отлавливает автоматически (например, ввод текста в числовое поле, неправильный ввод даты и т. д.).

Установка последовательности перехода по кнопке <Tab>:

-  меню «Вид» – команда «Последовательность перехода»;

-  щелчок на сером фоне слева от поля – выделение поля;

-  щелкаем повторно, перетаскиваем поле на нужное место и отпускаем кнопку.

Блокировка элементов управления:

Некоторые поля (например, коды типа «Счетчик») редактировать нельзя. Поэтому их желательно заблокировать во избежание недоразумений.

-  открыть «Свойства» поля или кнопки;

-  выбрать вкладку «Данные»;

-  строка «Доступ» - выбрать «Нет»;

-  строка «Блокировка» – выбрать «Да».

Организация связи между основной и вспомогательной формой:

-  основная форма открыта. На ней должно быть место для вспомогательных форм;

-  щелкнуть левой кнопкой мыши на окне с таблицами. Щелкнуть левой кнопкой мыши на имени вспомогательных форм и перетащить её на экран основной формы. Вспомогательная форма появится в виде белого прямоугольника;

-  вызвать контекстное меню из белого прямоугольника вспомогательной формы – пункт «Свойства». Появится окно диалога «Подчиненная форма/отчет» с именем формы. В строке «Подчиненные поля» при помощи кнопки «…» открыть окно диалога «Связь с полями подчиненной формы», где Access уже самостоятельно выбрал подходящие поля для связки. Нажать кнопку «Ок».

Настройка вспомогательной формы в Конструкторе форм:

Назначение подчиненной формы – позволить проверить информацию (например, о покупателе), чтобы быть уверенным в правильности ввода кода покупателя и иметь, одновременно, изменить данные (по покупателю).

В этой форме столбец выделения записей, полосы прокрутки и кнопки управления формой излишни, поэтому их нужно удалить. Это производится следующим образом:

-  в режиме «Конструктора» щелкнуть правой кнопкой мыши на сером фоне справа от полей ввода и редактирования. Из контекстного меню выбрать пункт «Свойства»;

-  открыть вкладку «Макет»;

-  в строке «Полосы прокрутки» указать «Отсутствуют» (можно указать снятие полос прокрутки только по горизонтали или только по вертикали в зависимости от ситуации: например, в подчиненной форме со скроллингом нужна, как минимум, вертикальная полосы прокрутки);

-  в строке «Область выделения» выбрать «Нет»;

-  в строке «Номер записи» выбрать «Нет» – снятие работы с номерами строк (нужна только одна конкретная строка);

-  в строке «Разделительные линии» выбрать «Нет»;

-  закрыть «форму».

Всё это производится периодическими переключениями между формой и конструктором для проверки правильности выполнения вышеуказанных операций.

При запуске Вспомогательной формы из Основной формы возврат обратно в Основную форму производится нажатием клавиш <Ctrl> + <Tab>.

Настройка свойств для нескольких полей в Конструкторе форм:

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

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

Нажать правую кнопку мыши на любом из полей. Появится окно диалога «Несколько элементов управления». Теперь для них всех можно изменить общее свойство. Это характерно только для однотипных полей. Иначе свойства просто могут не совпадать.

Для подчиненной формы, созданной в режиме «конструктора» в поле «Полосы прокрутки» выберем «Отсутствуют» (т. к. дизайнер форм всем полям указал полосы прокрутки, которые в данном случае не нужны, но увеличивают ширину текстовых полей).

Добавление в форму поля со списком (ComboBox) :

Кнопка «Мастера» на панели инструментов должна быть нажата (серый цвет) !..

На панели инструментов щелчком кнопки мыши выбрать элемент управления «Поле со списком», указать на форме место, куда надо его установить и щелкнуть кнопкой.

Переключатель «Использует значения из таблицы или запроса» включен. Далее.

Включить переключатель «таблицы» и выбрать таблицу – хозяйку выбираемого поля. Далее.

Выбрать нужное поле и перевести его одинарной стрелкой вправо. Дважды щелкнуть на правой границе столба, чтобы ширина поля соответствовала размеру данных. Далее.

Установить переключатель «Сохранить в поле» – для записи выбранного из списка результата. Выбрать поле для записи. Далее.

Согласиться или откорректировать название текста для надписи. Готово.

В скроллинге нужно переставить поле со списком на нужное место. Надпись удалить, так как она здесь не нужна.

Чтобы изменить имя шапки поля в скроллинге, нужно выбрать название, правая кнопка, «Свойства», заполнить поле «Имя».

В поле «Источник строк» должна быть команда:

SELECT DISTINCTROW Валюты.* FROM Валюты ORDER BY [Валюты].[наименование валюты];

Количество столбцов – 2.

Присоединенный столбец – 1.

Ширина столбцов – 0см;2см

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

Добавление в форму Вычисляемого поля :

Главная проблема – вычисляемое поле не может основываться на других вычисляемых полях!

Вычисляемое поле на основе двух полей в Запросе или Форме оформляется так:

-  в строке «Поле» необходимо ввести вручную: например, Итого: [Количеcтво]*[Цена] , где:

Итого: - название поля для расчета;

[Количеcтво]*[Цена] – вычисление на базе полей, представленных в Запросе или Форме.

Вычисляемое поле, как сумма вычисляемых полей по вертикали, в Форме оформляется так:

-  расширить поле формы «Примечание»;

-  поместить на него под поле «Итого» текстовое поле для суммирования;

-  на поле два раза щелкнуть с периодом времени, чтобы не было похоже на двойной щелчок или в свойствах поля заполнить строку «Данные» следующим текстом:

- Sum([Итого]) , где:

Sum – математическая функция;

Итого – вычисляемое поле в строках таблицы (Запроса, Формы).

Обратите внимание на двойные простые и квадратные скобки!

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

Текстовое поле в Главной форме для показа Вычисляемого поля типа «Сумма» из Вспомогательной формы:

-  поместить на Главную форму текстовое поле для копирования поля суммирования из вспомогательной формы;

-  на поле два раза щелкнуть с периодом времени, чтобы не было похоже на двойной щелчок или в свойствах поля заполнить строку «Данные» следующим текстом:

=[АссортимПодчФорма].[Form]![СтоимостьЗаказа], где:

= – приравнивание;

[АссортимПодчФорма] – название объекта, откуда берется поле (например, имя подчиненной формы);

[Form] – вид объекта (в данном случае, форма). Построитель выражений подсказывает по-русски «Форма» – это не верно!

[СтоимостьЗаказа] – вычисляемое поле из подчиненной формы;

Обратите внимание на «.» – разделитель; двойные квадратные скобки, ограничивающие имена форм и полей и символ «!» перед именем поля!!!

Вычисления, созданные с помощью «Построителя выражений»:

вызов «Построителя выражений»:

-  на текстовом поле вызвать контекстное меню;

-  на строке «Данные» нажать на кнопку «…»;

работа в «Построителе выражений»:

-  дважды щелкнуть на строке «Forms»;

-  дважды щелкнуть на строке «Загруженные формы»;

-  выбрать основную форму;

- при необходимости, далее можно выбрать вспомогательную форму, встроенную в основную, если в ней находится используемое поле;

-  в среднем окне двумя щелчками выбрать поле;

-  нажать «ОК».

Добавление в форму группы переключателей:

Переключатели предназначены для выбора одного значения из группы (не слишком большого объема – до 10 записей), которые нумеруются начиная с цифры «1».

Нажать иконку «Список полей» (под главным меню «Конструктора», рядом с иконкой «Инструменты») – появится список полей БД.

В панели инструментов щелчок на элементе управления «группа переключателей» (рамка с подписью «XYZ»).

Щелчок на поле в ранее раскрытом списке. Такой порядок указывает Access, что данный элемент управления соответствует выбранному полю.

Далее обрабатываем свойства «Группы переключателей»:

-  последовательно вводим все значения (окончание ввода одного названия –клавиша <Tab>). После ввода всех значений – далее ;

-  если по умолчанию не включается ни одно из полей, включаем переключатель – «Нет». Далее;

-  Access автоматически присваивает значения полям, начиная с 1. Если нас такой порядок устраивает, нажимаем «далее»;

-  сохраняем значение в нужном поле (выбираем его из списка). Далее;

-  тип элемента управления – переключатели. Вид переключателя – утопленное. Далее;

-  Вводим название поля. Готово.

Добавление в форму Кнопки:

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

Выбрать в панели инструментов элемент управления «Кнопка» и поставить на нужное место.

Выбрать категорию (чаще всего – работа с формой).

Выбрать действие (для формы – открыть или закрыть). Далее.

Выбрать форму. Далее.

Установить включенным переключатель «Открыть форму и показать все записи». Далее.

Установить переключатель на «Текст» и ввести текст кнопки. Далее.

Дать имя кнопке. Готово.

Макросы:

Общие сведения:

Макросы – это второстепенные элементы базы данных, которые упрощают и ускоряют работу с ней.

Access не может записывать макросы, поэтому их нужно создавать шаг за шагом.

Макросы Excel и Word предназначены для воспроизведения последовательности команд, вводимых с клавиатуры или при помощи мыши. Макросы Access выполняют определенные нами шаги без необходимости записывать все нажатия кнопок и щелчки мыши.

Макросы позволяют автоматизировать множество процедур для работы с базой данных (открытие и закрытие любого объекта базы данных, печать отчетов или экспорт в другую программу, например, Excel, и т. д.).

При создании макроса кнопка «Мастера» на панели инструментов должна быть выключена!!! Эта кнопка обеспечивает автоматическое создание VBA модулей (процедур) при указании команд Access.

Создание макроса, открывающего или закрывающего формы и т. д.:

На кнопке из контекстного меню выбрать «Обработка событий». В окне «Построитель» щелкнуть на строке «Макросы».

Появится диалоговое окно «Сохранение», где нужно ввести имя макроса и закрыть данное окно.

Открывается окно формирования макроса.

В левой части «Макрокоманда» выбрать из списка макрокоманду. Например, открыть форму.

Аргументы макрокоманды в нижней части экрана:

-  нужно выбрать из списка имя формы;

-  в строке режим данных выбрать необходимое условие работы с данными :

-  добавление;

-  изменение;

-  только чтение;

-  режим окна (развернутый и т. д.).

Далее нажать иконку «Сохранить» и закрыть макрос.

Чтобы быстро создать макрос на открытие формы, отчета или запроса нужно ее название перетащить из окна БД в столбец Макрокоманда.

Создание макроса, выводящего сообщение:

а) создание макроса:

В окне БД выбрать вкладку «Макросы».

Нажать кнопку «Создать».

В столбце «Макрокоманда» выбрать пункт «Сообщение».

В области аргументов:

-  ввести текст сообщения;

-  поле «Сигнал» – по желанию «Да» или «Нет»;

-  тип сигнала (отличается форма иконки окна сообщения):

-  критический (если какие-то неполадки);

-  предупреждающий (с вопросом);

-  предупреждающий (с восклицанием);

-  информационное;

-  заголовок сообщения (Совет и т. д.).

Нажимаем иконку «Сохранить».

Для нового макроса вводим его имя. Или сохраняем изменения.

Закрываем окно макроса.

б) подключение макроса:

Выбрать элемент управления в форме и т. д.

В «Свойствах» выбираем вкладку «События».

В поле «Вход» из списка выбираем свой макрос-сообщение. Теперь связь создана.

Теперь при попадании курсора мыши или маркера на данный элемент управления будет появляться сообщение.

Создание Главной кнопочной формы:

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

Вызвать контекстное меню на сером фоне и во вкладке “макет” отмените полосы прокрутки, область выделения и поле номера записи.

Создание пароля на Базу данных:

-  открыть Базу данных через меню «Файл»;

-  указать «Монопольно» – «Сервис» – «Защита БД».

Далее ввести Пароль и его подтверждение.

- после этого БД необходимо закрыть.

Импорт файлов:

Меню «Файл» – пункт «Внешние данные»:

- импорт таблиц – таблица скопируется с созданием БД в формате Access.

-  связь с таблицами:

–  В данном случае все изменения, сделанные в Excel будут отражаться при работе со связанной таблицей в Access;

–  Access 7.0 не распознает таблицы Excel низшей версии! (и наоборот) ;

–  А Вижуал Бейсик не распознает Связанных баз данных Excel – Access!!!

Конвертируемая таблица должна состоять из одного листа !

Разрешить брать названия заголовков полей в таблице Excel (для этого они должны быть выделены в конвертируемой таблице) – они будут выведены в виде столбцов таблицы Access.

Разрешить автоматическое добавление поля типа «Счетчик» - требование Access.

Автоматический запуск БД:

Сервис – Параметры запуска – Автозагрузка (Access-2000).