Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема: TempVars и перекрестный запрос. / 8 сообщений из 8, страница 1 из 1
04.04.2018, 11:29
    #39625410
K-Nick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема: TempVars и перекрестный запрос.
Имеется цепочка запросов (выборки и объединения) в первом из которых в условии используется DLookUp, в котором, в свою очередь, в условии используется временная переменная (т.е. [TempVars]![Тыр_пыр]). Последний запрос в цепочке - перекрестный. Все запросы до последнего (перекрестного) выполняются без ошибок, а когда запускаю перекрестный запрос выдается ошибка "[TempVars]![Тыр_пыр] не распознается ядром СУБД Microsoft Access как допустимое имя поля или выражение".
В чем может быть проблема? Нет ли каких-нибудь особенностей при использовании перекрестных запросов?
Заранее премного благодарен.
Access 2010
...
Рейтинг: 0 / 0
04.04.2018, 11:43
    #39625415
Прогер_самоучка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема: TempVars и перекрестный запрос.
K-NickИмеется цепочка запросов (выборки и объединения) в первом из которых в условии используется DLookUp, в котором, в свою очередь, в условии используется временная переменная (т.е. [TempVars]![Тыр_пыр]). Последний запрос в цепочке - перекрестный. Все запросы до последнего (перекрестного) выполняются без ошибок, а когда запускаю перекрестный запрос выдается ошибка "[TempVars]![Тыр_пыр] не распознается ядром СУБД Microsoft Access как допустимое имя поля или выражение".
В чем может быть проблема? Нет ли каких-нибудь особенностей при использовании перекрестных запросов?
Заранее премного благодарен.
Access 2010примеры будут, товарищ?
...
Рейтинг: 0 / 0
04.04.2018, 11:54
    #39625419
Проблема: TempVars и перекрестный запрос.
Попробуйте явно указать параметр [TempVars]![Тыр_пыр] в окне параметров перекрестного запроса.
Подобная проблема со ссылками на элементы форм таким образом решается.
...
Рейтинг: 0 / 0
04.04.2018, 13:49
    #39625503
K-Nick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема: TempVars и перекрестный запрос.
Прогер_самоучкаK-NickИмеется цепочка запросов (выборки и объединения) в первом из которых в условии используется DLookUp, в котором, в свою очередь, в условии используется временная переменная (т.е. [TempVars]![Тыр_пыр]). Последний запрос в цепочке - перекрестный. Все запросы до последнего (перекрестного) выполняются без ошибок, а когда запускаю перекрестный запрос выдается ошибка "[TempVars]![Тыр_пыр] не распознается ядром СУБД Microsoft Access как допустимое имя поля или выражение".
В чем может быть проблема? Нет ли каких-нибудь особенностей при использовании перекрестных запросов?
Заранее премного благодарен.
Access 2010примеры будут, товарищ?
Пожальте примеры. "Тыр-пыр" - это "ИД_текущего_пользователя". Специально ничего не менял, чтобы не пропустить ошибку.
Запрос "ЧК_Свод2_(2)" выполняется без проблем. Перекрестный запрос - с ошибкой.

Запрос ЧК_Свод2_(1)
Код: sql
1.
2.
3.
4.
5.
SELECT ЧК.REF_МОП, ЧК_Errors.ErrorShort, Count(ЧК.REF_ERR) AS ErCount
FROM (ЧК_Errors LEFT JOIN ЧК ON ЧК_Errors.ID = ЧК.REF_ERR) LEFT JOIN Справочник_МОП ON ЧК.REF_МОП = Справочник_МОП.ID
WHERE (((Справочник_МОП.REF_Площадка)=DLookUp("REF_Площадка","Справочник_МОП","ID=" & CStr(Nz(([TempVars]![ИД_текущего_пользователя]),0)))))
GROUP BY ЧК.REF_МОП, ЧК_Errors.ErrorShort
HAVING ((Not (ЧК_Errors.ErrorShort) Is Null));


Запрос ЧК_Свод2_(2-1)
Код: sql
1.
2.
SELECT Справочник_МОП.МОП, [ЧК_Свод2_(1)].ErrorShort, [ЧК_Свод2_(1)].ErCount
FROM [ЧК_Свод2_(1)] LEFT JOIN Справочник_МОП ON [ЧК_Свод2_(1)].REF_МОП = Справочник_МОП.ID;


Запрос ЧК_Свод2_(2-2)
Код: sql
1.
2.
3.
SELECT " ИТОГО" AS МОП, [ЧК_Свод2_(1)].ErrorShort, Sum([ЧК_Свод2_(1)].ErCount) AS [Sum-ErCount]
FROM [ЧК_Свод2_(1)] LEFT JOIN Справочник_МОП ON [ЧК_Свод2_(1)].REF_МОП = Справочник_МОП.ID
GROUP BY [ЧК_Свод2_(1)].ErrorShort;


Запрос ЧК_Свод2_(2)
Код: sql
1.
2.
SELECT * FROM [ЧК_Свод2_(2-1)]
UNION SELECT * FROM [ЧК_Свод2_(2-2)];


