powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / глюк: удвоение значения поля при печати отчёта
25 сообщений из 32, страница 1 из 2
глюк: удвоение значения поля при печати отчёта
    #32348458
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть поле в отчёте, значение которого я вычисляю на OnFormat,
как сумму некоторых полей. (поле находится в Footere)
Вижу его на экране (к примеру 2)
Печатаю отчёт - вижу 4.
Кто-нибудь сталкивался с подобным?

Кстати, почему не могу написать в этом поле в Cotrol Sourse:
=Sum([поле_из_details]) - получаю: #Error ?
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348461
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может потому, что событие Format возникает не один раз?
>Кстати, почему не могу написать в этом поле в Cotrol Sourse:
>=Sum([поле_из_details]) - получаю: #Error ?

Может потому, что [поле_из_details] не входит в RecordSource данного отчета?
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348463
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я breakpoint поставил на OnFormat, не заходим туда после того, как я на печать посылаю.
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348464
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В событие Format передается параметр FormatCount
Вот его и проверять. Если не равно 1 - то не суммировать.
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348465
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, в RecordSource не входит - это некое выражение с IIf.
Тогда Sum по нему не работает?
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348466
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>я breakpoint поставил на OnFormat, не заходим туда после того, как я на печать посылаю.

А такое разве может быть?
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348467
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стас1 писаля breakpoint поставил на OnFormat, не заходим туда после того, как я на печать посылаю.
Это как не заходим? Если не заходим - значит событие и не работает ни фига, можешь его выкинуть нафих и искать куда ты таки заходишь
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348469
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>да, в RecordSource не входит - это некое выражение с IIf.
>Тогда Sum по нему не работает?

Конечно не работает
Включите вычисляемое поле в запрос для отчета
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348470
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
заходим, когда отчёт на экран выводится, а когда я на принтер посылаю -
не заходим.
проверка на FormatCount = 1 - не помогла
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348471
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К совету ЛП добавлю выдержку из Help:
=========
В некоторых случаях Microsoft Access возвращается к предыдущим разделам отчета для выполнения форматирования в несколько проходов. При возврате к каждой предыдущей секции отчета происходит событие Возврат (Retreat), а событие Форматирование возникает несколько раз для каждого раздела. В процедурах обработки событий или в макросах, связанных с событием Возврат, допускается отмена всех изменений, которые были внесены при возникновении события Форматирование в данном разделе. Этот прием применяется в тех случаях, когда в процедурах обработки события или в макросах, связанных с событием Форматирование, выполняются действия, например, вычисление итоговых сумм по странице или изменение размеров раздела, которые необходимо выполнить для каждого раздела только один раз.
=========
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348472
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>заходим, когда отчёт на экран выводится, а когда я на принтер посылаю -
>не заходим.

Покажите код, как вы это проверяете (извините, но у меня большие сомнения в достоверности вашего утверждения)
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348476
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
If (FormatCount = 1) Then
суммирую
End If

а проверяю, что не заходим, когда на принтер посылаю - поставив
breakpoint на OnFormat
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348479
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>а проверяю, что не заходим, когда на принтер посылаю - поставив
>breakpoint на OnFormat

Это не очень достоверная проверка (тем более я не вижу на какую строку вы поставили breakpoint)
Впишите сразу после описания процедуры строчку

Debug.Print "Format " & Now

И посмотрите, сколько она раз появится
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348482
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>If (FormatCount = 1) Then
>суммирую
>End If

Понимаете, при выводе на экран своя процедура печати, при выводе на принтер своя, поэтому FormatCount будет=1 и при выводе на экран и при последующей печати. А значение поля остается.
И если вы при суммировании пишите
[ИмяПоля]=[ИмяПоля]+КакоеТоЗначение
То естественно, что при в последующей печати (после вывода на экран) значение поля удваивается.
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348489
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, буду пробовать.
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32348765
1. Накапливать значения в переменной рекомендуется по OnPrint, с учетом значения PrintCount.
2. При печати отчета, выведенного на экран все события разделов повторяются. Поэтому и результат удваивается. Обнуляйте переменную по событию Format заголовка отчета.
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32349799
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обнулил переменную по событию Print заголовка отчета - стало хорошо.

>Конечно не работает
>Включите вычисляемое поле в запрос для отчета

не понял, что это значит. связать это поле напрямую в Control Source?
но у меня это должно быть IIf(x=0,0,x).
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32349804
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Что такое IIf(x=0,0,x)? Чем это отличается от просто x?
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32349817
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ничем.
у меня, скажем: IIf(x=0,0,y/x) - это отличается.
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32349827
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>не понял, что это значит. связать это поле напрямую в Control Source?
> IIf(x=0,0,y/x)

Я же не знаю, что такое у вас x и у.
Но я знаю, что в запрос тоже можно добавлять вычисляемое поле, например
SELECT field1, field2, iif(field1=0,0,field2/field1) as field3 FROM ...
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32349843
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я сделал так, перенес IIf в SELECT.
теперь поле_1 привязано напрямую к field3 в Control Source.

= Sum([поле_1] - всё равно #Error.
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32349846
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А почему не =Sum(Field3)?
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32349852
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то же самое, получаю #Error
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32349879
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>я сделал так, перенес IIf в SELECT.
Запрос с данной инструкцией открывается нормально? В поле field3 данные есть?
Упрошайте задачу, сделайте простую таблицу, простой запрос с вычисляемым полем, на нем постройте отчет с полем суммирующим вычисляемое поле. Все должно получиться.
...
Рейтинг: 0 / 0
глюк: удвоение значения поля при печати отчёта
    #32349885
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может IIF глючит, может переделать iif в функцию
function f(arg1,arg2)
select case arg1
case 0
f=0
case else
f=arg2/arg1
end select
end function?
и написать
SELECT field1, field2, f(field1,field2) as field3 FROM ...?
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / глюк: удвоение значения поля при печати отчёта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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