Перейти к содержимому

Данные таблицы нарушают условия целостности access как исправить

  • автор:

Данные таблицы нарушают условия целостности access как исправить

В Microsoft Access обеспечивается возможность автоматической проверки целостности данных в связанных полях. Целостность даных означает систему правил, используемых для поддержания связей между записями в связанных таблицах, а также для обеспечения защиты от случайного удаления или изменения связанных данных. Установить проверку целостности данных можно, если выполнены следующие условия:

  • связанное поле главной таблицы является ключевым полем или имеет уникальный индекс;
  • связанные поля имеют один тип данных. Здесь существует два исключения. Поле счетчика может быть связано с числовым полем, если в последнем поле в свойстве Размер поля (FieldSize) указано значение Длинное целое (Long Integer), или в обоих полях свойство Размер поля (FieldSize) имеет значение Код репликации (Replication ID);
  • обе таблицы принадлежат одной базе данных Microsoft Access.

Таблицы одного приложения могут содержаться и в нескольких файлах базы данных (см. также гл. 3).

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

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

Чтобы эти правила контролировались для конкретной связи, при ее создании следует установить флажок Обеспечение целостности данных (Enforce Referential Integrity). Тогда любая попытка выполнить действие, нарушающее одно из перечисленных выше правил, приведет к выводу на экран предупреждения, а само действие выполнено не будет.

Чтобы преодолеть ограничения на удаление или изменение связанных записей, сохраняя при этом целостность данных, следует установить флажки каскадное обновление связанных полей (Cascade Update Related Fields) и каскадное удаление связанных записей (Cascade Delete Related Records). Если установлен флажок каскадное обновление связанных полей (Cascade Update Related Fields), то при изменении ключевого поля главной таблицы автоматически будут изменены и соответствующие значения поля связанных записей. Если установлен флажок каскадное удаление связанных записей (Cascade Delete Related Records), то при удалении записи в главной таблице удаляются и все связанные записи в подчиненной таблице.

Целостность данных

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

Контролировать целостность данных можно, если выполнены следующие условия:

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

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

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

Виды связей. В Access можно задать три вида связей между таблицами:

  • · Один-ко-многим,
  • · Мно-гие-ко-многим
  • · Один-к-одному.

Связь Один-ко-многим — наиболее часто используемый тип связи между таблицами. В такой связи каждой записи в таблице А может соответствовать несколько записей в таблице В (поля с этими записями называют внешними ключами), а запись в таблице В не может иметь более одной соответствующей ей записи в таблице А.

При связи Многие-ко-многим одной записи в таблице А может соответствовать несколько записей в таблице В, а одной записи в таблице В — несколько записей в таблице такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит по крайней мере из двух полей, одно из которых является общим с таблицей А, а другое — общим с таблицей В.

При связи Один-к-одному запись в таблице А может иметь не более одной связанной записи в таблице В и наоборот.

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

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

Тип создаваемой связи зависит от полей, для которых определяется связь:

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

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

СУБД Microsoft Access (MS Access) относится к системам, ориентированным на пользователя.

Среда MS ACCESS 2000

Рис.1. Среда MS ACCESS 2000.

Будем рассматривать СУБД Access как специализированного исполнителя, назначение которого — работа с реляционными базами данных. Среда MS Access представлена на рис.1.

Среда Access имеет интерфейс, характерный для Windows-приложений, и включает в себя следующие составляющие (сверху вниз): титульную строку с кнопками управления окном, главное меню, панель инструментов, рабочее поле и строку состояния.

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

Основные объекты MS Access: таблицы, запросы, формы, отчеты, макросы и модули.

Таблица — это главный тип объекта. Все остальные разновидности объектов являются производными от таблицы. Объекты, составляющие таблицу, — это записи и поля. Свойства элементов таблицы определяются типами полей, форматами полей и некоторыми другими параметрами.

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

Запрос — результат обращения пользователя к СУБД для поиска данных, добавления, удаления и обновления записей. Результат поиска (выборки) данных представляется в табличном виде. Термином «запрос» называют также сами команды обращения к СУБД.

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

Макросы и модули являются объектами повышенной сложности и при начальном знакомстве с MS Access могут не использоваться.

