|
|
|
| Существует запрос (1) с параметрами, использующий для выборки данных поля формы (2):
"PARAMETERS [Forms]![AnalizCompare]![PeriodStart] DateTime, [Forms]![AnalizCompare]![PeriodEnd] DateTime;
SELECT . . . . . . WHERE (((tblProba.ProbaDate)>=[Forms]![AnalizCompare]![PeriodStart] And (tblProba.ProbaDate)<=[Forms]![AnalizCompare]![PeriodEnd]));"
Запрос нормально работает при отрытой форме (2).
Проблемы следующие:
1. На базе этого запроса создан перекрестный запрос, который нормально открывается в отдельном окне. Но этот перекрестный запрос не удается поместить в подчиненную форму - при открытии остается белое окно подчиненной формы. Если в первоначальном запросе явно, я не через параметры, прописать условия отбора данных - тогда все ОК. Реализовать подчиненную форму в виде формы не удастся - запрос перекрестный с изменяемым кол-вом выводимых полей.
2. При попытке в VB открыть Рекодсет на базе запроса с параметрами ругается, что не достаточно параметров. В то же время SQL, на базе которого должен быть открыт Рекордсет, нормально открывается в окне запросов.
Заранее благодарен за любую помощь. | |
|
| |
|
|
|
| Попроводу "мало параметров " см. FAQ
http://hiprog.com/index.php?option=com_content&task=blogcategory&id=119&Itemid=159
вопрос 17
Относительно открытия в форме...
Задайте параметры в запросе явно:
PARAMETERS )>=[Forms]![AnalizCompare]![PeriodStart] DateTime, [Forms]![AnalizCompare]![PeriodEnd]s DateTime;
SELECT ....
|
| |
|
| |
|
|
|
| Можно вместо ссылок на поля форм использовать пользовательские функции. Помогает ... | |
|
| |
|
|
|
| Спасибо за советы: этот форум - мой лучши учитель по Access
2 Bellerofont - пользовательские функции - это решение, но, возможно, существует решение попроще - не хочется раздувать программу.
2 osmor - если не составит большого труда, можно детальнее о синтаксисе явного задания параметров :
PARAMETERS )>=[Forms]![AnalizCompare]![PeriodStart] DateTime, [Forms]![AnalizCompare]![PeriodEnd]s DateTime; | |
|
| |
|
|
|
| Там у меня неправильно...
откройте запрос в режиме конструктора, переключитесь в SQL
и добавьте
PARAMETERS [Forms]![AnalizCompare]![PeriodStart] DateTime, [Forms]![AnalizCompare]![PeriodEnd]s DateTime;
|
Перед SELECT ..... | |
|
| |
|
|
|
| Так сказать результат...
1. Путем длительных експериментов пришлось отказаться от PARAMETERS -если в случае обычного запроса в подчиненной форме параметры (контролы основной формы) еще работают, то для перекрестного запроса в подчиненной форме параметры приводят к белому полю всей подчиненной формы. В отдельном окне такой перекрестный запрос открывается без проблем. Пришлось в условиях отбора использовать функциии (как советовал Bellerofont)...
2. Нарвался на еще один фокус - если в перекрестном запросе, размещенном в подчиненной форме, поменять макет (ширина колонок), при сохранении (Ctrl+S) начинает читать морали на тему создания перекрестной формы, также не удется закрыть форму. Вопрос решен через
Me![CurData].SourceObject = ""
DoCmd.Close
|
Малоприятные глюки
А-03 | |
|
| |