Свойство запроса формы доступа ACCESS 2010 - PullRequest
1 голос
/ 23 февраля 2012

Я столкнулся с проблемой, и я искал всю всемирную паутину:

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

Например:

FormStatus -> Попросить пользователя выбрать статус и указать значение для запроса.

Эти запросы создают отчеты.

Основная проблема в том, что теперь, когда моя форма находится в форме навигации, ссылка на свойство больше не работает.

Ссылка была: Forms!myForm!myProperty

Теперь я попробовал

Forms!navigationForm!myForm!myProperty
Me!myForm!myProperty
Forms!ParentForm!SubForm.Form!FieldName

Ничего не получается !! Кто-нибудь может мне помочь?

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

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

Вам лучше всего удалить формы! ссылки из всех ваших запросов. Затем вы создаете форму, в которую пользователь вводит значения, а затем выполняете команду browseto.

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

План A

Дамп использования форм! Команды в ваших SQL-запросах. В любом случае, это хорошая идея, поскольку один запрос не будет взорван, потому что какая-то глупая форма не открыта. И что еще важнее, запрос можно использовать в других местах приложения, не опасаясь, что какая-то форма не будет открыта.

Момент, когда вы размещаете формы! ссылка внутри запроса - это момент, когда вы разрушаете этот запрос и вынуждаете «женить» этот запрос на одной форме, которую необходимо открыть.

План b:

Отказаться от использования новой системы управления навигацией. Помните, что новая навигационная система НЕ загружает следующую форму, а «заменяет» ту, которая отображается. Таким образом, предыдущая форма больше не будет загружаться и, следовательно, никаких форм! ссылка разрешена. Хуже того, поскольку форма навигации действительно использует подформы, тогда формы! ссылки должны быть изменены.

Вы, конечно, можете получить значения элементов управления и создать предложение where в коде и использовать его здесь для команд openform или open report.

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

0 голосов
/ 01 марта 2012

Попробуйте использовать точку вместо ! перед свойством Forms!navigationForm!myForm.myProperty

...