Еще одним объектом является схема — описание структуры связей в многотабличной базе данных.

Режимы работы СУБД Access многообразны. Есть режимы общего характера: работа с файлами (меню Файл); работа с буфером обмена (меню Правка); режим настройки среды (меню Вид); справочный режим (меню Справка).

Основным режимом можно назвать режим работы с базой данных. Он устанавливается командой Файл > Создать базу данных или Файл > Открыть базу данных.

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

После раскрытия на экране окна базы данных (рис. 1.2) становятся доступными режимы работы с основными объектами Access: таблицами, запросами, формами и отчетами. В каждом из этих режимов можно выбрать одну из трех командных кнопок: Открыть, Конструктор, Создать.

Если соответствующий объект еще не создан, то активной является только команда Создать. Если в окне выделен какой-то из существующих объектов, то активными будут также команды Открыть и Конструктор. Команда Открыть позволяет просмотреть объект, а команда Конструктор — просмотреть или изменить структуру объекта.

В столбец «имя поля» мы будем заносить имена столбцов нашей будущей таблицы (при этом нельзя использовать некоторые символы, в том числе точки и запятые). В столбце «тип данных» будем выбирать (используя кнопку вызова списка) тип данных. А то, что заносится в столбец «описание» затем появляется, в виде комментариев, в строке состояния (для проверки в одной из строк этого столбца напишите фразу: моя первая база данных).

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

Целостность данных. Ограничения, возникающие при задании целостности данных

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

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

Установить целостность данных можно, если выполнены следующие условия:

1. Связанное поле главной таблицы является ключевым полем или имеет уникальный индекс.

2. Связанные поля имеют один тип данных. Здесь существует два исключения. Поле счетчика может быть связано с числовым полем, если в последнем в свойстве «Размер поля «(FieldSize) указано значение «Длинное целое». А также поле счетчика можно связать с числовым полем, если и в обеих ячейках свойства «Размер поля» (FieldSize) задано значение «Код репликации».

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

Установив целостность данных, необходимо следовать следующим правилам:

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

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

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

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

Параметры объединения таблиц

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

Существует четыре основных типа объединений:

Внутренние объединения представляют собой запросы, в которых строки одной из объединяемых таблиц соответствуют строкам другой таблицы по значениям в связанных полях. При выполнении запроса с внутренним объединением в операцию включаются только строки, имеющие одинаковые значения в обеих связанных таблицах. Внутреннее объединение используется в том случае, когда запрос должен возвращать только те строки обеих таблиц объединения, значения связанных полей которых совпадают. В большинстве случаев для использования внутреннего объединения не нужно предпринимать каких-либо действий. Если ранее в окне схемы данных были созданы связи между таблицами, то при добавлении связанных таблиц в режиме конструктора запроса линии объединения создаются автоматически. Если накладываются условия целостности данных, то над линией объединения автоматически отображается цифра «1», означающая, что таблица находится на стороне «один» в отношении «один-ко-многим», а также знак бесконечности ∞ для указания таблиц, находящихся на стороне «многие». Даже если связи не были созданы, внутренние объединения будут созданы автоматически.

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

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

Объединение по несовпадению. Объединения не всегда базируются на соотношении равенства связываемых полей. Объединение может базироваться на любом операторе сравнения, например, «больше» (>), «меньше» (<) или «не равно» (<>). Объединения, базирующиеся на неравенстве, называются объединениями по несовпадению.

Если требуется скомбинировать строки из двух источников данных на основе значений полей, которые не равны, используется объединение по несовпадению. Обычно объединения по несовпадению базируются на операторах сравнения «больше» (>), «меньше» (<), «больше или равно» (>=) или «меньше или равно» (<=). Объединения по несовпадению, базирующиеся на операторе «не равно» (<>), могут вернуть почти столько же строк, как перекрестное объединение, и их результаты будет трудно интерпретировать.

Дата добавления: 2018-02-28 ; просмотров: 564 ; Мы поможем в написании вашей работы!

Данные таблицы нарушают условия целостности access

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

Связанное поле главной таблицы является ключевым полем или имеет уникальный индекс.

