2015-02-19 2 views
1

У меня есть веб-приложение доступа, и в настоящее время я пытаюсь сделать макрос OnClick для поля в одном из своих представлений, чтобы при щелчке он отобразил другое представление для определенной записи , В настоящее время предложение Where is [Where] [DistrictID] = [Районы]. [DistrictID]Недопустимое имя доступа к домену Веб-приложение

Когда я захожу в приложение и нажимаю на поле с макросом, я получаю всплывающее сообщение с сообщением «Недопустимое имя поля» .DistrictID «.

Один и единственный сайт, я мог бы найти, что упомянутое эту ошибку: http://blogs.technet.com/b/the_microsoft_access_support_team_blog/archive/2014/08/04/access-app-invalid-field-name-lt-tablename-gt-lt-fieldname-gt-error-when-using-where-clause.aspx

Этого сайт говорит, что это связанно с чувствительностью ИНЕК. Мой случай точно соответствует моей таблице/поле (я программирую на других языках, поэтому я всегда встречаю случай только по привычке). В любом случае я проверял правописание на четверку и даже дошел до того, что скопировал имя поля в предложение Where. Тем не менее, я получаю ошибку.

У меня есть другое представление, которое делает что-то подобное с другой таблицей/представлением, которая отлично работает (где: [ContactID] = [Контакты]. [ContactID]).

Кто-нибудь есть идеи, почему мое предложение Where не работает или что я могу делать неправильно?

дополнительную информацию, если это необходимо:

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

У меня есть 10 таблиц в база данных. «Районы» - это тот, с которым я пытаюсь работать. В таблице «Районы» есть ... довольно много полей, включая DistrictID, DistrictName, EmailService, SpecialComment и т. Д. Эти четыре, однако, являются полями, запрашиваемыми для представления данных, содержащего макрос. Макрос OnClick запускается для поля SpecialComment - при щелчке я хочу, чтобы мой список районного списка появлялся в том же районе, на котором был вызван SpecialComment (Специальный комментарий может длиться долго иногда, поэтому, если он обрезается лимитом размера из таблицы данных, я хочу, чтобы люди могли читать остальную информацию без перехода на другую точку зрения, а затем найти район в списке). В представлении «Список районов» и в запрошенном представлении оба поля имеют поле «Район» в представлении, хотя оно скрыто. Я попытался отобразить поле в обоих представлениях, и это не решило проблему. У меня было другое предложение Where, которое использовало поле DistrictID до этого, это работало нормально, поэтому я сомневался, что это все изменит. Те предложения Where, которые раньше были заменены на другие функции, поэтому я не имею на них ссылки, чтобы понять, почему это работает, и этого нет.

+0

Привет, для представления, которое вы пытаетесь открыть с помощью действия макроса OpenPopup, является ли источник записи этого вида таблицей, сохраненным именем запроса или встроенным объектом запроса? Дважды проверьте это, а затем дайте мне знать фактический источник записи. –

+0

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

+0

Если представление, которое вы пытаетесь открыть, основано на запросе, тогда вы должны использовать синтаксис следующим образом: [FieldNameHere] = [NameOfQueryHere]. [FieldNameInThatQuery] Итак, для вас это будет: [ContactID] = [NameOfQueryHere ]. [ContactID] –

ответ

1

Если вид вы пытаетесь открыть с помощью OpenPopup макрокоманды имеет сохраненный запрос, как это запись источника, то вы должны использовать имя запроса, как это:.

[FieldNameHere] = [NameOfQueryHere] [FieldNameInThatQuery]

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

Отмечается, что иногда срабатывает человек, так что этот метод не будет работать, если просмотр, который вы пытаетесь открыть, использует встроенный запрос в качестве источника записи. Причина этого заключается в том, что у вас нет способа узнать, что такое встроенное имя запроса, что Access создает за кулисами представление веб-приложения Access 2013. (Это фактически имя GUID за кулисами.)

мне даже пришлось добавить специальную записку по устранению неполадок в моей книге об этом, так как я знал, что люди будут получать споткнулся на этом (Страница 584):

НЕИСПРАВНОСТЕЙ Почему я получаю ошибку, пытаясь использовать Где предложение с действием OpenPopup или ChangeView, когда представление основано на встроенном запросе? Службы доступа требуют, чтобы предложение Where включало таблицу или имя запроса, на котором основано представление. Когда вы определяете встроенный запрос в качестве источника записи для представления, Access Services создает скрытый системный запрос, который не отображается в области переходов. Поэтому вы не можете использовать предложение Where с действием OpenPopup или действие ChangeView, чтобы открыть представление на основе встроенного запроса. Чтобы обойти это ограничение, вы можете основывать свое мнение на сохраненном объекте запроса. Обратите внимание, что службы доступа создают скрытый системный запрос в качестве источника записи также для сводных представлений. Это означает, что вы не можете использовать аргумент Where where, чтобы открыть сводное представление для определенной записи или набора записей. Однако обходной путь, упомянутый выше, не будет работать для сводных просмотров.

Смежные вопросы