|
|
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
В обсуждаемой ранее аналогичной теме не нашел ответ на интересующий меня вопрос - а как быть в случае ПЕРЕКРЕСТНОГО запроса? Пробовал указывать в нем вместо PARAMETERS ссылки типа forms!такаято!поле - не катит... Почему-то ругается на невозможность найти, хотя форма открыта и соответствующие поля заполнены:(. С указанием в PARAMETERS'ах - запрашивает пользователя, а надо автоматом, в программе! Помогите, пожалуйста, с моей проблеммкой. Борис ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 11:03 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Можно сделать временный запрос с динамическим селектом. О том, где его хранить, - см.:\r \r /topic/48441 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 11:05 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Ну хорошо, а можно по-подробнее на примере? Вот сам запрос: --- PARAMETERS podrazd Text, godvar Long, mesyacvar Byte, nedelyavar Byte; TRANSFORM nz(Sum(roundmy([vremya]/3600,2)),0) AS [Значение] SELECT [Фамилия] & " " & [Имя] & " " & [Отчество] AS Сотрудник, Staff.Подразделение, Staff.ТабельныйНомер, AllTime.god, AllTime.mesyac, roundmy(Sum([vremya])/3600,2) AS [Итого за неделю] FROM (AllTime INNER JOIN Staff ON AllTime.karta = Staff.НомерКарты) INNER JOIN Календарь ON AllTime.data = Календарь.Дата WHERE (((Staff.Подразделение)=[podrazd]) AND ((AllTime.god)=[godvar]) AND ((AllTime.mesyac)=[mesyacvar]) AND ((Календарь.Неделя)=[nedelyavar])) GROUP BY [Фамилия] & " " & [Имя] & " " & [Отчество], Staff.Подразделение, Staff.ТабельныйНомер, AllTime.god, AllTime.mesyac PIVOT Choose(Weekday([data],2),1 & ' (Пн)',2 & ' (Вт)',3 & ' (Ср)',4 & ' (Чт)',5 & ' (Пт)',6 & ' (Сб)',7 & ' (Вс)'); --- суть его такова, что по каждому сотруднику выводится колонки с днями недели (определенной) и с опред.значениями... А в самих таблицах хранится инфа 1) по числам месяца людей со значениями; 2) таблица соответствия дат и дней недели (Календарь). Как сделать отчет по данному запросу, задавая программно при его открытии значения, указанные в PARAMETERS'ах? Помогите, пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:04 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Составляем стринг, который выглядит точно как приведенный, но на месте параметров стоят их значения. Заносим этот стринг в свойство SQL запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:07 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Вместо PARAMETERS podrazd Text, godvar Long, mesyacvar Byte, nedelyavar Byte; PARAMETERS Forms!ИмяФормы!podrazd Text, Forms!ИмяФормы!godvar Long, Forms!ИмяФормы!mesyacvar Byte, Forms!ИмяФормы!nedelyavar Byte; ну и сотвественно в where меняешь на Forms!ИмяФормы!ИмяКонтрола ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:07 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Не-не-не! Виктор! Проблема-то началась с того, что это не работает в перекрестном. Надо не Forms..., а именно значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:11 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Сталкивался с проблемой. Решил следующим образом: Перекрёстный запрос делал на основе запроса на выборку, в котором указывал параметры и условие WHERE (по аналогии Senin Viktor) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:22 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
2Cаныч >Не-не-не! Виктор! Проблема-то началась с того, что это не работает в перекрестном. Да-да-да Именно как я написал работать будет. И работает. Ссылки на значения из форм надо ОБЯЗАТЕЛЬНО прописывать в Paramenters > Надо не Forms..., а именно значение а это кто писал: "Пробовал указывать в нем вместо PARAMETERS ссылки типа forms!такаято!поле - не катит... Почему-то ругается на невозможность найти, хотя форма открыта и соответствующие поля заполнены" ? Так че нужно? и почему мой вариант не работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:23 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Спасибо! Указал в PARAMETERS'ах и WHERE Forms!xxx!поле - сработало! Схавало и отчет запустился наконец-то. Но... При отсутствии некот. полей в запросе (например, в запрашиваемой неделе, например 5 за июль, есть только Пн, Вт, Ср и Чт... В отчете существуют все поля недели... А отчет ругается на непонятно пока что (при открытии).... Помогите уж еще чуть-чуть. Борис ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:24 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Отчет ругается на отсутствие в запросе тех полей, на которых сидят контролы. Надо программно проверить их наличие и тем контролам, у которых поля не оказалось, сделать ControlSource = "". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:27 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Дополненьице: Соответственно, в отчете стоят поля с сурсами: [1 (ВС)], [2 (ВТ)] и так далее (см. в инструкции PIVOT выше...) Так вот, при отсутвии в выборке некот. полей ругается нецензурно непонятной ошибкой, т.е. не пишет в самих полях типа #Ошибка или #Имя, а просто не открывается :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:28 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Владимир, а ControlSource ставить можно при открытии (Превью, Печать) или только в конструкторе? У меня .mde, так что конструктор с последующем сохранением отпадает... Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:30 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
На OnOpen все должно сработать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:31 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Пишу на Открытие отчета следующее: On Error Resume Next [Пн] = [1 (Пн)] [Вт] = [2 (Вт)] [Ср] = [3 (Ср)] [Чт] = [4 (Чт)] [Пт] = [5 (Пт)] [Сб] = [6 (Сб)] [Вс] = [7 (Вс)] Типа, как я себе представляю, не будет указанного справа поля в выборке - не отобразит... Но: Не открывается с такой же ошибкой - пишет @Имя отчета@ не распознается ядром Jet как допустимое имя поля/выражение". Других методов, кроме OnOpen, нет... Что еще может быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:39 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
В предыдущем топике конечно имелось ввиду: [Пн].ControlSource=[1 (Пн)] и т.д.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:43 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
= " 1 (Пн) " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:46 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
А в конструкторе, надеюсь, они заданы пустыми? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:47 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Вот, поставив строку If err.Number > 0 Then MsgBox err.Number & " (" & err.Description & ")": err.Clear после каждого присвоения получил следующее: ругается на невозможность найти указанные поля, но как же так? Они (названия их) указаны в соответсвии получаемых в PIVOT запроса! Блин, где же грабли? Да, отчет уже открывается, но соответственно с пустыми интересующими полями... Спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:48 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Да, в конструкторе они конечно Свободные ;). Теперь, после замены на "" (вместо []) опять не открывается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:51 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
А если "[ ... ]" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:54 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Нет, так тоже вообще не открывается :(. Вообще заметил, что как только ставлю [Пн].ControlSource = [1 (Пн)] открывается но со всеми (даже где есть данные) пустыми полями, в остальных случаях не открывается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 13:00 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Вариант: если не хочется разбираться с програмным отключением источников (в событии "открытие"), то перед выполнением TRANSFORM пополни набор сворачиваемых данных пустыми строками с нужными значениями в полях названий столбцов (юнионом). Так, чтобы свертка имела все столбцы в любом случае. Отсечь пустышки можно затем и SQL и кодом (форматирование). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 13:03 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
Предлагаю временно вернуть ControlSource'ы (хотя бы некоторые) в конструкторе и посмотреть на них при помощи Debug.Print [Пн].ControlSource в том же OnOpen. Может, там какая-нибудь разница в количестве пробелов или еще чём-нибудь в том же роде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 13:03 |
|
||
|
В дополнение к вопросу по запуску отчета, основанного на запросе с параметрами..
|
|||
|---|---|---|---|
|
#18+
YES!!!!! Получилось: поставил "=[1 (Пн)]" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 13:05 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1750&tid=1679405]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 384ms |

| 0 / 0 |