Связанные поля имеют один тип данных. Здесь существует два исключения. Поле счетчика может быть связано с числовым полем, если в последнем в свойстве Размер поля (FieldSize) указано значение "Длинное целое". А также поле счетчика можно связать с числовым полем, если и в обеих ячейках свойства Размер поля (FieldSize) задано значение "Код репликации".

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

Установив целостность данных, необходимо следовать следующим правилам.

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

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

Невозможно изменить значение ключевого поля в главной таблице, если существуют записи, связанные с данной. Например, невозможно изменить код сотрудника в таблице "Сотрудники", если в таблице "Заказы" имеются заказы, относящиеся к этому сотруднику.

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

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

В Microsoft Access обеспечивается возможность автоматической проверки целостности данных в связанных полях. Целостность даных означает систему правил, используемых для поддержания связей между записями в связанных таблицах, а также для обеспечения защиты от случайного удаления или изменения связанных данных. Установить проверку целостности данных можно, если выполнены следующие условия:

  • связанное поле главной таблицы является ключевым полем или имеет уникальный индекс;
  • связанные поля имеют один тип данных. Здесь существует два исключения. Поле счетчика может быть связано с числовым полем, если в последнем поле в свойстве Размер поля (FieldSize) указано значение Длинное целое (Long Integer), или в обоих полях свойство Размер поля (FieldSize) имеет значение Код репликации (Replication >

Таблицы одного приложения могут содержаться и в нескольких файлах базы данных (см. также гл. 3).

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

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

Чтобы эти правила контролировались для конкретной связи, при ее создании следует установить флажок Обеспечение целостности данных (Enforce Referential Integrity). Тогда любая попытка выполнить действие, нарушающее одно из перечисленных выше правил, приведет к выводу на экран предупреждения, а само действие выполнено не будет.

Чтобы преодолеть ограничения на удаление или изменение связанных записей, сохраняя при этом целостность данных, следует установить флажки каскадное обновление связанных полей (Cascade Update Related Fields) и каскадное удаление связанных записей (Cascade Delete Related Records). Если установлен флажок каскадное обновление связанных полей (Cascade Update Related Fields), то при изменении ключевого поля главной таблицы автоматически будут изменены и соответствующие значения поля связанных записей. Если установлен флажок каскадное удаление связанных записей (Cascade Delete Related Records), то при удалении записи в главной таблице удаляются и все связанные записи в подчиненной таблице.

Настройка связей между таблицами

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

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

Просмотр, создание, редактирование и удаление связей осуществляются на схеме данных (рис. 2.21). Чтобы открыть схему данных, нажмите кнопку Схема данных на вкладке Работа с базами данных .

Рис. 2.21. Схема данных

Итак, начнем с рассмотрения процедуры создания связи.

Если вы хотите создать связь между двумя таблицами, выполните следующие действия.

1. Перед созданием связи обе связываемые таблицы должны отображаться на схеме данных. Если таблица отсутствует на схеме данных, ее требуется вначале добавить. Для этого нажмите кнопку Отобразить таблицу на вкладке Конструктор . Затем в появившемся окне Добавление таблицы щелкните кнопкой мыши на названии таблицы и нажмите кнопку Добавить . После добавления всех нужных таблиц нажмите кнопку Закрыть .

2. Щелкните кнопкой мыши на названии поля, которое является первичным ключом в родительской таблице. Удерживая нажатой кнопку мыши, перетащите поле первичного ключа, наведите указатель на название того поля дочерней таблицы, которое должно стать вторичным ключом (при этом в изображении указателя появится знак +), и отпустите кнопку мыши.

3. На экране появится окно Изменение связей (рис. 2.22). В этом окне указаны названия связываемых полей. Убедитесь, что поля для создания связи выбраны верно. В случае обнаружения ошибки выберите другие поля.

Рис. 2.22. Окно Изменение связей

4. Выберите режим обеспечения целостности данных (об этом режиме подробно будет рассказано в следующем подразделе). Рекомендуется установить флажок Обеспечение целостности данных . Затем нажмите кнопку Создать .

5. Сохраните изменения схемы данных, нажав комбинацию клавиш Ctrl+S .

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

Обеспечение целостности данных

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

Целостность данных может нарушиться в следующих ситуациях:

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

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

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

Исключить все эти ситуации позволяет режим автоматического обеспечения целостности данных. Этот режим включается отдельно для каждой связи в окне Изменение связи (см. рис. 2.22). Если установить флажок Обеспечение целостности данных , программа Access не допустит выполнения операций, ведущих к нарушению ссылочной целостности. Так, запрещается:

• сохранение записи с некорректным значением вторичного ключа;

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

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

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

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

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

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

На экране появится окно Изменение связей (см. рис. 2.22). В этом окне выполните необходимые изменения и нажмите кнопку ОК .

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

Чтобы удалить связь, щелкните кнопкой мыши на линии связи в схеме данных (линия при этом станет жирной) и нажмите клавишу Delete . На появившейся панели подтвердите необходимость удаления связи, нажав кнопку Да .

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

Отображение дочерних записей

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

Чтобы увидеть записи, ссылающиеся на данную родительскую запись, нажмите знак + слева от записи. Откроется подтаблица, содержащая дочерние записи (рис. 2.23).

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

• Если подтаблица не выбрана, при первом щелчке кнопкой мыши на знаке + появляется окно Вставка подтаблицы . В этом окне щелкните кнопкой мыши на названии нужной дочерней таблицы (при этом внизу окна отобразятся названия первичного ключа и вторичного ключа, с помощью которых образована связь таблиц). Нажмите кнопку ОК .

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

1) Перейдите в режим конструктора (кнопка Режим вкладки Главная ).

