Возникла странная проблема, и у меня проблемы с ее устранением.
Подробности:
1 -
? Forms![Form]![Subform].Form.Control
печатает значение «Null» в непосредственном окне, когда вспомогательная форма через пользовательский интерфейс четко показывает значение. Это значение является частью источника данных подчиненной формы (поскольку оно не изменяется и не вводится пользователем, даже если редактирование разрешено) и загружается с этим предустановленным значением. Более того, в подчиненной форме происходят валидации, которые корректно срабатывают и проверяют это значение.
2-
Me.Requery
Me.SubForm.Form.Requery
Это не решает проблему.
3-
Кажется, что это происходит спорадически и не всегда. Я не могу заставить это повториться на моем ящике (вообще, Windows 7), и, кажется, каждый раз это происходит с одним конкретным человеком (планшет Windows 10).
4 -
Я однажды изменил значение рассматриваемого элемента управления на своем ящике, и с тех пор проблемы не возникало. Это своего рода неприятность для конечных пользователей, которым нужно соответствовать метрикам.
5-
к сожалению, это Access 97: '(
Кто-нибудь хотел бы дать мне больше идей по устранению неполадок? Я собираюсь попросить этого пользователя попробовать его на другом компьютере, чтобы увидеть, решит ли это проблему и, возможно, это то, как ОС взаимодействует с Access.
Извините, я подумал, что это приемлемо, поскольку большая часть документации, которую я нахожу, представляет это именно таким образом. Даже в диаграмме Аллена Брауна, которую она скопировала и вставила, презентация очень похожа. И да, я пробовал .value (и это должно быть свойство по умолчанию). К сожалению, это не помогает мне отследить непредсказуемость проблемы. Я мог бы перестроить форму с нуля и посмотреть, есть ли проблемы с коррупцией.





Вы не предоставили достаточно информации для твердого ответа, отчасти потому, что то, как ссылаться на элемент управления, зависит от где, на которое вы ссылаетесь, из, и иногда это делает другой Зачем, на который вы ссылаетесь. (
Кроме того, было бы полезно привести более представительные примеры, чем вы предоставили.
Например, я предполагаю (и надеяться!), Что ваша форма не называется Form, а ваш элемент управления не называется Control. При включении примеров важно, чтобы они были краткими, чтобы они отражали то, с чем на самом деле возникла проблема.
На этой странице есть полезная таблица, с которым вы можете сравнить несколько различных способов ссылки на элемент управления: (Click to expand)
Если это не поможет вам решить вашу проблему, подумайте о добавлении кода и / или снимков экрана в свой вопрос.
Очевидно, что мои формы не называются Form / SubForm, и элемент управления явно не называется control. Строка, которую я подал в суд для ссылки на элемент управления подчиненной формы, является правильным способом ее вызова (поэтому я использовал конкретную строку текста). Добавление кода не решит проблему или не поможет облегчить / объяснить, почему элемент управления представляет собой null, когда 1) пользовательский интерфейс отображает значение и 2) запись в базе данных имеет значение. Я не знаю, насколько я могу быть более ясным, не закрывая непосредственное окно и саму форму, и даже тогда это все еще не добавляет ничего к обсуждению.
Кроме того, снимки экрана могут не объяснить, почему проблема сохраняется для некоторых людей, но не для других. Это исключает возможность повреждения (я думаю) и заставляет меня думать, что это может быть связано с ОС, но я не уверен, как и почему это может быть (если это действительно так)
Я согласен с Эшли в том, что будет немного яснее, если вы используете что-то вроде
? Forms![myForm]![mySubformControl].Form.myTextbox, если вы не хотите указывать настоящие имена. - Возможно, добавление.Valueможет помочь с проблемой (хотя это должно быть свойством по умолчанию).