- •Часть I. Хранение данных в таблицах 34
- •Глава 1. Создание вашей первой базы данных 35
- •Глава 2. Создание более сложных таблиц 66
- •Глава 3. Обработка листа данных: сортировка, поиск,
- •Глава 4. Блокировка неправильных данных 136
- •Глава 5. Связывание таблиц с помощью отношений 168
- •Часть II. Обработка данных с помощью запросов 206
- •Глава 6. Запросы, выбирающие записи 207
- •Глава 7. Основные хитрости, применяемые в запросах 241
- •Глава 8. Запросы, обновляющие записи ..272
- •Глава 9. Анализ данных с помощью перекрестных запросов и
- •Часть III. Отчеты 323
- •Глава 10. Создание отчетов 324
- •Глава 11. Проектирование сложных отчетов 356
- •Часть IV. Разработка пользовательского интерфейса
- •Глава 12. Создание простых форм 392
- •Глава 13. Проектирование сложных форм 426
- •Глава 14. Создание системы переходов 465
- •Часть V. Программирование в access 496
- •Глава 15. Автоматизация задач с помощью макросов 497
- •Глава 16. Автоматизация выполнения задач средствами языка
- •Глава 17. Написание кода с более развитой логикой 571
- •Часть VI. Совместное использование access 615
- •Глава 18. Совместное использование бд несколькими пользователями 616
- •Глава 19. Импорт и экспорт данных 650
- •Глава 20. Подключение Access к sql Server 692
- •Глава 21. Подключение Access к SharePoint 724
- •На профессиональном уровне. Преимущества хорошо спроектированной базы данных
- •Для тех, кто понимает. Когда программы Access недостаточно
- •Уголок ностальгии. Зачем опять изобретать колесо?
- •Уголок ностальгии. Сочетания клавиш в Access 2003
- •Часть I
- •Часто задаваемый вопрос. Использование чужой бд
- •На профессиональном уровне. Шаблоны, подходящие для разных целей
- •На профессиональном уровне. Работа Access в интерактивном режиме
- •Для тех, кто понимает. Использование Access бд, созданных в более ранних версиях программы
- •На профессиональном уровне. Проектирование бд для начинающих
- •На профессиональном уровне. Вставка больших значений в узкие столбцы
- •Для тех. Кто понимает. Если сомневаетесь, не удаляйте
- •Малоизвестная или недооцененная возможность. Копирование записи целиком за один шаг
- •Малоизвестная или недооцененная возможность. Сжатие бд
- •Часто задаваемый вопрос. У какого файла расширение laccdb?
- •Практические занятия для опытных пользователей. Изменение папки, которую Access использует для хранения бд
- •Малоизвестная или недооцененная возможность. Сворачивание ленты
- •Экономящая время подсказка. Создание ярлыка для таблицы
- •Глава 2
- •Для тех, кто понимает. Изменение типа данных может привести к потере информации
- •На профессиональном уровне. Нормативы максимальной длины
- •На профессиональном уровне. Как Access предотвращает дублирование записей
- •На профессиональном уровне. Почему так важна уникальность
- •Глава 3
- •Малоизвестная или недооцененная возможность. Настройка всех листов данных
- •На профессиональном уровне. Числа и специальные символы в текстовых полях
- •Практические занятия для опытных пользователей. Фильтры в противоположность запросам
- •Малоизвестная или недооцененная возможность. Поиск и замена
- •Глава 4
- •Для тех, кто понимает. Не требуйте слишком многого
- •На профессиональном уровне. Как работают индексы
- •Часто задаваемый вопрос. Индексы и производительность
- •Практические занятия для опытных пользователей. Вставка вашей маски в список масок программы
- •На профессиональном уровне. Создание списка подстановки, использующего другую таблицу
- •Глава 5
- •Часто задаваемый вопрос. Отключение обеспечения целостности данных
- •Для тех, кто понимает. Пользуйтесь каскадным удалением с осторожностью
- •Практические занятия для опытных пользователей. Изменение параметров подтаблицы
- •Часто задаваемый вопрос. Обновление списка
- •Для тех, кто понимает. Применяйте связи "один-к-одному" с осторожностью
- •Часто задаваемый вопрос. Работа со связями "многие-ко-многим"
- •Часто задаваемый вопрос. Печать ваших отношений
- •Часть II
- •Для тех, кто понимает. Не бойтесь подстановок
- •На профессиональном уровне. Синтаксис фильтра
- •Практические занятия для опытных пользователей. Как индексы ускоряют поиск
- •Малоизвестная или недооцененная возможность. Запросы на базе запросов
- •Для тех, кто понимает. Подумайте дважды, прежде чем изменять структуру таблиц
- •На профессиональном уровне. Сравнение: отношения и объединения
- •На профессиональном уровне. Изменение данных при использовании запроса с объединением
- •Глава 7
- •На профессиональном уровне. Синхронизация запросов
- •Малоизвестная или недооцененная возможность. Переименование поля в запросе
- •Часто задаваемый вопрос Банковское округление
- •Практические занятия для опытных пользователей. Улучшенные числовые форматы
- •Малоизвестная или недооцененная возможность. Использование случайных чисел для сортировки в случайном порядке
- •Практические занятия для опытных пользователей. Как извлечь первое слово из текстовой строки
- •Для тех, кто понимает. Вычисления для дат и времени
- •Глава 8
- •Аварийная ситуация. Когда Access блокирует ваше обновление
- •Малоизвестная или недооцененная возможность. Скрытие запроса
- •Глава 9
- •Часто задаваемый вопрос. Итоговый проигрыш; итоговый запрос против перекрестного
- •Для тех, кто понимает. Создание запроса с объединением для лучшей группировки
- •На профессиональном уровне. Правильный выбор групп
- •Малоизвестная или недооцененная возможность. Помещение сводных таблиц в их собственные формы
- •Часть III
- •Глава 10. Создание отчетов
- •Глава 11. Проектирование сложных отчетов
- •Глава 10
- •На профессиональном уровне. Выполнение тяжелой работы с помощью запроса
- •Часто задаваемый вопрос. Добавление изображений в отчеты.
- •На профессиональном уровне. Учитесь любить pdf-файлы
- •Часто задаваемый вопрос. Разные способы экспорта данных
- •Малоизвестная или недооцененная возможность. Формат по образцу.
- •Практические занятия для опытных пользователей. Разные линии сетки
- •Глава 11
- •Часто задаваемый вопрос. Ошибки выражений
- •Часть IV
- •На профессиональном уровне. Поля типа Счетчик в формах
- •На профессиональном уровне. Разные люди — разные формы
- •Малоизвестная или, недооцененная возможность. Вывод на экран изображений из бд
- •На профессиональном уровне. Семейство форм Access
- •Глава 13
- •На профессиональном уровне. Присоединенные элементы управления
- •Малоизвестная или недооцененная возможность. Повторное применение ваших любимых настроек стиля границ
- •Часто задаваемые вопросы. Осовременивание элементов управления Windows
- •Практические занятия для опытных пользователей. Как освободиться от привязки к сетке
- •На профессиональном уровне. Насколько велик ваш экран?
- •Глава 14
- •Малоизвестная или недооцененная возможность. Варианты сортировки и просмотра в области переходов
- •На профессиональном уровне. Кнопочные формы с несколькими страницами
- •За кадром. Меню кнопочных форм сохраняются в бд
- •Часть V
- •На профессиональном уровне. Макросы по сравнению с программным кодом
- •Практические занятия для опытных пользователей. Обработка ошибок макроса
- •На профессиональном уровне. Макрокоманды, которым Access не доверяет
- •На профессиональном уровне. ОтправитьОбъект работает с вашей программой элекронной почты
- •Часто задаваемый вопрос. Внедренный макрос
- •Глава 16
- •Малоизвестная или недооцененная возможность. Справка по Visual Basic
- •Для тех кто понимает. Как код связывается с событиями
- •Малоизвестная или недооцененная возможность Разбиение длинных строк кода
- •На профессиональном уровне. Взаимодействие с другими формами
- •Практические занятия для опытных пользователей. Получение нужного цвета
- •Часто задаваемый вопрос. Ленточные формы и неприсоединенные элементы управления
- •Практические занятия для опытных пользователей. Связывание записей с рисунками
- •Глава 17
- •Практические занятия для опятных пользователей. Применение более сложных переменных
- •Практические занятия для опытных пользователей. Применение пользовательских функций в запросах
- •На профессиональном уровне. Алгоритм Луна (Luhn Algorithm)
- •Часто задаваемый вопрос. Запуск других Windows-программ
- •На профессиональном уровне. Станьте знатоком статистических функции по подмножеству
- •Уголок ностальгии. Dао против аdо
- •Часть VI
- •Для тех, кто понимает. Поиск места в сети для вашей бд
- •На профессиональном уровне Указание местонахождения в сети
- •Часто задаваемый вопрос. Как поведут себя старые версии Aсcess?
- •Аварийная ситуация. Мистическая ошибка “Файл уже используется”
- •Часто задаваемый вопрос. Когда не следует пользоваться форматом accde
- •Уголок ностальгии. Отмирание страниц доступа к данным
- •Практические занятия для опытных пользователей. Разделение таблиц для более безопасных корректировок
- •Уголок ностальгии. Защита с помощью рабочих групп упразднена
- •Глава 19
- •На профессиональном уровне. Sql Server и SharePoint: два частных случая
- •Сберегающая время подсказка. Копирование из одной бд в другую
- •На профессиональном уровне. Опасность дубликатов
- •Малоизвестная или недооцененная возможность. Экспорт отчетов
- •На профессиональном уровне. Более внимательный взгляд на теги
- •Глава 20
- •На профессиональном уровне. Важнейшие причины перехода на sql Server
- •Часто задаваемые вопрос. Можно ли доверять корпорации Microsoft?
- •На профессиональном уровне. Проекты Access по сравнению со связанными таблицами
- •0 Запросах
- •Для тех, кто понимает. Синтаксические различия
- •Глава 21
- •Часто задаваемый вопрос. Путаница, связанная с SharePoint
- •На профессиональном уровне. Установка SharePoint
- •На профессиональном уровне. Пять интересных инструментов программы SharePoint, которые стоит опробовать
- •Малоизвестная или недооцененная возможность.
- •Малоизвестная или недооцененная возможность. Представление таблицы данных Access
- •Малоизвестная или недооцененная возможность. Параметры списков SharePoint
Глава 13
Проектирование сложных форм
Формы полезны программисту как небольшие защитные приспособления. Они упрощают выполнение повседневных задач и придают вашей БД строгий и оригинальный внешний вид. Для того чтобы стать профессионалом в разработке БД, необходимо научиться создавать первоклассные формы.
В предыдущей главе вы узнали, как формировать несколько распространенных типов форм. В этой главе вы поднимете навыки разработки форм на более высокий уровень с помощью целого арсенала новых методов и средств. Сначала вы научитесь создавать форму в свободном от каких-либо ограничений Конструкторе, позволяющем настроить и отшлифовать каждый квадратный сантиметр вашей формы. Затем вы познакомитесь с разными элементами управления Access и украсите вашу форму ссылками, панелями с вкладками и кнопками. Вы также научитесь работать со связанными таблицами с помощью создания форм специальных типов, называемых подчиненными формами и действующих в согласии с другими формами.
Настройка форм в Конструкторе
В предыдущей главе вы научились быстро создавать разные формы с помощью кнопок ленты и Мастера создания форм. Но серьезные специалисты по разработке форм применяют другой подход — они создают форму своими руками. Для решения этой задачи есть два пути.
■ Создать форму в Режиме макета. Выберите на ленте Создание → Формы → Пустая форма (Create → Forms → Blank Form). Затем перетащите мышью на вашу форму нужные поля с панели Список полей (рис. 13.1). В главе 12 вы узнали все необходимое для выполнения этой задачи. Можно быстро создать стандартную форму с макетом в один столбец или табличным макетом, но вы не получите дополнительных средств внешнего оформления.
■ Создать форму в Конструкторе. Выберите на ленте Создание → Формы → Конструктор форм (Create → Forms → Form Design). Теперь вы начнете с пустой формы в окне Конструктора. Можно перетащить поля на форму с панели Список полей (так же, как в Режиме макета) и добавить с ленты множество разнообразных более специализированных элементов управления.
Примечание
Если на экране нет панели Список полей, выберите на ленте Работа с макетами форм | Формат → Элементы управления → Добавить поля (Form Layout Tools | Formatting → Tools → Add Existing Fields) (в Режиме макета) или Инструменты конструктора форм | Конструктор
→Элементы управления → Добавить поля (Form Design Tools | Design → Controls → Add Existing Fields) (в Конструкторе).
Рис. 13.1. Когда первое поле помещается на форму, открытую в Режиме макета, Access включает это поле в макет в один столбец и выводит на экран пиктограмму смарт-тега (обведена). Если вам нужен табличный макет, щелкните кнопкой мыши эту пиктограмму и выберите команду Показать в табличном макете
Конечно, в процессе работы над формой можно легко переключаться между этими двумя режимами. (Просто щелкните правой кнопкой мыши заголовок вкладки и выберите, какой хотите режим, или щелкните мышью кнопки режимов в нижнем правом углу окна программы.) Добавлять на форму поля можно в любом режиме. Но когда поля вставляются в Режиме макета, программа Access автоматически помещает их в макет. Когда поля добавляются в Конструкторе, они не привязаны к макету. Access полагает, что пользователи, применяющие Конструктор, хотят получить дополнительные средства управления размещением полей.
Подсказка
Вы можете свободно перемещаемое поле перенести в макет позже, перетащив его мышью в нужное место (см. рис. 12.13).
Существует и более серьезное отличие между Режимом макета и Конструктором.
В Конструкторе можно добавить элемент управления, выбрав его из десятка оригинальных элементов, таких как Кнопки, Поля и Подписи. Эти элементы определяют различие стандартных форм, сделанных автоматически программой Access, и форм, демонстрирующих персональный стиль.
Разделы формы: разные части вашей формы
В главе 11 вы узнали, что отчет разделен на отдельные разделы (такие как Заголовок отчета, Область данных, Примечание отчета и т. д.), отображаемые в определенном месте. То же справедливо и для форм. Но впервые создаваемые формы начинают существование только с одним разделом: Областью данных, определяющей содержимое каждой записи.
Если хотите добавить заголовок или эмблему в верхнюю часть формы или некоторую сводную информацию или сообщение в нижнюю часть, следует вставить разделы верхнего и нижнего колонтитулов. Для добавления этих элементов в форму щелкните правой кнопкой мыши где-нибудь в области формы и выберите команду Колонтитулы (Page Header/Footer).
При работе с разделами формы помните о том, что размеры их должны быть малы (как показано на рис. 13.2). Размер всех разделов должен быть не более чем достаточен для отображения его содержимого. Если вы создадите слишком большую форму с множеством пустот, результаты будут выглядеть непрофессионально. На форме появятся ненужные полосы прокрутки, которые заставят вас прокручивать пустую область.
Рис. 13.2. Несмотря на то, что эта форма легко вмещает все поля в отображаемую область, у нее все же есть полосы прокрутки. Если перейти в Конструктор, то можно увидеть причину — форма шире и длиннее, чем нужно
Подсказка
Невозможно сделать форму меньше, чем содержащиеся в ней элементы управления. Этот факт часто становится камнем преткновения для разработчиков формы. Если программа
Access не позволяет изменить размер формы, значит, где-то что-то слишком велико. (Если все попытки тщетны, проверьте, не слишком ли большое поле в Заголовке формы или Примечании формы.)
Примечание
Если в вашей БД вместо вкладок задан режим перекрывающихся окон (см. разд. "Открытие БД, созданной в более старой версии Access" главы 1), вы столкнетесь с немного иной проблемой — окна ваших форм излишне велики. Иногда они могут даже не помещаться в главном окне программы Access, в этом случае Access обрезает их края.
Вставка элементов управления в форму
Впервые вы познакомились с элементами управления — графическими объектами, такими как Подписи1 и Поля — когда создавали сложные отчеты в главе 11. Программа Access предоставляет такую же возможность и в формах. Для добавления их применяется та же группа на ленте. Но многие элементы управления, имеющие мало смысла в отчетах, на формах раскрываются во всей красе.
Примечание
За кадром на форме все компоненты — на самом деле элементы управления. При каждом добавлении поля вы имеете дело в итоге с двумя связанными элементами управления: Подписью, отображающей имя поля, и Полем, содержащим значение поля.
Рис.13.3. Применяйте Подписи для добавления пояснительных инструкций (или дерзких комментариев) на ваши формы. Элементы управления Линии и Прямоугольники добавят лоска
Один из самых простых и наиболее полезных элементов управления — скромная Подпись. С помощью Подписи можно вставить отформатированный текст в любое место
1 В локализованной версии используются два названия этого элемента управления: Надпись и Подпись. — Пер.
формы. Можно применять Подписи для выделения цветом дополнительных инструкций, как показано на рис. 13.3.
Для вставки элемента управления выполните следующие действия.
1. Перейдите в группу ленты Инструменты конструктора форм | Конструктор → Элементы управления (Form Design Tools | Design → Controls).
В группе Элементы управления собраны все элементы, которые можно использовать.
2. При желании нажмите кнопку Использовать мастера (Use Control Wizards). Эта кнопка запускает мастера для элементов управления.
Элементы управления некоторых типов, такие как Кнопки и Списки, снабжены полезными мастерами. Как только такой элемент помещается на форму, запускается мастер, чтобы помочь вам настроить элемент. Обычно мастера включены. Но профессионалы, точно знающие чего хотят, могут решить, что мастера лишь мешают работать.
Когда кнопка Использовать мастера (находящаяся в крайнем правом ряду группы ленты Инструменты конструктора форм | Конструктор → Элементы управления) не подсвечена, мастера элементов управления оставляют вас без поддержки.
3.Щелкните кнопкой мыши пиктограмму нужного элемента управления.
На большинстве экранов мониторов программа Access не может уместить на ленте название кнопки элемента управления. (Владельцы 33-дюймовых мониторов могут поздравить себя и пропустить этот абзац.) Проведите указателем мыши по кнопке, и программа отобразит название элемента управления в поле всплывающей подсказки.
После щелчка пиктограммы кнопкой мыши она остается выделенной. Указатель мыши изменяется на крестик с маленьким присоединенным рисунком элемента управления. Это изменение — сигнал того, что элемент управления готов к использованию и ждет установки на форму.
Подсказка
Если вы впервые экспериментируете с элементами управления, почему не испробовать Подпись — с ней легко справиться и она действительно полезна.
4. Для того чтобы поместить элемент управления на форму, нарисуйте его контур на форме мышью с нажатой кнопкой.
Если с первого раза вы неудачно его расположили, всегда можно перетащить элемент управления на новое место или переместить его края для изменения размера элемента.
Если вы передумали вставлять выбранный элемент управления, просто щелкните мышью кнопку Выбрать (Select) (в крайнем правом ряду группы Инструменты конструктора форм | Конструктор → Элементы управления). Она выглядит как указатель мыши. Когда вы щелкните кнопку Выбрать, указатель мыши примет обычный вид. Теперь можно щелкнуть кнопкой мыши на форме для выделения имеющегося элемента управления. Новый элемент управления при этом не создается.
Подсказка
Еще более быстрый вариант — просто нажать клавишу <Esc> для отказа от создания элемента управления, после того как вы выбрали его на ленте.
5. Если у выбранного элемента управления есть мастер (Control wizard) и выбран режим использования мастеров элементов (см. пункт 2), на экране появится окно соответствующего мастера.
Ответьте на все вопросы для настройки элемента управления или нажмите клавишу <Esc> для пропуска мастера и выполнения самостоятельной настройки.
6. Если вы добавляете Подпись, введите текст, содержащийся в элементе управления.
После того как вы поместили Подпись на форму, программа Access ждет ввода текста Подписи (который присваивается свойству Подпись (Caption)). Если вы ничего не введете, Access решит, что вам на самом деле не нужна Подпись и избавится от нее.
7. Если на экране еще нет Окна свойств (в правой части окна программы), щелкните мышью Инструменты конструктора форм | Конструктор → Сервис → Страница свойств (Form Design Tools | Design → Tools → Property Sheet) для его отображения.
Для настройки многих параметров элементов управления или свойств вам придется пользоваться Окном свойств.
8. Измените соответствующие параметры в Окне свойств.
Если вы добавляете присоединенный элемент управления (bound control) (см. примечание "На профессиональном уровне. Присоединенные элементы управления" далее в этом разделе), выберите вкладку Данные (Data) и задайте в поле Данные (Control Source) имя поля, которое хотите отобразить.
Подсказка
Если у вас есть элемент Подпись, не вмещающий весь введенный текст, можно увеличить размер элемента за один шаг. Щелкните правой кнопкой мыши Подпись и выберите команду Размер → по размеру данных (Size → To Fit). Программа Access изменит размер надписи, увеличив ее настолько, чтобы поместилось все ее содержимое. Не пытайтесь проделать это с другими элементами управления, например, с Полем этот прием не работает.