Невозможно добавить запись(и); ключ соединения таблицы не входит в набор записей в MS Access

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

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

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

Надеюсь, я достаточно хорошо все объяснил. Ниже прилагается копия базы данных.

База данных журнала обслуживания


person user8161184    schedule 14.06.2017    source источник


Ответы (1)


Вы должны настроить поле со списком с источником строк, который содержит как идентификатор сотрудника, так и имя сотрудника. Используйте идентификатор сотрудника в качестве связанного столбца. Затем в свойствах отображения установите для столбцов значение 2, а для ширины столбцов — значение 0; 1 (при условии, что вы установили источник строк так, чтобы идентификатор сотрудника был столбцом 1, а имя — столбцом 2).

Таким образом, ваше поле со списком отображает имя, но на самом деле оно привязывается к идентификатору и использует его.

person SunKnight0    schedule 14.06.2017
comment
Это позволяет использовать раскрывающееся меню, но я по-прежнему не могу ничего выбрать, так как в нем указано, что ключ соединения таблицы «tblWeeklyResults» отсутствует в наборе записей. - person user8161184; 15.06.2017
comment
Вы должны добавить свою таблицу «Сотрудники» в запрос, который подает вашу форму, и настроить отношения так, чтобы он всегда включал сотрудников, но только те записи, которые совпадают с остальными таблицами. - person SunKnight0; 15.06.2017
comment
Также общий совет: Никогда не используйте пробелы в именах полей/таблиц/запросов/форм. Это вызовет у вас многочисленные головные боли позже. - person SunKnight0; 15.06.2017