Перекрестный запрос:
Код: sql
1.
2.
3.
4.
5.
TRANSFORM Sum([ЧК_Свод2_(2)].ErCount) AS [Sum-ErCount]
SELECT [ЧК_Свод2_(2)].МОП
FROM [ЧК_Свод2_(2)]
GROUP BY [ЧК_Свод2_(2)].МОП
PIVOT [ЧК_Свод2_(2)].ErrorShort;
...
Рейтинг: 0 / 0
04.04.2018, 17:00
    #39625644
Прогер_самоучка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема: TempVars и перекрестный запрос.
K-NickПрогер_самоучкапропущено...
примеры будут, товарищ?
Пожальте примеры. "Тыр-пыр" - это "ИД_текущего_пользователя". Специально ничего не менял, чтобы не пропустить ошибку.
Запрос "ЧК_Свод2_(2)" выполняется без проблем. Перекрестный запрос - с ошибкой.

Запрос ЧК_Свод2_(1)
Код: sql
1.
2.
3.
4.
5.
SELECT ЧК.REF_МОП, ЧК_Errors.ErrorShort, Count(ЧК.REF_ERR) AS ErCount
FROM (ЧК_Errors LEFT JOIN ЧК ON ЧК_Errors.ID = ЧК.REF_ERR) LEFT JOIN Справочник_МОП ON ЧК.REF_МОП = Справочник_МОП.ID
WHERE (((Справочник_МОП.REF_Площадка)=DLookUp("REF_Площадка","Справочник_МОП","ID=" & CStr(Nz(([TempVars]![ИД_текущего_пользователя]),0)))))
GROUP BY ЧК.REF_МОП, ЧК_Errors.ErrorShort
HAVING ((Not (ЧК_Errors.ErrorShort) Is Null));



Запрос ЧК_Свод2_(2-1)
Код: sql
1.
2.
SELECT Справочник_МОП.МОП, [ЧК_Свод2_(1)].ErrorShort, [ЧК_Свод2_(1)].ErCount
FROM [ЧК_Свод2_(1)] LEFT JOIN Справочник_МОП ON [ЧК_Свод2_(1)].REF_МОП = Справочник_МОП.ID;



Запрос ЧК_Свод2_(2-2)
Код: sql
1.
2.
3.
SELECT " ИТОГО" AS МОП, [ЧК_Свод2_(1)].ErrorShort, Sum([ЧК_Свод2_(1)].ErCount) AS [Sum-ErCount]
FROM [ЧК_Свод2_(1)] LEFT JOIN Справочник_МОП ON [ЧК_Свод2_(1)].REF_МОП = Справочник_МОП.ID
GROUP BY [ЧК_Свод2_(1)].ErrorShort;



Запрос ЧК_Свод2_(2)
Код: sql
1.
2.
SELECT * FROM [ЧК_Свод2_(2-1)]
UNION SELECT * FROM [ЧК_Свод2_(2-2)];



Перекрестный запрос:
Код: sql
1.
2.
3.
4.
5.
TRANSFORM Sum([ЧК_Свод2_(2)].ErCount) AS [Sum-ErCount]
SELECT [ЧК_Свод2_(2)].МОП
FROM [ЧК_Свод2_(2)]
GROUP BY [ЧК_Свод2_(2)].МОП
PIVOT [ЧК_Свод2_(2)].ErrorShort;

а так?
Код: sql
1.
2.
3.
4.
5.
6.
PARAMETERS [TempVars]![ИД_текущего_пользователя] Long;
TRANSFORM Sum([ЧК_Свод2_(2)].ErCount) AS [Sum-ErCount]
SELECT [ЧК_Свод2_(2)].МОП
FROM [ЧК_Свод2_(2)]
GROUP BY [ЧК_Свод2_(2)].МОП
PIVOT [ЧК_Свод2_(2)].ErrorShort


Второе, что можно сделать, пересобрать запрос с этим параметром в vba и выполнять уже запрос ЧК_Свод2_(1) с числом вместо переменной
...
Рейтинг: 0 / 0
05.04.2018, 14:45
    #39626148
K-Nick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема: TempVars и перекрестный запрос.
Проблема решена обходным путем. Немного не так, как предлагали, но это не суть важно.
Я думал, что есть какая-то тонкость в использовании TempVars, которой только я не знаю и на которую мне укажут, но все равно всем спасибо!
...
Рейтинг: 0 / 0
05.04.2018, 15:09
    #39626160
Прогер_самоучка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема: TempVars и перекрестный запрос.
K-NickПроблема решена обходным путем. Немного не так, как предлагали, но это не суть важно.
Я думал, что есть какая-то тонкость в использовании TempVars, которой только я не знаю и на которую мне укажут, но все равно всем спасибо!
а это что "PARAMETERS [TempVars]![ИД_текущего_пользователя] Long;" ? :)
...
Рейтинг: 0 / 0
06.04.2018, 14:22
    #39626821
K-Nick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема: TempVars и перекрестный запрос.
Прогер_самоучка,

Ёлы-палы, а ведь действительно помогло!
Вот чудеса!
Спасибо еще раз.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема: TempVars и перекрестный запрос. / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]