- •Часть 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
Часто задаваемые вопрос. Можно ли доверять корпорации Microsoft?
Почему корпорация Microsoft отдает что бы то ни было даром?
Смекалистые компьютерные пользователи подозрительно относятся ко всему, что кажется слишком хорошим, чтобы быть правдой. Они боятся, что предложение SQL Server корпорацией Microsoft может быть хитроумной недобросовестной торговой тактикой — другими словами, достаточной, чтобы привлечь вас к применению SQL Server, но не удовлетворяющей ваши потребности.
К счастью, для беспокойства нет оснований. Если вы решите использовать программу SQL Server Express, то с успехом можете оставаться верным ей годами и не ощущать необходимости в переходе на коммерческую версию.
Но почему же Microsoft предлагает программное обеспечение, которое не принесет никакого дохода? Все просто — они рассчитывают на крупный улов. Маленькая компания может начать с версии SQL Server Express, а затем вырасти в большое предприятие, готовое заплатить дополнительную сумму за более мощную версию программы. Это особенно справедливо в отношении компании, применяющей SQL Server для снабжения данными так называемого Web-приложения (сайт интернет-торговли, например).
Если этот Web-сайт станет вторым eBay, компании, обслуживающей его, потребуется серьезная рабочая лошадка (например, серверный компьютер с несколькими ЦПУ и тоннами памяти). Для поддержки такого оборудования они вынуждены будут перейти на полную версию программы SQL Server.
И, наконец, предложение бесплатной версии SQL Server помогает привлечь большее количество людей к разработке высококлассных систем БД с помощью программы SQL Server. Технические специалисты, возможно, познакомятся с SQL Server Express и полюбят эту программу, а потом порекомендуют компаниям-толстосумам ее полную версию.
Приступая к работе с SQL Server 2005 Express
Прежде чем начать применять SQL Server Express, необходимо установить программу. Этот процесс чрезвычайно прост, но продолжителен и включает загрузку из Интернета нескольких очень больших файлов: один объемом 22 Мбайт, а другой — 54 Мбайт. Если вы все еще пользуетесь модемным соединением, это займет у вас несколько отсчитываемых в уме часов.
Примечание
Все, что вы узнаете в данной главе о программах Access и SQL Server Express, также применимо к полной версии SQL Server. Но если у вас есть эта версия, вам, конечно же, не нужен этап загрузки из Интернета, описанный здесь, вместо него вы можете вставить ваш установочный DVD-диск и начать установку.
Установка SQL Server Express
SQL Server устанавливают на компьютер, на котором планируется поместить серверную БД. Обычно это компьютер в сети, который никто не использует для другой работы. (Если кто-то работает на этом компьютере, есть риск, что они выключат его, перезагрузят, займутся другой работой или сделают что-то, что повлияет на возможность получения нужной информации всеми остальными пользователями.) На компьютеры, применяющие программу Access для работы с клиентской БД, устанавливать SQL Server не нужно, но конечно на них должна быть копия Access.
Однако если вы до сих пор продолжаете разрабатывать и настраивать вашу БД, возможно, вам захочется сначала опробовать ее на собственном компьютере. В этом случае программу SQL Server следует установить на ваш компьютер. Затем, когда вы будете готовы к совместному использованию БД, вы установите SQL Server на серверный компьютер и переместите туда вашу БД (как описано в главе 21). На самом деле, если вы не знаете программу SQL Server, может быть лучше всего начать с ее установки на собственный компьютер. Вам нужно будет настроить несколько перегруженных деталями установочных параметров для того, чтобы предоставить другим пользователям доступ к SQL Server с других компьютеров. Возможно, появится желание увидеть, как все работает до того, как начнете возиться с упомянутыми деталями.
У программы SQL Server очень скромные требования к системе. (Поразительно, но они менее жесткие, чем требования к работе программы Access.) Точные спецификации можно найти на сайте www.microsoft.com/sql/editions/express/sysreqs.mspx. Вы увидите, что программу SQL Server можно запустить на любом более или менее современном компьютере, но придется убедиться в том, что у вашей операционной системы есть последние обновления
и пакеты исправлений. Например, на компьютерах под управлением Windows XP должен быть установлен Service Pack 2.
Подсказка
Для проверки наличия последних обновлений ОС щелкните мышью кнопку Пуск (Start) и выберите Обновление Windows (Windows Update).
После того как выбрано место установки программы SQL Server, и вы убедились в том, что компьютер может ее поддерживать, выполните следующие действия.
1. Откройте любимый Web-обозреватель и перейдите на сайт загрузки .NET.
Перед установкой SQL Server необходимо установить используемый программой компонент .NET Framework 2.0. Его можно найти с помощью средств поиска на Web-сайте http://msdn.microsoft.com/netframework. Или лучше использовать секретный укороченный URL-адрес http://tinyurl.com/drj86.
Примечание
Если вы работаете под управлением ОС Windows Vista, у вас уже есть компонент .NET Framework 2.0. Даже если у вас нет Windows Vista, другое приложение, возможно, уже установило его на ваш компьютер. Если вы предполагаете, что он установлен, перейдите в Панели управления (Control Panel) в группу Администрирование (Administrative Tools) и поищите пиктограмму, названную Настройка конфигурации Microsoft .NET Framework 2.0 (Microsoft .NET Framework 2.0 Configuration). Если вы ее нашли, поздравляю — можно переходить непосредственно к пункту 4.
После того как компонент .NET Framework 2.0 найден, установите его. Файл установки довольно большой, около 22 Мбайт.
После завершения загрузки файла установки запустите его и с помощью мыши пройдите через все этапы, предлагаемые мастером установки.
Не беспокойтесь — никаких решений принимать не придется.
4. После завершения установки перейдите на Web-страницу www.microsoft.com/sql/editions/express.
На этой странице много сведений о программе SQL Server Express. Найдите ссылку, которая позволяет загрузить SQL Server Express и затем щелкните ее кнопкой мыши. Она помечена текстом "Get SQL Server Express" ("Загрузить и установить").
5. Щелкните в стороне кнопкой мыши, чтобы найти загружаемый файл SQL Server Express (рис. 20.2).
В процессе установки корпорация Microsoft предложит вам зарегистрироваться у нее. Если вы регистрируетесь, то получаете новости от корпорации Microsoft (которые полезны, если вы хотите узнавать о последних обновлениях SQL Server). Но это совсем не обязательно.
6. Когда найдете ссылку на загружаемый файл для SQL Server (см. рис. 20.2), щелкните ее кнопкой мыши и установите программу.
Для загрузки SQL Server предлагается огромный файл, 54 Мбайт.
Рис. 20.2. У вас есть варианты. Вы можете загрузить не только SQL Server 2005 Express (обведенная ссылка), можно также получить отличное средство управления, названное SQL Server Management Studio (ссылка расположена ниже), некоторые примеры и напичканный информацией файл справки, названный SQL Server 2005 Books Online (самая нижняя ссылка)
7. После того как загрузка файла установки программы завершится, запустите его.
Прежде чем установка начнется, нужно пройти несколько простых шагов. Вот чего вам следует ждать.
Прежде чем устанавливать что бы то ни было, программа установки проверит конфигурацию системы. Она обследует ваш компьютер и затем сообщит, подходит ли он для установки SQL Server (рис. 20.3).
Программа попросит ввести ваше имя. Эта часть установки очень типична, но следует оставить установленным флажок Hide advanced configuration options (Скрыть дополнительные параметры конфигурации), чтобы не выводились низкоуровневые параметры, которые вы не хотите менять.
Рис. 20.3. На этом компьютере может выполняться программа SQL Server, но выводится предупреждающее сообщение, уведомляющее о том, что у устаревшего процессора Pentium III недостаточно мощности для обеспечения оптимальной производительности
Вам будет предложено выбрать средства, которые хотите установить. Оставьте стандартные установки — в этом случае инсталлируется все, что вам нужно.
Следующий вопрос касается автоматической отправки корпорации Microsoft сообщений об ошибках. Не ждите, что они помогут вам. Это средство разработано только для того, чтобы помочь Microsoft улучшить будущие версии SQL Server за счет выявления проблем, которые в настоящее время нервируют пользователей программы.
И в конце процесса установки вам будет предложена более сложная часть. Программа SQL Server спросит о типе безопасности, который вы хотите применять.
8. Выберите ваш режим аутентификации (рис. 20.4). У вас есть два варианта.
Выбор переключателя Windows Authentication Mode (Проверка подлинности Windows) означает, что программа SQL Server принимает решение о предоставлении пользователю разрешения на пользование БД на основе персональной пользовательской учетной записи в ОС Windows. Это лучший и самый безопасный подход. К сожалению, он связан с дополнительной работой в дальнейшем, гарантирующей другим пользователям получение разрешений на использование вашей БД (см. следующий раздел).
Выбор переключателя Mixed Mode... (Смешанный режим...) означает, что программа SQL Server разрешает пользователям обращаться к БД, если у них есть корректная учетная запись Windows (как было описано ранее) или они могут предоставить имя пользователя и пароль, определенные вами. Если выбирается Mixed Mode... (Смешанный режим...), вы должны предоставить специальную учетную запись
программыSQL Server, называемую sa (system administrator, системный администратор). Любой пользователь, зарегистрировавшийся с этим именем пользователя и паролем, получает полный контроль над всеми БД, хранящимися на сервере. Смешанный режим не устраняет трудности дополнительной настройки, но еще и не столь безопасен. (Например, потому, что вы вынуждены распространить в офисе эту информацию имя пользователя и пароль, которые должны будут применять пользователи.)
Примечание
Если вы не знакомы с понятиями "пользователи" и "группы" ОС Windows и нет сетевого администратора, который бы помог вам, лучше выбрать вариант Mixed Mode... (Смешанный режим...). Это не слишком безопасный подход, но это единственный легкий способ разрешить другим людям зарегистрироваться в БД (см. следующий раздел).
Рис. 20.4. Вариант Windows Authentication Mode обеспечивает наилучшую безопасность. Но он подразумевает некоторую настройку, позволяющую сообщить программе SQL Server о тех, кому она может доверять
9. Начиная с этого момента, установка продолжительна, но незатейлива. Сейчас самое время взять чашечку кофе.
После завершения установки следует снова запустить обновление Windows (Windows Update) (щелкните мышью кнопку Пуск (Start) и затем выберите команду Обновление Windows (Windows Update)). Этот шаг необходим, т. к. у программы SQL Server Express есть два пакета исправлений (сведения на момент написания этих строк), и средство Обновление Windows (Windows Update) устанавливает их автоматически.
Примечание
Пакеты исправлений программы SQL Server Express очень важны для пользователей ОС Windows Vista. Без них сверхстрогая модель безопасности Windows Vista запретит вам делать что бы то ни было с вашими БД SQL Server.
Когда второй круг обновлений пройден, наконец, можно приступать к работе. Если было решено установить программу SQL Server на ваш компьютер, вы можете начать использовать ее прямо сейчас. Перейдите к разд. "Создание БД SQL Server вручную" далее в этой главе, чтобы вернуться в доброжелательные объятья Access.
Если же вы решили установить SQL Server на другой компьютер, для завершения установки вам нужно выполнить еще несколько дополнительных действий. Подробности приведены в следующем разделе.
Подключение SQL Server к сети
Когда программа SQL Server устанавливается впервые, она может использоваться только на текущем компьютере, т. е. другие компьютеры не могут зарегистрироваться на сервере и начать использовать любые его БД.
На первый взгляд это сводит на нет основную цель применения SQL Server. (На второй взгляд тоже.) Однако корпорация Microsoft знает, что если они выпускают программный продукт, широко открытый остальному миру с его хакерами, взломщиками и всякого рода околокомпьютерными злоумышленниками, кто-то где-нибудь да достучится до него. По этой причине программа SQL Server применяет самый безопасный подход — она ограничивает доступ к себе текущим компьютером до тех пор, пока вы не дадите ей разрешение принимать внешние вызовы.
Для того чтобы открыть SQL Server для внешнего мира, необходимо изменить два конфигурационных параметра. Если вы работаете под управлением ОС Windows XP или Vista, также нужно настроить брандмауэр Windows, чтобы он пропускал SQL Server. Самые свежие инструкции по установке можно найти в статье из Базы знаний (Knowledge Base) на Web-странице http://support.microsoft.com/kb/914277.
После внесения этих изменений другие пользователи, наконец, смогут связаться с программой SQL Server и попробовать зарегистрироваться. Однако дело еще не сделано. SQL Server все еще может отказать пользователям, т. к. программа не предоставляет доступа тем, кому не доверяет.
Кому же доверяет SQL Server Express? Далее приведена вся подноготная.
Когда программа SQL Server устанавливается впервые, она настроена на доверие администратору компьютера, на котором проходила установка. (Технически быть администратором означает, что ваша учетная запись Windows принадлежит группе Администраторы (Administrators).)
Если вы при установке выбрали аутентификацию в режиме Mixed mode... (Смешанный режим...), доступ будет разрешен тому, кто предоставит имя пользователя и пароль sa, заданные во время установки.
Если вы хотите, чтобы программа SQL Server доверяла другим пользователям, придется выполнить кое-что еще. Обычно вы должны гарантировать, что каждый пользователь, нуждающийся в работе программы SQL Server, принадлежит одной из Windows-групп (группа — это коллекция пользователей, имеющая осмысленное название, например, Гости (Guests),
Администраторы (Administrators) ЛюбителиБД (DatabaseLovers) и т. д.). Создание группы — это задача установки ОС Windows, поэтому для ее выполнения необходимо проконсультироваться с сетевым администратором. После того как дело сделано, нужно сообщить программе SQL Server о необходимости доверять вашей группе. Для этого можно применять несколько методов, но легче всего загрузить из Интернета бесплатное программное средство SQL Server Management Studio (см. рис. 20.2). Дополнительные сведения можно найти в справке SQL Server Management Studio Help (рассчитанной на технически грамотных пользователей) или поискать книгу, посвященную администрированию в программе SQL Server.
Примечание
В данный момент вы, возможно, удивлены тем, что программа SQL Server так усложняет жизнь. Причина кроется в том, что она разработана в расчете на максимальную гибкость. Когда вы просто пытаетесь разрешить пользователям работать с вашей БД, модель безопасности программы кажется до нелепости сложной, но она необходима, когда вам нужно четко управлять разрешениями для определенных действий с БД, предоставляемыми разным пользователям.
Создание БД SQL Server
Вы прошли сквозь долгий и изнурительный процесс установки. Сейчас пора пожинать плоды вашего труда и приступить к созданию вашей первой БД SQL Server.
Программа Access предоставляет два способа создания БД SQL Server:
можно взять обычную БД Access и преобразовать ее. Программа создает нужные вам таблицы и передает все данные в программу SQL Server;
можно использовать программу Access для создания с нуля новой БД SQL Server.
Как правило, преобразование — самый легкий вариант, поскольку разрешает разработать таблицы с помощью хорошо знакомых вам средств, а затем передать данные. (Как вы увидите, создание в программе Access таблицы SQL Server аналогично, но чуть отличается от процесса создания обычной таблицы Access. Это похоже на чувство, которое возникает, когда вы проснулись утром и обнаружили, что кто-то перевернул вашу коллекцию CD-дисков в ящике для белья. Ничего не пропало, но все не там, где вы привыкли находить.)
У метода прямого создания тоже есть свои достоинства. Важнее всего то, что он предоставляет больший контроль, поскольку лишен этапа преобразования. БД Access неточно соответствуют БД SQL Server (например, используемые типы данных похожи, но слегка отличаются). Если создавать БД с самого начала в программе SQL Server, вы избежите любых потенциальных проблем преобразования.
В следующих разделах вы познакомитесь с обоими подходами.
Преобразование БД
У программы Access есть удобный Мастер преобразования в формат SQL Server (Upsizing wizard), который превращает любую БД Access в БД SQL Server. Этот мастер аналогичен мастеру разделения БД — когда вы закончите, у вас будет серверная и клиентская части БД. Клиентская часть — файл Access, содержащий ваши формы, отчеты, макросы и программный
код. Серверная часть — это данные (и обычно запросы), которые хранятся в надежныхруках программы SQL Server.
Вот как взять в оборот Мастер преобразования.
1. Откройте БД, которую хотите преобразовать.
Выберите на ленте Database Tools → Move Data → SQL Server (Работа с базами данных → Переместить данные → SQL-Server)1.
2.На экране появится первое окно Мастера преобразования (рис. 20.5).
Рис. 20.5. Обычно мастер преобразования применяется для переноса данных из файла БД Access в замечательную новую БД SQL Server
3. Выберите переключатель Create new database (создать базу данных) и затем нажмите кнопку Next (Далее).
Если вы уже создали БД SQL Server на компьютере с программой SQL Server (например, с помощью другого средства управления БД), можно было бы выбрать переключатель Use existing database (использовать существующую базу данных) для переноса ваших таблиц Access в эту БД. Но почти всегда имеет смысл создавать новую БД. Помимо всего прочего процессор БД, такой как SQL Server, может хранить практически неограниченное число БД.
4. На следующем этапе (рис. 20.6) необходимо сообщить программе Access, где искать сервер вашей БД. Сначала введите в поле в верхней части окна имя сервера.
Имя сервера состоит из имени компьютера, на котором запущена программа SQL Server, за которым следует обратный слэш, а затем слово SQLEXPRESS. Если компьютер, выполняющий программу SQL Server, назван FudgeServer, вы найдете свою БД на FudgeServer\SQLEXPRESS. Если вы подключаетесь к полной версии программы SQL Server
1 В данной главе рассматривается нерусифицированная версия программы Access. — Ред.
(не к
версии Express),
вторая часть имени, как правило, не
нужна, достаточно Fudge-Server.
Обратитесь за помощью к вашему
администратору БД.
Рис. 20.6. В этом окне программа Access собирается подключиться к компьютеру, названному MYSERVER, на котором выполняется программа SQL Server Express
Примечание
Для выяснения имени вашего компьютера, найдите пиктограмму Мой компьютер (My Computer) (на вашем рабочем столе или в программе Проводник (Windows Explorer)), щелкните ее правой кнопкой мыши и выберите строку Свойства (Properties). Далее перейдите на вкладку Имя компьютера (Computer Name). Вы увидите имя вашего компьютера и полезную кнопку Изменить... (Change), которой можно воспользоваться для изменения этого имени.
5. Оставьте установленным флажок Use Trusted Connection (Доверительное соединение).
Этот шаг сообщает программе Access о необходимости подключения с помощью учетной записи Windows. Однако если вы хотите подключиться с другим именем пользователя и паролем, сбросьте упомянутый флажок и введите нужную информацию в поля ввода, расположенные в нижней части окна.
6. Введите имя вашей БД и щелкните мышью кнопку Next (Далее).
Пользуйтесь теми же правилами, которым вы следовали при именовании объектов БД - имена должны быть короткими, без пробелов и знаков пунктуации.
Примечание
Когда создается БД, программа SQL Server не сообщает вам имя реального файла БД (как правило, это несколько файлов). Имена файлов не так важны. Вам следует знать имя, которым вы наградили вашу БД (например, BoutiqueFudge). За кадром программа SQL Server хранит ваши данные в соответствующих файлах, поэтому вам беспокоиться об их именах, не стоит.
7. Выберите таблицы, которые хотите перенести в вашу БД (рис. 20.7), и щелкните мышьюкнопку Next (Далее).
Программа Access не разрешит выбрать запросы, которые вы хотите перенести в БД. Вместо этого она перенесет все запросы, связанные с выбранными вами таблицами. Другие объекты, такие как формы и отчеты, никогда не переносятся.
Рис. 20.7. Щелкните мышью кнопку > для переноса одной таблицы в список Export to SQL Server или кнопку » для переноса всех таблиц
8. Следующие этапы позволят управлять способом создания ваших таблиц в программе SQL Server (рис. 20.8). Измените нужные параметры и щелкните мышью кнопку Next (Далее).
В главе 2 вы узнали об индексах, а в главе 4 познакомились со значениями по умолчанию и условиями на значения. Обычно, если вы потратили время на определение этих составляющих БД в программе Access, вам захочется сохранить их и в экспортируемых в SQL Server таблицах, поэтому оставьте соответствующие флажки установленными. Далее перечислены остальные параметры, которые можно использовать.
□ Флажок Table relationships (связи таблиц). Оставьте его установленным, что гарантирует сохранение в программе SQL Server связей между таблицами, которые вы определили. В этом случае у вас есть два варианта для выбора. Переключатель Use DRI (DRI), где DRI — сокращение для data relational integrity (ссылочная целостность данных), — обычная практика, обеспечивающая невозможность создания подчиненных или дочерних записей, ссылающихся на несуществующую главную или родительскую запись. Переключатель Use triggers (Триггеры) заставляет программу SQL Server применять менее распространенные средства каскадного удаления и каскадного обновления записей.
□Раскрывающийся список Add timestamp fields to tables? (Добавлять поля штампа времени в таблицы?) позволяет создавать поле с текущими датой и временем — дополнительное поле, основная цель которого фиксировать момент времени внесения изменения. Данное поле иногда применяется для запрета накладывающихся изменений, т. к. оно позволяет проверить, не сделал ли кто-то еще изменений в записи с тех пор, как вы последний раз ее просматривали. Обычно поля с датой и временем не добавляются. Лучше вставить их в таблицу позже, когда вы решите, что хотите воспользоваться этой возможностью.
Рис. 20.8. Если вас пугают все параметры в этом окне, просто щелкните мышью кнопку Next, чтобы оставить все, как есть. Стандартные установки — как правило, то, что вам нужно
Флажок Only create the table structure... (создать только структуру таблицы...). С помощью этого параметра можно создать все таблицы в программе SQL Server, но не переносить данные. Этот вариант удобен, если в данный момент файл БД Access тестируется и в нем много не реальных, а тестовых данных.
9. На последнем этапе решается, как поступить с исходным файлом Access. Обычно выбирается вариант Create a new Access client/server application (Создать новое приложение Access).
Далее описывается назначение каждого из трех возможных вариантов.
Вариант Create a new Access client/server application (создать новое приложение Access). Если выбран этот вариант, создается файл Access специального типа, называемый проектом Access. Вы заметите разницу, т. к. у этого файла расширение adp. Данный файл — клиентская БД, содержащая все ваши отчеты, формы, программный код и специальный набор ссылок, позволяющих взаимодействовать с таблицами, находящимися на сервере. (Исходный файл БД Access остается, но вы, наверное, просто удалите его, потому что все ваши данные есть в программе SQL Server.)
Вариант Link SQL Server tables to existing application (связать таблицы SQL Server с существующим приложением). Этот вариант аналогичен созданию проекта Access за исключением того, что он модифицирует файл текущей БД, превращая его в клиентскую БД. Все таблицы, которые только что были перенесены, переименовываются добавлением в конец имени слова "local" (локальная) (таким образом, таблица Products становится таблицей Products_iocal). Кроме того, вы получите новый набор связанных таблиц с исходными именами. Каждая связанная таблица позволяет обращаться к соответствующей таблице в программе SQL Server. После того, как убедитесь, что связи таблиц действуют, вероятно, стоит удалить локальные таблицы, чтобы не путаться. (Дополнительную информацию о связанных таблицах см. в примечании "На профессиональном уровне. Проекты Access no сравнению со связанными таблицами" далее в этом разделе.)
Вариант No application changes (не изменять приложение). При выборе этого варианта данные переносятся, но ваша БД Access не изменяется. Это означает наличие двух наборов данных: один набор в файле БД Access и другой в файле SQL Server (который можно просматривать и корректировать в программе Access). Такой результат обычно не то, что вам нужно.
10. Щелкните мышью кнопку Next (Далее).
Если создается проект Access (как описано в предыдущем пункте), программа Access запрашивает, хотите ли вы открыть новый проект клиентской БД прямо сейчас или сохранить открытой старую БД. Обычно появляется желание открыть новый файл, чтобы можно было в нем работать.
11. Щелкните мышью кнопку Finish (Готово) для того, чтобы начать процесс преобразования.
ПрограммаAccess подключается к SQL Server и начинает переносить все данные. Во время ее работы вы видите индикатор выполнения процесса (рис. 20.9).
Когда Access закончит, программа выведет на экран отчет со сводными данными о завершенном процессе. Отчет можно напечатать или выбрать на ленте Print Preview → Close Preview → Close Print Preview (Предварительный просмотр → Закрыть → Закрыть окно предварительного просмотра) для возврата к вашей БД.
Рис. 20.9. Процесс может занять какое-то время, зависящее от количества данных
Процесс преобразования обычно выполняется без проблем. Но не все данные переживут преобразование. Далее перечислены ингредиенты, которые могут быть потеряны.
■ Поля гиперссылок. Они превращаются в обычные текстовые поля.
Поля типа Вложение. Они становятся обычными текстовыми, полями, но в этих полях содержатся только имена файлов, которые вы поместили в БД как вложения.
Многозначные поля. Вы получите список значений, разделенных точкой с запятой. Такой результат содержит верные данные, но в форме, которую не может использовать программа SQL Server. Любые отношения или запросы, использующие эти данные, потерпят неудачу.
Если создается проект Access (а не просто связанные таблицы), ваши запросы тоже преобразуются. В результате потеряются следующие составляющие, поскольку программа SQL Server их не поддерживает:
запросы на изменение (см. главу 8) с параметрами;
перекрестные запросы;
запросы, ссылающиеся на значения, хранящиеся в форме. (Форма находится в вашей клиентской БД, поэтому после переноса запроса у него не будет доступа к данной информации.);
нестандартные запросы, которые были созданы в режиме SQL-команды, а не в Конструкторе, например запросы на объединение.