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

Откуда:
Сообщений: 14
Здравствуйте!
Подскажите пожалуйста, можно ли при отсутствии данных в отчёте не выдавать сообщение, что нет данных, а при форматировании отчёта, занести в поля отчёта пустые значения? Если можно, то как
8 июн 06, 11:56    [2753331]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
bubucha
Member

Откуда:
Сообщений: 5642
Private Sub Report_NoData(Cancel As Integer)
...
End Sub

8 июн 06, 11:57    [2753341]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
Marina S
Member

Откуда:
Сообщений: 14
Report_NoData я знаю, а как заполнить поля пустыми значениями? Я попробовала, выходит ошибка.
8 июн 06, 12:01    [2753364]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
bubucha
Member

Откуда:
Сообщений: 5642
автор
Я попробовала,

Как?
8 июн 06, 12:08    [2753411]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
Marina S
Member

Откуда:
Сообщений: 14
В заголовке отчёта создала поле "Данные" со значением 0, в обработке события Report_NoData пытаюсь присвоить этому полю значение 1 (me.Данные = 1), выдаётся ошибка.
8 июн 06, 12:16    [2753474]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
dbr
Guest
для себя я бы посчитал простым такой способ, при котором в случае отсутствия "нормальных" данных возвращалась пустая строка.
(присобачиваемая через UNION)

возможно есть и другие способы. А у этого среди недостатков - падение скорости формирования набора данных.
Но, думается, так можно с гарантией оставить работоспособным отчет любой сложности. У других способов могут оказаться узкие области применения.
8 июн 06, 12:21    [2753516]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
bubucha
Member

Откуда:
Сообщений: 5642
автор
выдаётся ошибка.

Какая?
8 июн 06, 12:21    [2753520]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
Marina S
Member

Откуда:
Сообщений: 14
Не возможно присвоить значение объекту
8 июн 06, 12:25    [2753562]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
Marina S
Member

Откуда:
Сообщений: 14
Через UNION очень долго, запрос и так сложный и выполняется долго
8 июн 06, 12:27    [2753581]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
bubucha
Member

Откуда:
Сообщений: 5642
автор
поле "Данные" со значением 0,

Это зачем?, что за данные "0" ? Либо убрать, либо присваивать на лету.
8 июн 06, 12:32    [2753621]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
Marina S
Member

Откуда:
Сообщений: 14
Это вспомогательное поле, чтобы при обработке в событии форматирования, можно было определить, есть данные в этом отчёте, или нет.
Может это можно сделать как-нибудь по другому?
8 июн 06, 12:35    [2753657]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
bubucha
Member

Откуда:
Сообщений: 5642
автор

Это вспомогательное поле, чтобы при обработке в событии форматирования, можно было определить, есть данные в этом отчёте, или нет.
Может это можно сделать как-нибудь по другому?

Добавть в модуле общую переменну типа Dim НетДанных as Boolean, далее
Private Sub Report_NoData(Cancel As Integer)
НетДанных =True
End Sub
При форматировании проверяйте ее значение
8 июн 06, 12:39    [2753703]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
Marina S
Member

Откуда:
Сообщений: 14
Всё равно не получается, теперь выходит та же самая ошибка, уже при обработке события форматирования.
Придётся всё-таки воспользоваться UNION
8 июн 06, 13:18    [2753980]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
dbr
Guest
Marina S
Всё равно не получается, теперь выходит та же самая ошибка, уже при обработке события форматирования.
Придётся всё-таки воспользоваться UNION

возможно есть смысл потратить время на оптимизацию запроса.
Иногда получаются чудесные результаты.
8 июн 06, 13:21    [2754003]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
Думается, что самое простое решение это создать дополнительный "правильный" отчет, который будет публиковаться только при ситуации "отсутствие данных". Создать такой отчет пара пустяков - скопировать основной и заменить в нем запрос на простенький, "правильный".
8 июн 06, 13:27    [2754050]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
Marina S
Member

Откуда:
Сообщений: 14
dbr

возможно есть смысл потратить время на оптимизацию запроса.
Иногда получаются чудесные результаты.

На это я уже потратила кучу времени
8 июн 06, 13:29    [2754064]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
bubucha
Member

Откуда:
Сообщений: 5642
автор

Всё равно не получается, теперь выходит та же самая ошибка, уже при обработке события форматирования.
Придётся всё-таки воспользоваться UNION

Тоды не знаю, добавление переменной и присвоение ей значения, врятли могут вызвать ошибку
8 июн 06, 13:29    [2754069]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
bubucha
Member

Откуда:
Сообщений: 5642
Думается, что самое простое решение это создать дополнительный "правильный" отчет, который будет публиковаться только при ситуации "отсутствие данных". Создать такой отчет пара пустяков - скопировать основной и заменить в нем запрос на простенький, "правильный".

Ну-ну, особенно когда 50 отчетов :-) И еще, не забывать, редактировать "правильный" отчет, когда меняется макет его родителя - "неправильного".
8 июн 06, 13:34    [2754098]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
dbr
Guest
Marina S
dbr

возможно есть смысл потратить время на оптимизацию запроса.
Иногда получаются чудесные результаты.

На это я уже потратила кучу времени


я не настаиваю.

это было необязательное напоминание о том, что sql - язык богатый по выразительным возможностям. еще о том, что бывает полезен взгляд чужого глаза. Правда, бывает и бесполезен.
шанс, что может появиться решение, которое не приходило самому на ум всегда есть.
8 июн 06, 13:39    [2754130]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
Marina S
Member

Откуда:
Сообщений: 14
bubucha
автор

Всё равно не получается, теперь выходит та же самая ошибка, уже при обработке события форматирования.
Придётся всё-таки воспользоваться UNION

Тоды не знаю, добавление переменной и присвоение ей значения, врятли могут вызвать ошибку

Ошибка, не при присвоении значения переменной, а уже при форматировании, когда пытаюсь присвоить нулевые значения полям отчёта
8 июн 06, 13:42    [2754149]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
Evgeniy_V
Guest
Вот вариант для МС СКЛ:
SELECT streettype_name from streettype
union
select 'NODATA' where not exists (SELECT top 1 streettype_name from streettype)
8 июн 06, 16:22    [2755400]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
НК
Guest
Если уж использовать UNION, то обязательно вместе с ALL.
Это увеличит скорость выполнения запроса при наличии данных, т.к. без ALL будет производиться поиск и отсеивание дубликатов строк в результирующем наборе.
8 июн 06, 16:53    [2755613]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
AlTis
Member

Откуда: Penza - Moscow
Сообщений: 1099
1 вариант: в ControlSource для всех элементов управления пропишите выражение:
=iif(iserror(ИсточникДанныхДляПоля);'';ИсточникДанныхДляПоля)
2 сделать одну надпись, которая будет закрывать все поля со значением "#ошибка", в случае отсутствия данных
8 июн 06, 17:03    [2755668]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 5127
mds_world
Думается, что самое простое решение это создать дополнительный "правильный" отчет, который будет публиковаться только при ситуации "отсутствие данных". Создать такой отчет пара пустяков - скопировать основной и заменить в нем запрос на простенький, "правильный".

Я согласен.
8 июн 06, 17:23    [2755841]     Ответить | Цитировать Сообщить модератору
 Re: Отчет без данных  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 5127
Даже больше. Когда у меня небыло нужной стоки в отчете, создавал в текстовом поле нужные данные, ставил свойсто расширение - да, сжимал поле до высоты 0,015 см и делал невидимым, а при печати, если не было данных, то делал видимым и растягивал до нужной высоты.
8 июн 06, 17:30    [2755882]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить