Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Как выделить ячейку формы, сделанной на основе перекрестно запроса?  [new]
MrShin
Member

Откуда:
Сообщений: 1277
Впрочем, можно попробовать обойтись и без временной таблицы. Делать отчет на базе запроса, который содержит приведенный в примере запрос и еще один запрос с данными для раскрашивания. Более конкретно сказать сложновато без примера базы.
1 фев 19, 14:53    [21799772]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить ячейку формы, сделанной на основе перекрестно запроса?  [new]
MrShin
Member

Откуда:
Сообщений: 1277
quickstar
Как в перекресной таблице (Финальной) подтянуть для каждого дня те показатели, по которым раскрашивать?

Думаю, это должен быть практически такой же перекрестный запрос, только в значениях не макс ИД клиента, а признак, сто назначен преподаватель и класс. И в условном форматировании читать значение из второго запроса
1 фев 19, 15:11    [21799797]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить ячейку формы, сделанной на основе перекрестно запроса?  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 328
Т.к. у вас фиксированное кол-во полей, то вместо перекрестного запроса можно использовать обычный запрос с группировками, возвращающий для каждого дня по 3 значения. Типа:
SELECT z_VSE_zanyatiya_max_priority.id_time, 
Max(IIF(z_weekday.wd='Пн',id_client)) AS [Пн],
Max(IIF(z_weekday.wd='Пн',teacher_name)) AS [teacher1],
Max(IIF(z_weekday.wd='Пн',class_name)) AS [class1],
Max(IIF(z_weekday.wd='Вт',id_client)) AS [Вт],
Max(IIF(z_weekday.wd='Вт',teacher_name)) AS [teacher2],
Max(IIF(z_weekday.wd='Вт',class_name)) AS [class2],
...

FROM z_VSE_zanyatiya_max_priority LEFT JOIN z_weekday ON z_VSE_zanyatiya_max_priority.date_name = z_weekday.date_name
GROUP BY z_VSE_zanyatiya_max_priority.id_time


Расскажите, что из себя представляет z_weekday и как заполняется. В моем варианте она не нужна, а вместо, например, z_weekday.wd='Пн' можно использовать Weekday(date_name,2)=1.
А если Weekday(date_name,2) добавить в z_VSE_zanyatiya_max_priority как дополнительное поле (например "wd"), то тогда вместо Weekday(date_name,2)=1 указать wd=1.
1 фев 19, 15:51    [21799846]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить ячейку формы, сделанной на основе перекрестно запроса?  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
quickstar, своими вопросами я хотел тоже натолкнуть на мысль о временной таблице как основы формы. Создаёшь постоянную широкую таблицу. Можно конечно кодом создать в другой временной бд временную таблицу и прилинковать, но это потом, если понадобится. Далее эту таблицу заполнять нужными данными с помощью серии запросов. Запросы, ИМХО, лучше создать сохранённые (они быстрее исполняются) и выполнять из кода в транзакции.
1 фев 19, 15:56    [21799851]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить ячейку формы, сделанной на основе перекрестно запроса?  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 908
При известном и статичном количестве столбцов и строк,
можно вообще все на лейблах и рекордсете сделать без временных табличек и прочая.

К сообщению приложен файл. Размер - 112Kb
1 фев 19, 16:25    [21799893]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить ячейку формы, сделанной на основе перекрестно запроса?  [new]
quickstar
Member

Откуда:
Сообщений: 231
Predeclared, вау!
Расскажите, пожалуйста, как такое сделать?
Где почитать? Может пример простой БД пришлете?
1 фев 19, 20:20    [21800129]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить ячейку формы, сделанной на основе перекрестно запроса?  [new]
quickstar
Member

Откуда:
Сообщений: 231
Кривцов Анатолий, такого я еще не видел.

Да, Вы правы z_weekday.wd='Пн' так и есть
z_weekday.wd нужна для определения дня недели.


Подскажите, пожалуйста, как получить в таком виде форму "перекрестную"?
Не пойму как сделать этот запрос источником полей "перекрестной формы"?

SELECT z_VSE_zanyatiya_max_priority.id_time, 
Max(IIF(z_weekday.wd='Пн',id_client)) AS [Пн],
Max(IIF(z_weekday.wd='Пн',teacher_name)) AS [teacher1],
Max(IIF(z_weekday.wd='Пн',class_name)) AS [class1],
Max(IIF(z_weekday.wd='Вт',id_client)) AS [Вт],
Max(IIF(z_weekday.wd='Вт',teacher_name)) AS [teacher2],
Max(IIF(z_weekday.wd='Вт',class_name)) AS [class2],
...

FROM z_VSE_zanyatiya_max_priority LEFT JOIN z_weekday ON z_VSE_zanyatiya_max_priority.date_name = z_weekday.date_name
GROUP BY z_VSE_zanyatiya_max_priority.id_time


К сообщению приложен файл. Размер - 75Kb
1 фев 19, 20:37    [21800143]     Ответить | Цитировать Сообщить модератору
 Re: Как выделить ячейку формы, сделанной на основе перекрестно запроса?  [new]
quickstar
Member

Откуда:
Сообщений: 231
Вот сама БД

К сообщению приложен файл (Тест_v1_10.rar - 63Kb) cкачать
1 фев 19, 21:00    [21800157]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Microsoft Access Ответить