2) На вкладке Конструктор нажмите кнопку Страница свойств .

Рис. 2.23. Просмотр дочерних записей

3) В появившемся окне свойств (рис. 2.24) щелкните кнопкой мыши на значении свойства Имя подтаблицы . Справа от значения свойства появится кнопка

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

5) Сохраните изменения, нажав сочетание клавиш Ctrl+S .

6) Вернитесь в режим таблицы (нажмите кнопку Режим на вкладке Главная или Конструктор ).

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

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

Данные таблицы нарушают условия целостности access как исправить

1.9. Обеспечение целостности данных в Microsoft Access.

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

Связанное поле главной таблицы является ключевым полем или имеет уникальный индекс.

Связанные поля имеют один тип данных. Здесь существует два исключения. Поле счетчика может быть связано с числовым полем, если в последнем в свойстве Размер поля (FieldSize) указано значение «Длинное целое». А также поле счетчика можно связать с числовым полем, если и в обеих ячейках свойства Размер поля (FieldSize) задано значение «Код репликации».

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

Установив целостность данных, необходимо следовать следующим правилам.

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

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

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

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

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

Как исправить время выполнения Ошибка 3379 Невозможно создать отношения для обеспечения ссылочной целостности

В этой статье представлена ошибка с номером Ошибка 3379, известная как Невозможно создать отношения для обеспечения ссылочной целостности, описанная как Невозможно создать отношения для обеспечения ссылочной целостности. Существующие данные в таблице '| 2' нарушают правила ссылочной целостности в таблице '| 1'.

Информация об ошибке

Имя ошибки: Невозможно создать отношения для обеспечения ссылочной целостности
Номер ошибки: Ошибка 3379
Описание: Невозможно создать отношения для обеспечения ссылочной целостности. Существующие данные в таблице '| 2' нарушают правила ссылочной целостности в таблице '| 1'.
Программное обеспечение: Microsoft Access
Разработчик: Microsoft

Этот инструмент исправления может устранить такие распространенные компьютерные ошибки, как BSODs, зависание системы и сбои. Он может заменить отсутствующие файлы операционной системы и библиотеки DLL, удалить вредоносное ПО и устранить вызванные им повреждения, а также оптимизировать ваш компьютер для максимальной производительности.

О программе Runtime Ошибка 3379

Время выполнения Ошибка 3379 происходит, когда Microsoft Access дает сбой или падает во время запуска, отсюда и название. Это не обязательно означает, что код был каким-то образом поврежден, просто он не сработал во время выполнения. Такая ошибка появляется на экране в виде раздражающего уведомления, если ее не устранить. Вот симптомы, причины и способы устранения проблемы.

