Окно списка в несвязанной основной форме, связанной с 3030 (без текущей записи), связанной с связанной подчиненной производной (нет текущей записи) - PullRequest
0 голосов
/ 11 мая 2018

Есть тонны ошибки 3021, вопросы и ответы, но не нашли этого.

Установка:

Бланк доступа 2016 DB

Добавить простую таблицу (1 столбец идентификатора, 1 столбец заголовка (строки))

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

Создайте вторую форму. Добавьте список, источником строки является простая таблица, 2 столбца, ширина первого столбца 0.

Добавьте первую форму ко второй форме как подчиненную форму. Свяжите список со подчиненной, используя Master / CHild (Master = List1, Child = ID)

В основном настраивает стандартное окно списка использования в главной форме для управления переходом к определенной деталированной дочерней записи в подчиненной форме.

В событии Subforms "Текущий" добавьте "debug.print Me.Recordset.Fields (" ID ")"

Эффекты

При первой загрузке второй формы будет получена ошибка 3021 запись не найдена. Не удивительно.

При первом выборе элемента в списке без ошибок.

При втором выборе элемента в списке появляется сообщение об ошибке 3021.

Вопросы

Воспроизводимый для других (я подозреваю, нет, это кажется такой стандартной установкой, я предполагаю, что имею дело с поврежденной установкой Access ... но?)

Если другие могут воспроизвести, идеи, в чем причина, особенно разница между первым выбором и вторым выбором? Альтернативные настройки?

1 Ответ

0 голосов
/ 12 мая 2018

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

Не удается легко предоставить ссылки на телефон, но поиск по взрыву против точечной нотации дает подсказки (ДэвидФентон отвечает), что запись Me! Fieldname действительно является поздним ограничением для Me.controls («fieldname»), и эта ссылка работает правильно (указывает на обновленное значение списка в главной форме в текущем событии подчиненной формы)

Краткая форма для любого, кто найдет это: используйте нотацию Me! Fieldname или Me.controls (variableContainedFieldname) для ссылки на значения полей в базовом наборе записей в текущем событии подчиненной формы, чтобы избежать ошибки 3021)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...