Попытка обновить запись с помощью формы, ошибка: «Запрошенные вами изменения в таблице не увенчались успехом, поскольку они создали бы повторяющиеся значения ...» - PullRequest
0 голосов
/ 02 ноября 2018

Я создаю базу данных, которая будет использоваться для отслеживания технического обслуживания оборудования в доме престарелых. Я использую MS Access 2010, и я бы сказал, что мои навыки находятся где-то между начинающим и средним, почти полностью самоучка для этого проекта.

Структура базы данных выглядит следующим образом:

tblAssetTypes: 
  TypeID (PK), 
  MaintenanceSchedule, 
  EquipmentType, 
  EquipmentSubgroup, 
  MaintenanceTime, 
  TasksRequired

tblUniqueAssets: 
  UniqueID (PK), 
  StorageLocation, 
  TypeID (FK)

tblPrevMaintRecord: 
  ID (PK), 
  UniqueID (FK), 
  DatePerformed, 
  TimePerformed, 
  MaintenanceComments

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

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

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

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

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

...