Главная страница
Навигация по странице:

  • Работа с базами данных → Работа с базами данных → Диспетчер связанных таблиц

  • Диспет­ чер связанных таблиц).

  • Всегда выдавать запрос ново­ го местонахождения

  • Всегда выдавать запрос нового местонахождения

  • Аварийная ситуация. Мистическая ошибка “Файл уже используется”

  • Внешние данные → Импорт → Access

  • Рис. 18.6.

  • Импорт таблиц ... в текущую базу данных

  • Импорт объектов

  • CreditCards

  • CreditCards . Р ис. 18.7.

  • Внешние данные → Импорт → » Access

  • Блокировка вашей клиентской БД

  • Параметры

  • Часто задаваемый вопрос. Когда не следует пользоваться форматом ACCDE

  • Использование БД совместно с пользователями, у которых нет Access

  • Office → Параметры Access

  • Краткое содержание 29 Об этих стрелках 30 о сочетаниях клавиш 32 о щелчках кнопкой мыши 33 Примеры 33


    Скачать 19.64 Mb.
    НазваниеКраткое содержание 29 Об этих стрелках 30 о сочетаниях клавиш 32 о щелчках кнопкой мыши 33 Примеры 33
    АнкорAccess_2007.doc
    Дата16.03.2017
    Размер19.64 Mb.
    Формат файлаdoc
    Имя файлаAccess_2007.doc
    ТипКраткое содержание
    #3862
    страница52 из 65
    1   ...   48   49   50   51   52   53   54   55   ...   65

    Примечание

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

    К счастью, связи легко обновляются. Выполните следующие действия.

    1. Выберите на ленте Работа с базами данных Работа с базами данных Диспетчер связанных таблиц (Database Tools Database Tools Linked Table Manager) (или щелкните правой кнопкой мыши любую связанную таблицу и затем выберите Диспет­чер связанных таблиц).





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

    На экране появится окно Диспетчера связанных таблиц со списком всех связанных таб­лиц вашей БД (рис. 18.5).





    Рис. 18.5. В этой БД восемь связанных таблиц. Все ссылки указывают на одну и ту же серверную БД, общую для всех, что не является обязательным условием

    2. Установите флажок рядом с каждой ссылкой, которую хотите изменить.

    Если нужно обновить все ссылки, щелкните мышью кнопку Выделить все (Select All).

    Чаще всего все ваши ссылки будут указывать на один и тот же файл БД. Но если нужно связать таблицы с разными файлами, установите флажок Всегда выдавать запрос ново­го местонахождения (Always prompt for new location).

    3. Щелкните мышью кнопку ОК.

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

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

    Аварийная ситуация.

    Мистическая ошибка “Файл уже используется”
    Теперь, когда БД с многопользовательской поддержкой создана, вы рассчитываете, что она будет поддерживать толпу пользователей, поэтому вас приводит почти в шоковое состояние таинственная ошибка "Файл уже используется" ("File already in use"). Разве не для того создаются БД с многопользовательской поддержкой, чтобы оставаться дос­тупными, даже когда кто-нибудь их использует?

    Эта ошибка возникает, поскольку кто-то уже открыл БД с монопольным доступом (Exclusive mode). Монопольный доступ (см. разд. "Открытие БД с монопольным досту­пом " далее в этой главе) позволяет одному пользователю связаться с БД и заблокиро­вать попытки всех остальных. Хитрость заключается в том, что при определенных об­стоятельствах программа Access может применять монопольный доступ, даже если вы ее об этом не просили.

    Наиболее распространенная проблема — отсутствие у пользователя подходящих разре­шений на папку с общим доступом, в которой хранится многопользовательская БД. (Разрешения (Permissions) — составляющая системы безопасности ОС Windows, опре­деляющая способ использования файлов и папок тем или иным пользователем.) В осо­бенности эта проблема проявляется, когда вы первым открываете БД и не имеете раз­решения на создание новых файлов. В этой ситуации программа Access не может создать файл с расширением laccdb. Этот файл отслеживает блокировки (см. разд. "Применение блокировок для предотвращения наложения обновлений" далее в этой главе). Без файла с расширением laccdb Access не может координировать работу многих поль­зователей. Поэтому программа тихо переходит в режим монопольного доступа, который блокирует остальные обращения к БД.

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

    Разделение БД вручную

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

    Для разделения серверной БД существуют некоторые веские основания. К ним относят­ся следующие.

    Повышение надежности. На самом деле, если один файл будет поврежден, остальные
    останутся в прежнем состоянии.

    • Повышение уровня безопасности. С помощью средств ОС Windows вы можете управлять разрешениями на открытие конкретных файлов. Благодаря этим средствам можно ис­пользовать преимущества разделения БД для блокирования доступа пользователей к тем частям серверной БД, с которыми они не связаны.

    Возможность дальнейшего роста файла БД. Как упоминалось ранее, программа Access
    ограничивает размер БД 2 Гбайт. Если планируется хранить большое число записей с
    вложениями (например, изображениями), хорошо бы иметь уверенность в том, что дос­
    таточно дискового пространства доступно в данный момент и будет доступно в обозри­
    мом будущем.

    Для разделения БД вручную необходимо использовать средства импорта и экспорта программы Access. Описанные далее действия продемонстрируют разделение БД Boutique Fudge на три отдельных файла, таким образом, вы сможете хранить данные кредитных карт отдельно от остальной информации. (Если хотите повторять эти действия на компьютере, найдите БД примеров на странице "Missing CD" Web-сайта www.missingmanuals.com.)

    1. Создайте необходимые серверные БД.

    В данном примере вам нужны две серверные БД: одна для хранения данных кредитных карт (назовем ее BoutiqueFudgeSecrets_be.accdb) и вторая для остальных подробно­стей (назовем ее BoutiqueFudge_be.accdb). Прежде чем двигаться дальше, создайте обе эти БД в программе Access и поместите их в общедоступную папку, но пока оставьте пустыми.

    2. Откройте файл серверной БД.

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

    Начнем с файла BoutiqueFudgeSecretsJbe.accdb. Он легче, поскольку должен включать всего одну таблицу.

    3. Выберите на ленте Внешние данные Импорт Access (External Data Import Access).

    Начнет работу мастер импорта (рис. 18.6).

    Примечание

    В данном примере импортируются таблицы, необходимые для серверной БД. Можно попробо­вать и обратный прием — экспортировать таблицы из клиентской БД. Но у операций экспорта больше ограничений, чем у импорта, т. к. они позволяют преобразовать только одну таблицу одновременно.




    Рис. 18.6. В первом окне мастера импорта выбирается файл с таблицами, которые надо импортировать, и затем решается, копировать таблицы или просто создать ссылки на них
    4. В поле Имя файла (File name) задайте местоположение вашей клиентской БД.

    В данном примере — это файл BoutiqueFudge.accdb, в настоящий момент содержащий полный набор (таблицы, запросы, формы и отчеты).

    5. Выберите первый переключатель Импорт таблиц ... в текущую базу данных (Import tables ... into the current database).

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

    6. Щелкните мышью кнопку ОК.

    На экране появится окно Импорт объектов (Import Objects) со всем содержимым вашей БД (рис. 18.7).

    1. Выделите таблицы, которые хотите импортировать, и щелкните мышью кнопку ОК.

    БД BoutiqueFudgeSecrets_be нужна единственная таблица CreditCards'>CreditCards (кредитные карты).

    После нажатия кнопки ОК программа Access копирует таблицы в вашу БД. Файл БД можно закрыть.

    8. Повторите пункты 2—7 для заполнения остальных файлов серверных БД.

    В данном примере необходимо открыть файл BoutiqueFudge_be.accdb и импортирован в него все таблицы за исключением таблицы CreditCards.

    Р
    ис. 18.7.
    На вкладке Таблицы перечислены все таблицы вашей БД. Выделите одинарным щелчком кнопки мыши те, которые хотите импортировать
    После завершения передачи данных в серверные БД, самое время обновить клиент­скую БД.

    9. Откройте клиентскую БД.

    В нашем случае файл BoutiqueFudge.accdb.

    10. Удалите все таблицы.

    Не бойтесь — в конце концов, вы только что скопировали их в файлы серверных БД. После завершения удаления следует выполнить последний шаг — создать нужные вам связи в клиентской БД. Если ваши таблицы связаны друг с другом, начните с подчи­ненных или дочерних таблиц.

    11. Выберите на ленте Внешние данные → Импорт →» Access (External Data Import Access).

    Снова запустится мастер импорта.

    12. Укажите мастеру импорта на первый серверный файл, выберите переключатель Создать связанную таблицу для связи с источником данных (Link to the data source) и затем нажмите кнопку ОК.

    Начните с файла BoutiqueFudgeSecrets_be.accdb.

    13. Выберите все таблицы и щелкните мышью кнопку ОК.

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

    14. Повторите пункты 11 — 13 для каждой серверной БД.

    Если вы начали с файла BoutiqueFudgeSecrets_be, пора перейти к файлу BoutiqueFudge_be, содержащему все остальные нужные вам таблицы.

    Если вы выполнили все перечисленные действия, то получите три файла БД, работаю­щие вместе: BoutiqueFudgeSecrets__be.accdb с информацией о кредитных картах, Boutique-Fudge__be.accdb с остальными таблицами и BoutiqueFudge.accdb с запросами, формами и отчетами. Если хотите увидеть окончательный продукт, загляните в загружаемые из Интер­нета примеры к данной главе. Перейдите в разд. "Защита базы данных" далее в этой главе, чтобы узнать, как применять разные параметры безопасности к различным серверным БД.

    Блокировка вашей клиентской БД
    Прежде чем выпустить вашу БД в жизнь, стоит подумать о вредных последствиях. В руках не слишком смышленых пользователей Access ваши любовно создаваемые формы и отчеты могут быть безнадежно испорчены. Эта самая частая жалоба в случаях совместного исполь­зования БД Access: раньше или позже любопытные или небрежные пользователи изменят что-нибудь, что не стоило трогать, и их клиентская БД перестанет работать.

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

    Секрет установки блокировки вашей клиентской БД заключается в замене расширения файла accdb на расширение accde. Несмотря на разницу всего в одной букве формат с рас­ширением accde ограничивает пользователей несколькими способами:

    • они не могут изменять формы и отчеты, на самом деле они даже не могут открывать эти
      объекты в режиме Конструктора;

    • они не могут создавать новые формы и отчеты;

    • они не могут переименовывать существующие формы и отчеты (хотя могут их удалить);

    • они не могут редактировать или даже просматривать ваш программный код и макросы. В действительности весь программный код откомпилирован, т. е. преобразован из операторов кода, о которых вы узнали в главах 16—17, в "стенографическую" запись, понятную только компьютеру.



    Примечание

    Программа Access предоставляет такие же возможности в отношении БД более старого mdb-формата. Для блокировки внесения изменений в файл с расширением mdb создайте файл с расширением mde.

    Создать файл с расширением accde проще простого. Достаточно выполнить следующие действия.

    1. Откройте вашу клиентскую БД.

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

    Если вы открыли ее не из надежного расположения (см. разд. "Задание надежного распо­ложения" главы 15), необходимо щелкнуть мышью кнопку Параметры (Options) на

    панели сообщений, выбрать команду Включить содержимое (Enable Content) и затем щелкнуть мышью кнопку ОК.

    3, Выберите на ленте Работа с базами данных → Работа с базами данных → Создать ACCDE (Database Tools Database Tools Make ACCDE).

    На экране появится диалоговое окно Сохранить как (Save As).

    4. Введите имя для вашего файла с расширением accde.

    Программа Access не изменит исходную БД — вместо этого она создаст копию нового формата.

    После создания файла с расширением accde убедитесь в том, что исходный файл с расширением accdb у вас в руках. Рано или поздно вам придется вносить изменения. Про­грамма Access не предоставляет никакого способа обратного преобразования файла с расширением accde в исходный формат, поэтому единственная возможность вернуться к первоначальному файлу — внести изменения и затем экспортировать его в новый файл с расширением accde.

    Примечание

    Если исходный файл с расширением accdb потерян, нет возможности изменить ваши формы и отчеты. Вы остаетесь с неизменной во времени БД. В качестве последнего средства можно обратиться к Web-пространству, в котором другие компании предлагают утилиты, умеющие (обычно) преобразовывать файл с расширением accde в файл с расширением accdb.

    Часто задаваемый вопрос.

    Когда не следует пользоваться форматом ACCDE
    Формат ACCDE подходит только для клиентских БД?

    Преобразовать в файл с расширением accde можно любую БД. Но следует дважды по­думать, прежде чем применять преобразование к неклиентской БД, поскольку трудно обновлять файл с расширением accde, содержащий данные.

    Для того чтобы понять проблему, представьте себе, что создается файл с расширением accde для БД, содержащей всю информацию о продажах по сниженным ценам средств по уходу за волосами. Эта БД включает все исходные данные — списки клиентов, дос­тупные сервисы и счета — и содержит формы и отчеты, облегчающие жизнь. Разделения на серверную и клиентскую часть нет.

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

    Конечно, вы не можете редактировать непосредственно файл с расширением accde, по­этому вы доводите до совершенства отчет в исходном файле с расширением accdb и соз­даете новый файл с расширением accde. И тут возникает проблема — в вашем исходном файле с расширением accdb старые данные. Теперь у вас два неполных файла: accde-файл с новыми данными, но старыми формами и отчетами и новый accde-файл с пра­вильными формами и отчетами, но некорректными данными. Для разрешения этой си­туации нужно выполнить требующую много времени операцию импорта, как описыва­лось ранее.

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

    Использование БД совместно с пользователями, у которых нет Access
    Было бы неплохо, если бы пользователи могли работать с вашей БД и пользоваться вашими формами и отчетами без установки полной версии программы Access на своих компьюте­рах? Это может показаться фантастикой, но такой способ есть.

    Корпорация Microsoft предоставляет усеченную версию программы Access, которая на­зывается исполняемой средой Access(Access runtime engine). Вместо покупки отдельной ко­пии Access для каждого пользователя, которому приходится использовать вашу БД, можно им всем дать копию такой исполняемой среды. Затем они могут использовать ее для загруз­ки вашей БД и применения ее форм и отчетов для просмотра и редактирования данных.

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

    Примечание

    Если в исполняемой среде Access использовать хорошо спроектированную клиентскую БД, пользователи могут даже не знать, что они работают в Access.
    Итак, как же добраться до исполняемой среды Access? Во время написания книги она еще не была выпущена. Однако корпорация Microsoft обещала сделать ее доступной в нача­ле 2007 г. (и в отличие от Access 2003 Microsoft обещает, что исполняемая среда Access 2007 будет доступна на ее Web-сайте и тесно связана со средствами программирования Visual Studio). Для того чтобы узнать последние новости о состоянии исполняемой среды Access, щелкните кнопкой мыши ссылку на страницу "Missing CD" на Web-сайте www.missingmanuals.com.

    Между тем уже сейчас можно посмотреть, как будет выглядеть БД в исполняемой среде. Вот как это сделать.

    1. Откройте вашу БД и убедитесь в том, что у нее есть стартовая форма или форма просмотра.

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

    Для установки стартовой формы выберите кнопку Office Параметры Access (Office Access Options). В списке слева выберите категорию Текущая база данных (Current Da­tabase). И, наконец, задайте в параметре Форма просмотра (Display Form) форму, кото­рую хотите отображать автоматически при открытии БД.

    2. Замените расширение файла БД accdb расширением accdr. (Возможно, буква "r" обозначает runtime (исполняемая).)

    3. Дважды щелкните кнопкой мыши вашу БД для запуска в режиме исполнения. Вы уви­дите форму просмотра, но без ленты и области переходов (рис. 18.8).

    Не беспокойтесь, Access может восстановить расширение accdb в вашем файле, чтобы вернуть его обычный формат.
    1   ...   48   49   50   51   52   53   54   55   ...   65


    написать администратору сайта