|
Помогите с отчетом
|
|||
---|---|---|---|
#18+
В отчёте выполняю подсчёт при форматировании строки в модуле (для примера написал простую нумерацию). Подскажите почему при переходе на следующую страницу команда выполняется два раза (в примере нумерация сдвигается на 1 ) какя причина и как это обойти. То есть чтобы команда в модуле выполнялась только раз при переходе на следующую страницу. Извините, если это где уже обсуждалось но не могу быстро найти, если да то тыкните. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2016, 21:50 |
|
Помогите с отчетом
|
|||
---|---|---|---|
#18+
guest_rusimport, Визуально согласен но основная суть не в нумерации (это я для примера привёл, о чём написано выше) а чтобы команда в модуле выполнялась только раз при переходе на следующую страницу ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2016, 23:51 |
|
Помогите с отчетом
|
|||
---|---|---|---|
#18+
GVOV, так для того там в Отчет1 условие и написано, а вообще пример ваш неудачный, придумайте другой, более подходящий вашему случаю ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2016, 23:56 |
|
Помогите с отчетом
|
|||
---|---|---|---|
#18+
guest_rusimport, Пример как будто понятный. При переходе на следующую строку выполняется два раза код в событии ОбластьДанных_Format из за чего и проблема. А пример с нумерацией показывает что из за этого нумерация сбивается. В реальном приложении этим способом пересчитываю переходящие остатки с одной строки в другую и при переходе страницы считает два раза ту строку которая перешла на следующую страницу. Рассматриваю как вариант решения проверять момент смены страницы через значение [Page] и как будто решаю проблему. Но хотелось бы узнать правильно ли я думаю или можно как то по другому добиться чтобы без этого всё работало нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 00:05 |
|
Помогите с отчетом
|
|||
---|---|---|---|
#18+
Извиняюсь, не заметил в Отчёт_1. В принципе кажись то что надо ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 00:07 |
|
Помогите с отчетом
|
|||
---|---|---|---|
#18+
guest_rusimportGVOV, так для того там в Отчет1 условие и написано Добавляю в таблицу больше значений чтобы формировалось уже три страницы и проблема возвращается в начале третей страницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 00:15 |
|
Помогите с отчетом
|
|||
---|---|---|---|
#18+
GVOVguest_rusimportGVOV, так для того там в Отчет1 условие и написано Добавляю в таблицу больше значений чтобы формировалось уже три страницы и проблема возвращается в начале третей страницы. ну, тогда вместо FormatCount в коде используйте ваше "любимое" слово Page ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 03:57 |
|
Помогите с отчетом
|
|||
---|---|---|---|
#18+
GVOVПример как будто понятный. При переходе на следующую строку выполняется два раза код в событии ОбластьДанных_Format из за чего и проблема. А пример с нумерацией показывает что из за этого нумерация сбивается. В реальном приложении этим способом пересчитываю переходящие остатки с одной строки в другую и при переходе страницы считает два раза ту строку которая перешла на следующую страницу.Литвин П., Гетц К., Гунделой М., Разработка настольных приложений в Access 2002. Свойство FormatCount Access увеличивает значение свойства раздела FormatCount каждый раз, когда происходит его событие Format. При переходе к следующему разделу Access присваивает свойству FormatCount значение 0. В некоторых случаях Access форматирует раздел больше одного раза. Например, в том случае, если она доходит до конца страницы и обнаруживает, что текущий раздел на странице не умещается. Тогда она пытается так сформатиро- вать раздел, чтобы он уместился, но если этого не удается сделать, повторно форматирует раздел на следующей странице. Процедура обработки события Format для такого раздела выполняется дважды, и первый раз свойство Format- Count имеет значение 1, а второй раз — значение 2. Если в процедуре обработки события Format вы производите вычисления или какие-либо другие действия над данными, то обращайте внимание на значение свойства FormatCount. Если в процедуре увеличивается некоторый счетчик, это нужно делать в то время, когда свойство FormatCount имеет значение 1. Свойство PrintCount Access увеличивает значение свойства раздела PrintCount каждый раз, когда наступает его событие Print. При переходе к следующему разделу свойству Print- Count присваивается значение 0. Событие Print происходит более одного раза, когда раздел занимает больше одной страницы. Например, для вывода раздела на печать требуется более одной страницы, и Access вызывает процедуру обработки события Print по одному разу для каждой страницы, увеличивая каждый раз значение свойства PrintCount. Если в отчете вычисляется нарастающая сумма, к которой при печати каждого раздела должна добавляться некоторая величина, необходимо проверить свойство Print- Count, чтобы не добавлять эту величину дважды. Приведенный ниже код можно было бы использовать в процедуре обработки события Print. (Если вы обрабатываете это событие с помощью стандартной процедуры из модуля класса отчета, Access передает ей свойство Pri ntCount как параметр. В противном случае вам придется обращаться к свойству PrintCount, используя стандартный синтаксис.) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 04:17 |
|
|
start [/forum/topic.php?fid=45&msg=39329459&tid=1613075]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
140ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 239ms |
0 / 0 |