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

Как разрешить повторяющиеся значения в access

  • автор:

Как разрешить повторяющиеся значения в access

Регистрация: 28.06.2008

Сообщений: 8

Повторяющиеся значения

Добрый день!
1) Работала задача в Access работала и вдруг стала выдавать (при попытке внести новую запись) — «Изменения не были успешно внесены из-за повторяющихся значений в индексе, ключевых полях или связях . » — картинку прилагаю
2) Удалял из основной таблицы — значения, начиная с последних и получается, что начинает работать нормально, если удалить все записи, кроме первой
3) А если учесть, что в этой таблице более 5000 записей, то удалять не хотелось бы .
4) Не подскажете ли как конкретно найти из-за чего возникает этот затык и как его ликвидировать?
Игорь

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

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

Создать уникальный индекс можно двумя основными способами:

  • Заблокируйте для свойства поля «Индексированные» (без повторов) Для этого можно открыть таблицу в Конструктор. Этот способ прост, и его удобно выбирать, если нужно изменять только одно поле за раз.
  • Создание запрос определения данных для создания уникального индекса Это можно сделать с помощью режим SQL. Этот способ не так прост, как конструктор, но имеет преимущество: вы можете сохранить запрос определения данных и использовать его позже. Это полезно, если вы периодически удаляете и повторно создаете таблицы и хотите использовать уникальные индексы для некоторых полей.

В этой статье

  • Заблокируйте для свойства поля «Индексированные» (без повторов)
  • Создание уникального индекса для поля с помощью запроса определения данных

Заблокируйте для свойства поля «Индексированные» (без повторов)

  1. В области навигации щелкните правой кнопкой мыши таблицу с полем и выберите «Конструктор».
  2. Выберите поле, которое должно иметь уникальные значения.
  3. В области «Свойства поля» в нижней части конструктора таблицы на вкладке «Общие» установите для свойства «Индексированные» (без повторов)«Да».
  4. Сохраните изменения в таблице.

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

Создание уникального индекса для поля с помощью запроса определения данных

  1. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
  2. На вкладке «Конструктор» в группе «Результаты» щелкните стрелку под кнопкой «Вид»и выберите SQL «Вид».
  3. Удалите все существующие SQL из запроса. (Скорее всего, в Access просто отобразит select, прежде чем удалять существующий текст.)
  4. Введите или введите в SQL следующую SQL запрос:

CREATE UNIQUE INDEX index_name
ON table (field);

  • Замените index_name именем указателя. Используйте имя, которое помогает определить, для чего используется индекс. Например, если в индексе нужно убедиться, что номера телефонов уникальны, можно назвать его unique_phone.
  • Замените таблицу именем таблицы, содержаной поле для индексации. Если имя таблицы имеет пробелы или специальные символы, необходимо в скобках.
  • Замените поле именем поля, которое нужно индексировать. Если имя поля имеет пробелы или специальные символы, его необходимо заключено в квадратные скобки.

Как разрешить повторяющиеся значения в access

Здравствуйте. Есть программа и в ней есть авторизация и регистрация пользователей. В регистрации указывается логин, пароль, должность. Информация о пользователях находится в Access. Чтобы запретить регистрировать пользователя с ником, который был уже раньше зарегистрирован(занят), я сделал поле ‘Логин’ в БД ключевым. Но при регистрации в программе мне выбивает ошибка — «Изменения не были успешно внесены из-за повторяющихся значений в индексе ключевых полях или связях. Измените данные в поле или полях, содержащих повторяющиеся значения, удалите индекс или переопредилите его, чтобы разрешить повторяющиеся значения, и повторите попытку!»/
Как можно или программно запретить ввод повторяющихся значений, или чтоб выдавало ошибку с моим текстом?
Спасибо!
Вот код регистрации:

ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(«INSERT INTO Пользователи (Логин, Пароль, Должность)»);
ADOQuery1->SQL->Add(«VALUES (:Param1, :Param2, :Param3)»);
ADOQuery1->Parameters->ParamByName(«Param1»)->Value = Form3->Edit1->Text;
ADOQuery1->Parameters->ParamByName(«Param2»)->Value = Form3->Edit2->Text;
ADOQuery1->Parameters->ParamByName(«Param3″)->Value = Form3->Edit3->Text ;
ADOQuery1->ExecSQL();
MessageBox (0,»Новый пользователь добавлен»,»Успех»,0);
Сообщ. #2 , 03.05.13, 18:59

Рейтинг (т): 123
Цитата Sera_tovt @ 03.05.13, 14:39

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

1. Обернуть ExecSQL() в try. catch()
ADOQuery1->ExecSQL();
// выводите ваше сообщение

Какой именно тип исключения нужно ловить, определите самостоятельно.
2. Сделать предварительный запрос:

Как разрешить повторяющиеся значения в access

Поиск повторяющихся записей с помощью запроса Access

Обубликовано: 25.08.2017

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

Поиск повторяющихся записей с помощью запроса Access

Чтобы выполнить поиск повторяющихся записей с помощью запроса Access воспользуемся мастером запросов. Перейдем на вкладку «Создание» — пункт «Мастер запросов».

Поиск повторяющихся записей с помощью запроса Access

Далее выбираем пункт «Повторяющиеся записи».

Поиск повторяющихся записей с помощью запроса Access

Мы можем произвести поиск повторяющихся записей с помощью запроса Access в таблицах или в запросах. Давайте выберем таблицу «Клиенты».

Поиск повторяющихся записей с помощью запроса Access

Предположим нам надо найти всех однофамильцев из таблицы «Клиенты». Выбираем поле «Фамилия». Далее.

Поиск повторяющихся записей с помощью запроса Access

Здесь мы указываем какие еще поля нужно выводить помимо поле «Фамилия». Выбираем поля: «Имя», «Отчество», «Адрес» и «Телефон».

Поиск повторяющихся записей с помощью запроса Access

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

Поиск повторяющихся записей с помощью запроса Access

Поиск повторяющихся записей с помощью запроса Access

Поиск повторяющихся записей с помощью запроса Access

Поиск повторяющихся записей с помощью запроса Access

Рассмотрим второй пример. Создадим простой запрос на выборку.

Поиск повторяющихся записей с помощью запроса Access

Запустим данный запрос. У нас выводится информация по всем покупкам всех клиентов.

Поиск повторяющихся записей с помощью запроса Access

Теперь снова запустим мастер запросов и посмотрим как работает поиск повторяющихся записей с помощью запроса Access.
В мастере запросов выбираем ранее созданный запрос.

Поиск повторяющихся записей с помощью запроса Access

В качестве полей-повторов выбираем: «Фамилия», «Имя», «Модель». В качестве дополнительных полей выбираем все оставшиеся поля запроса.

Поиск повторяющихся записей с помощью запроса Access

Поиск повторяющихся записей с помощью запроса Access

У нас выводится список клиентов, которые в разное время покупали один и тот же товар.

Поиск повторяющихся записей с помощью запроса Access

Мы рассмотрели как работает поиск повторяющихся записей с помощью запроса Access.

Если вы хотите узнать, как можно найти однофамильцев в базе Access вторым способом, то переходите по ссылке ЗДЕСЬ.

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

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

https://alkogolizm-zhi.vyvod-iz-zapoya-na-domu-sankt-peterburg-abc.ru/