Определения (Бета)

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

  • Целостность — аспект объекта, который описывает его как неизменный с момента начала отсчета времени, в которое было записано описание его состояния, или описание продолжающегося функционирования свойства объект
  • Ссылочный — ссылочный относится к концепции ссылочной целостности реляционных баз данных.
  • Ссылочная целостность — ссылочная целостность свойство данных, которое требует, чтобы значение столбца атрибутов таблицы отношений существовало как значение другого столбца атрибутов в другой таблице отношений.
  • Отношения — отношения относятся к сопоставлениям между элементами один набор к другому набору, например, один к одному, один ко многим, многие ко многим.
  • Правила . Этот тег очень широкий, попробуйте более конкретным, используя теги, относящиеся к вашей проблеме.
  • Таблица — НЕ ИСПОЛЬЗУЙТЕ ЭТОТ ТЕГ; это неоднозначно
Симптомы Ошибка 3379 — Невозможно создать отношения для обеспечения ссылочной целостности

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

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

Fix Невозможно создать отношения для обеспечения ссылочной целостности (Error Ошибка 3379)

(Только для примера)

Причины Невозможно создать отношения для обеспечения ссылочной целостности — Ошибка 3379

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

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

Методы исправления

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

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

Как восстановить поврежденную базу данных Microsoft Access (один из рабочих вариантов)

spasenie-bazyid-annyihЗдравствуйте!

Как вы считаете, какой именно актив является одним из важнейших для любого бизнеса? Деньги, люди, хорошее лобби в правительстве? Это всё, конечно, важно, но многие забывают об еще одном — информации!

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

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

ускорение ПК

Что делать если нет резервной копии базы данных Microsoft Access?

Причины проблем с базами данных

Сейчас я говорю, разумеется, о базах данных в формате Microsoft Access. Чаще всего они перестают открываться по следующим причинам:

  1. Прерванный процесс изменения базы данных Microsoft Access. Например, пользователь пытался внести какие-то изменения в удаленную базу данных, но из-за сбоев сети он не смог закончить операцию. В этом случае, приложение Microsoft Access помечает базу как поврежденную. Ее легко восстановить, но некоторые данные могут быть утеряны безвозвратно;
  2. Вирусы. До боли знакомая проблема. Без комментариев;
  3. Проблемы с «железом» (компьютеры, блоки питания, сетевые устройства, диски и так далее). Что угодно: потеря пакетов на сетевых картах, поврежденные сектора на диске и многое другое также могут вызывать порчу базы данных;
  4. Некорректная работа плагинов для Microsoft Access, либо их неверная установка;
  5. Попытка одновременного доступа к одной базе данных и ее изменение;
  6. Сбои электропитания при работе с базой данных, вызывающие самопроизвольное выключение системы.

Анектодов.нет (а вы думаете куда подевался свет?).

С сайта анектодов.нет (а вы думаете куда подевался свет?).

👉 Кстати!

Самый легкий способ предотвратить почти все проблемы с базой данных — регулярно делать резервную копию!

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

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

ШАГ 1: пробуем встроенный бесплатный инструмент восстановления

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

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

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

👉 Для начала, обратите внимание, что Microsoft Access имеет собственные средства восстановления поврежденных баз данных. Чтобы воспользоваться ими, нужно сделать следующее:

  1. Открыть приложение Microsoft Access (просто приложение, а не поврежденную базу данных);
  2. Перейти в меню «File (Файл) / Info (Информация) / Compact & Repair Database» (Сжать и восстановить базу данных 👇);
  3. Выбрать поврежденную базу данных и нажать ОК;
  4. Дождаться успешного восстановления базы данных.

Microsoft Access — восстановление файла

Microsoft Access — восстановление файла

👉 Также попробуйте импортировать поврежденную базу данных в новый файл формата Microsoft Access. Для этого нужно сделать следующее:

  1. Открыть приложение Microsoft Access и создать новый файл базы данных;
  2. Выбрать вкладку «External data» (Внешние данные 👇);
  3. Указать, что требуется импорт файла Access;
  4. Установить нужные параметры для импорта файла и нажать OK.

External data (внешние данные)

External data (внешние данные)

ШАГ 2: используем спец. сервис и утилиту для восстановления

Если предыдущие шаги не увенчались успехом, рекомендую попробовать спец. инструменты для решения подобных «проблем». Речь идет об использовании сервиса: Recovery Toolbox for Access .

