2017-01-09 4 views
1

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

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

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

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

обновление или cancelupdate без AddNew или редактировать

и

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

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

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

Любые предложения были бы весьма полезными.

+0

Сколько кодов или методов поиска у вас есть на вашей основной форме? – EmRoBeau

ответ

0

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

Вот ссылка с суб формой информацией, если вы хотите освежить для ваших целей https://support.office.com/en-us/article/Create-a-form-that-contains-a-subform-a-one-to-many-form-ddf3822f-8aba-49cb-831a-1e74d6f5f06b

Шага 1 Убедитесь, что ваша основная форма привязываются к таблице справа. Для моих целей я использовал единую поле со списком в моей основной форме для поиска. Убедитесь, что все полевые параметры в вашем поле со списком правильны. Это включает в себя проверку правильности источника строк и отсутствие ввода управляющего источника.

Шаг 2 Не нажимайте ввод после выбора в поле со списком. Чтобы люди не попали внутрь, я создал пустую кнопку внизу, в которой говорится «Сохранить и обновить», но все это создает окно сообщений, которое появляется с помощью «Сохранить успешно». Я нахожу, что нажатие enter создает первую ошибку, которую вы продолжаете получать. Я не уверен, как решить эту проблему еще сложнее.

Что-нибудь еще, что появляется, я добавлю позже.