- •Часть 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
Практические занятия для опытных пользователей. Как освободиться от привязки к сетке
Когда вы в Конструкторе помещаете элемент управления на форму или передвигаете его, программа Access всегда выравнивает его относительно ближайшего узла сетки. (Линии сетки в Конструкторе представлены точками, которые выводятся под элементами управления.) Access выполняет подобное выравнивание, потому что это облегчает создание согласованной формы. Если бы элементы управления были абсолютно свободно плавающими, было бы трудно выровнять два элемента управления относительно друг друга. Даже если у вас не трясутся руки, тяжело управлять мышью с такой точностью!
Однако в некоторых ситуациях возникает желание протолкнуть элемент управления между точками сетки. Обычно в этом случае на форме есть изображение, и вы пытаетесь создать интересный визуальный эффект. В подобных ситуациях программа Access позволяет освободиться от сетки. Просто выберите Инструменты конструктора форм | Упорядочить → Макет элемента управления → Привязать (Form Design Tools | Arrange → Control Layout → Snap to Grid). Как правило, эта кнопка подсвечена для обозначения постоянной привязки элементов управления к сетке. Для ее отключения щелкните кнопку мышью. Когда закончите, привязку можно вернуть, щелкнув эту кнопку еще раз.
При желании, если вы решите, что точки сетки отвлекают, их можно скрыть, используя кнопку Инструменты конструктора форм | Упорядочить → Отображение → Сетка (Form Design Tools | Arrange → Show/Hide → Show Grid). А когда вы сочтете, что нужно вернуть выравнивание элементов управления по линиям сетки, просто выделите все .. элементы, щелкните выделение правой кнопкой мыши и выберите команду Выровнять → по узлам сетки. Access подтолкнет каждый элемент управления к ближайшей линии сетки. Используйте команду Размер → по узлам сетки для того, чтобы ширина и высота элементов управления также соответствовала сетке.
Выравнивание элементов управления
Если есть группа элементов управления, которые следует подровнять, выделите их все (нарисовав рамку выделения, как показано на рис. 13.4), щелкните выделение правой кнопкой
мыши и выберите один из вариантов в подменюВыровнять. Используйте во многих случаях популярный вариант Слева для выравнивания левых краев элементов управления. Можно также выровнять правые (рис. 13.5), верхние или нижние края элементов.
Рис. 13.5. Вверху: эти элементы управления выглядят неупорядоченными. Внизу: даже если элементы управления не включены в макет, их можно выровнять должным образом с помощью вариантов команды Выровнять. В данном случае применена команда Выровнять → Справа для выравнивания их правых краев
Изменение размеров элементов управления
Если на форме есть элементы управления разных размеров, можно заставить программу Access установить для них один и тот же размер.
Рис. 13.6. Команда по самому широкому делает все эти Поля (сверху) одинаковой ширины (внизу), что создает более четкую и визуально более привлекательную форму
Выберите все элементы, щелкните правой кнопкой мыши выделение и выберите вариант из меню Размер. Используйте вариант по самому широкому, чтобы у всех элементов управления была ширина такая же, как у самого широкого из них (рис. 13.6). В противном случае можно сжать элементы, выбрав по самому узкому или изменить их высоты с помощью вариантов по самому высокому (То Tallest) и по самому низкому (То Shortest).
Регулирование расстояния между элементами управления
Если элементы управления случайным образом разбросаны на форме, их местоположение можно изменить так, чтобы между ними было согласованная величина пустого пространства. Для этого выделите все элементы и перейдите в группу ленты Инструменты конструктора форм | Упорядочить → Положение (Form Design Tools | Arrange → Position). В группе Положение есть несколько кнопок для регулировки расстояния между элементами управления:
Сделать интервалы по вертикали равными (Make Vertical Spacing Equal) располагает элементы управления на равном расстоянии друг от друга по вертикали (сверху вниз);
Сделать интервалы по горизонтали равными (Make Horizontal Spacing Equal) располагает элементы управления на равном расстоянии друг от друга по горизонтали (от края до края);
Увеличить интервал по вертикали (Increase Vertical Spacing) и Увеличить интервал по горизонтали (Increase Horizontal Spacing) увеличивает расстояние между всеми выбранными элементами управления;
■ Уменьшить интервал по вертикали (Decrease Vertical Spacing) и Уменьшить интервал по горизонтали (Decrease Horizontal Spacing) уменьшает расстояние между всеми выбранными элементами.
Перекрывающиеся элементы управления
Если у вас есть перекрывающиеся элементы управления, возможно, вам захочется определить, какой из них поместить поверх остальных, а какой — на самое дно. Для этого выделите один из элементов управления, перейдите в группу ленты Инструменты конструктора форм | Упорядочить → Положение (Form Design Tools | Arrange → Position) и выберите На передний план (Bring to Front) (для переноса элемента управления наверх) или На задний план (Send to Back) (для изгнания его на уровень фона).
Несомненно, что у большинства форм нет перекрывающихся элементов управления. Исключение составляют формы, в которых вы добиваетесь необычного графического представления или пытаетесь применить прямоугольник для обрамления группы элементов управления (в таком случае прямоугольник должен находиться под другими элементами).
Привязка: автоматическое изменение размеров элементов управления
Первоначально у элементов управления фиксированный, неменяющийся размер. Это свойство позволяет точно разместить большое количество элементов один следом за другим. Но у элементов управления фиксированного размера есть недостаток. Если вы увеличиваете окно программы Access до очень большого размера, элементы управления не смогут использовать дополнительное пространство. Наоборот, если вы делаете окно Access очень маленьким, вы неизбежно обрезаете часть формы. Другими словами, элементы управления фиксированного размера созданы для облегчения проектирования, но они лишены гибкости.
Большинство пользователей не беспокоят подобные ограничения. Они проектируют формы, которые хорошо помещаются на экране средних размеров (см. примечание "На профессиональном уровне. Насколько велик ваш экран?" далее в этом разделе). Но если у вас есть поле или поля, которые отображают данные большого объема — например, поле типа MEMO, до отказа заполненное текстом, — возможно, вас заинтересует эта проблема.
Рис. 13.7. Обычно все элементы управления привязаны к левому верхнему углу формы (вверху). Если размер окна формы меняется, с элементами управления ничего не происходит, поскольку левый верхний угол никогда не смещается (внизу)
В программу Access 2007 введено свойство, названное привязкой, позволяющее создавать элементы управления, которые могут увеличиваться для заполнения дополнительного пространства, когда изменяются размеры окна Access. Привязку выполнить корректно трудновато, но если у вас есть поля с тестом большого объема, овчинка стоит выделки.
По существу привязка позволяет присоединить элемент управления к сторонам формы. В результате, когда изменяется размер формы, элемент управления переносится в новое местоположение или изменяет размер. На рис. 13.7 показана обычная форма, использующая стандартные параметры привязки. Когда изменяется размер формы, ничего не происходит.
Если привязать элемент управления к правой стороне формы, это будет совсем другая история. Когда форма становится шире, элемент управления прижимается к правой стороне, перемещаясь в новое положение. Аналогично, если вы привяжете элемент управления к нижней стороне окна и затем увеличите высоту окна, элемент сохранится на том же расстоянии от нижнего края окна, независимо от нового размера окна. Удивительная вещь произойдет, если привязать элемент управления к противоположным сторонам. В этом случае его положение не изменится, но изменится его размер. Если элемент привязан к левой и правой сторонам окна, он станет шире при увеличении ширины окна. На рис. 13.8 показано, как изменится форма, если привязать элементы управления к разным сторонам.
Подсказка
Расстояние между элементом управления и стороной привязки всегда остается неизменным.
Рис. 13.8. В эту форму включены элементы управления с привязкой к разным сторонам формы. Поля ID и Email привязаны к правой и верхней сторонам, а поле Notes — к правой и нижней. Когда форма увеличивается, элементы управления перемещаются
Теоретически привязку можно применять для создания любого рода причудливых визуальных эффектов. Можно привязать элементы управления ко всем сторонам формы, так что они будут перемещаться и перекрывать друг друга при изменении размера формы, создавая на форме полнейшую неразбериху. В реальной жизни пользователи применяют привязку для достижения двух целей, описанных в следующих двух разделах.