powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема. Отчёт в 2003 работает, в 2007 - нет. Как быть?
11 сообщений из 11, страница 1 из 1
Проблема. Отчёт в 2003 работает, в 2007 - нет. Как быть?
    #39111238
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отчёт с группировками. Большой. Несколько сот страниц. Группы могут располагаться на нескольких страницах. Чтоб не путаться, в заголовке группы на последующих страницах пишется слово "(продолжение)". Реализовано это следующим образом.

В модуле отчёта задаётся переменная intNewPage
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Option Compare Database
Public intNewPage As Integer

Private Sub ЗаголовокГруппы0_Format(Cancel As Integer, FormatCount As Integer)
intNewPage = 0 ' обнуляем значение
End Sub

Private Sub ЗаголовокГруппы1_Print(Cancel As Integer, PrintCount As Integer)
intNewPage = intNewPage + 1 ' изменяем значение
End Sub


В самом отчёте, в поле, где должна выводиться надпись, параметру Данные присваиваю значение
Код: vbnet
1.
=IIf([intNewPage]>1;"(продолжение)";"")

В 2003 такая конструкция работала без проблем. А в 2007 вместо значения пишет #Имя?
Что делать?



-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?
...
Рейтинг: 0 / 0
Проблема. Отчёт в 2003 работает, в 2007 - нет. Как быть?
    #39111319
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss,
посмотри , как пример отработает в 2007-м (к сожалению его у меня нет :( )
...
Рейтинг: 0 / 0
Проблема. Отчёт в 2003 работает, в 2007 - нет. Как быть?
    #39111646
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport, это немного не тот случай.

А теперь решение. Так как в 2007 (наверно и выше) к переменной в отчёте запретили обращаться как к полю, то будем обращаться к ней, как к функции. Вот так.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Option Compare Database
Public intNewPage As Integer

Private Sub ЗаголовокГруппы0_Format(Cancel As Integer, FormatCount As Integer)
intNewPage = 0 ' обнуляем значение
End Sub

Private Sub ЗаголовокГруппы1_Print(Cancel As Integer, PrintCount As Integer)
intNewPage = intNewPage + 1 ' изменяем значение
End Sub

Private Function fnNewPageA() As Integer
    fnNewPageA = intNewPage 
End Function

В самом отчёте, в поле, где должна выводиться надпись, параметру Данные присваиваю значение
Код: vbnet
1.
=IIf(fnNewPageA()>1;"(продолжение)";"")

И всё начинает работать.
...
Рейтинг: 0 / 0
Проблема. Отчёт в 2003 работает, в 2007 - нет. Как быть?
    #39111652
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss,

ну, да, пример не по ТЗ, но я имел ввиду, что можно отображать результаты подсчета глобальной переменной в скрытом поле intNewPage в отчете и тогда тоже всё будет работать :)
...
Рейтинг: 0 / 0
Проблема. Отчёт в 2003 работает, в 2007 - нет. Как быть?
    #39111861
Joss, может вместо функции лучше создать свойство (PropertyGet) и обращаться к нему?
...
Рейтинг: 0 / 0
Проблема. Отчёт в 2003 работает, в 2007 - нет. Как быть?
    #39112397
Александр Маркин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,
Дим, а почему Public, а не Dim?
---------------------------------
...
Рейтинг: 0 / 0
Проблема. Отчёт в 2003 работает, в 2007 - нет. Как быть?
    #39112447
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,

Public применяю только в общих модулях, а модулях форм/отчетов не применяю
...
Рейтинг: 0 / 0
Проблема. Отчёт в 2003 работает, в 2007 - нет. Как быть?
    #39112488
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Public - значение по умолчанию.
Так что, везде, где не Private - Public.
Естественно, с учетом области видимости.
...
Рейтинг: 0 / 0
Проблема. Отчёт в 2003 работает, в 2007 - нет. Как быть?
    #39112653
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прощу прощения. Конечно же Private Ошибся при переносе с базы описался. При использовании Public выдаётся ошибка компиляции.

То Анатолий ( Киев ), а я просто не знаю, как использовать свойство (PropertyGet)
...
Рейтинг: 0 / 0
Проблема. Отчёт в 2003 работает, в 2007 - нет. Как быть?
    #39114037
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossТо Анатолий ( Киев ), а я просто не знаю, как использовать свойство (PropertyGet)
Да ну...
А интернет, а наш форум, куча сайтов (Гетц) на худой конец.
Как вы достали своей ленью, значимостью......
Баньте меня мне по баробану.
...
Рейтинг: 0 / 0
Проблема. Отчёт в 2003 работает, в 2007 - нет. Как быть?
    #39115884
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROIJossТо Анатолий ( Киев ), а я просто не знаю, как использовать свойство (PropertyGet)
Да ну...
А интернет, а наш форум, куча сайтов (Гетц) на худой конец.
Как вы достали своей ленью, значимостью......
Баньте меня мне по баробану.
Высказался... Полегчало? Ну не знаю я как поведёт себя свойство (PropertyGet) в данном случае. Не знаю. А использование функции у меня давно отработано.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема. Отчёт в 2003 работает, в 2007 - нет. Как быть?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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