Как с ним работать:

  1. сначала необходимо открыть следующий URL-адрес: https://access.recoverytoolbox.com/online/ru/;
  2. далее нажать по кнопке «Select file» (Выбрать файл 👇);
  3. указать поврежденную базу данных Microsoft Access для закачки на сервер;
  4. ввести правильно свой адрес электронной почты;
  5. ввести код CAPTCHA;
  6. перейти к следующему этапу, нажав на клавишу «Next step»;
  7. если сервис «справился» с файлом — оплатить услугу и скачать восстановленную базу.

Скриншот с сайта Recovery Toolbox for Access

Скриншот с сайта Recovery Toolbox for Access

Есть один недостаток : как вы уже заметили, мы загружаем базу на удаленный сервер. А вдруг в базе данных имеется конфиденциальная информация? В этом случае, есть простое решение – использовать оффлайн версию (👇) сервиса Recovery Toolbox for Access.

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

Оффлайн версия Recovery Toolbox for Access не использует подключение к удаленным сервисам, все этапы выполняются в автономном режиме! Отмечу, что Recovery Toolbox for Access работает только под ОС Windows, программа совместима со всеми поддерживаемыми версиями Microsoft Access.

👉 Для работы с Recovery Toolbox for Access нужно сделать следующее:

  1. Скачать программу с офиц. сайта: https://access.recoverytoolbox.com/ru/;
  2. Установить Recovery Toolbox for Access на ваш компьютер (процесс стандартный, как и у любой др. программы) ;
  3. Запустить программу и выбрать файл Microsoft Access для восстановления (👇);
  4. Дождаться окончания анализа поврежденной базы данных;
  5. Сохранить восстановленный файл;
  6. Продолжить работу с восстановленной базой данных.

Указываем файл

Нажимаем далее

Указываем куда сохранить восстановленные данные

Указываем куда сохранить восстановленные данные

👉 Кстати, при использовании оффлайн версии Recovery Toolbox for Access, пользователь получает возможность восстанавливать неограниченное количество файлов Microsoft Access. Можете помогать коллегам, которые столкнулись с похожей проблемой.

Данные таблицы нарушают условия целостности access как исправить

сообщения об ошибках — это сообщения, которые объясняют, в чем состоит проблема и, самое главное, как ее исправить.

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

Самое простое решение — создать в справочной системе программы соответствующий раздел, разъясняющий содержание проблемы и причины ее возникновения. В самом же диалоговом окне с сообщением об ошибке может присутствовать кнопка «Справка» для вызова этого раздела.

Еще один пример решения, причем более изящного, данной проблемы является кнопка «Подробнее», при нажатии на которую диалоговое окно с сообщением об ошибке «распахивается», отображая более подробную информацию о причине возникновения сбоя. Так, например, организованы многие сообщения об ошибках в 32-разрядных версиях Windows, самое известное из которых — «Программа выполнила недопустимую операцию и будет закрыта». За кнопкой “Подробнее” в этом сообщении скрывается имя программы-виновника, а также адрес места возникновения ошибки.

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

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

При работе с базой данных могут возникнуть следующие ошибки:

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

— Сообщение о неправильном значении. Введенное значение не подходит для данного поля, т.к. заданный размер поля превышен или введен неверный тип данных.

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

— Сообщение об ошибке сохранения. При вводе записи была обнаружена ошибка, поэтому сохранение невозможно, все изменения будут потеряны.

— Сообщение о неверном значении. Ключ не может содержать нулевое значение.

— Сообщение об удалении таблицы. Удаление таблицы невозможно, потому что не удалены связи с этой таблицей.

— Сообщение о ключевых полях. Необходимо задать ключевые поля для связи с другими таблицами. Желательно сразу задать ключевое поле.

— Сообщение о замене таблицы. При вводе одинакового имени база данных запрашивает подтвердить замену.

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

— При сохранении изменений в каком-либо объекте (таблицы, формы, запросы, отчеты) база данных запрашивает разрешение на сохранение. Также база данных выводит это сообщение при сохранении нового объекта.

— Сообщение о целостности данных . Невозможно добавить или изменить запись, если нарушается целостность данных.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *