
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
09.12.2003, 21:21
|
|||
|---|---|---|---|
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
Есть поле в отчёте, значение которого я вычисляю на OnFormat, как сумму некоторых полей. (поле находится в Footere) Вижу его на экране (к примеру 2) Печатаю отчёт - вижу 4. Кто-нибудь сталкивался с подобным? Кстати, почему не могу написать в этом поле в Cotrol Sourse: =Sum([поле_из_details]) - получаю: #Error ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2003, 21:29
|
|||
|---|---|---|---|
|
|||
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
Может потому, что событие Format возникает не один раз? >Кстати, почему не могу написать в этом поле в Cotrol Sourse: >=Sum([поле_из_details]) - получаю: #Error ? Может потому, что [поле_из_details] не входит в RecordSource данного отчета? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2003, 21:33
|
|||
|---|---|---|---|
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
я breakpoint поставил на OnFormat, не заходим туда после того, как я на печать посылаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2003, 21:35
|
|||
|---|---|---|---|
|
|||
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
В событие Format передается параметр FormatCount Вот его и проверять. Если не равно 1 - то не суммировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2003, 21:37
|
|||
|---|---|---|---|
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
да, в RecordSource не входит - это некое выражение с IIf. Тогда Sum по нему не работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2003, 21:38
|
|||
|---|---|---|---|
|
|||
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
>я breakpoint поставил на OnFormat, не заходим туда после того, как я на печать посылаю. А такое разве может быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2003, 21:39
|
|||
|---|---|---|---|
|
|||
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
стас1 писаля breakpoint поставил на OnFormat, не заходим туда после того, как я на печать посылаю. Это как не заходим? Если не заходим - значит событие и не работает ни фига, можешь его выкинуть нафих и искать куда ты таки заходишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2003, 21:40
|
|||
|---|---|---|---|
|
|||
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
>да, в RecordSource не входит - это некое выражение с IIf. >Тогда Sum по нему не работает? Конечно не работает Включите вычисляемое поле в запрос для отчета ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2003, 21:44
|
|||
|---|---|---|---|
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
заходим, когда отчёт на экран выводится, а когда я на принтер посылаю - не заходим. проверка на FormatCount = 1 - не помогла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2003, 21:44
|
|||
|---|---|---|---|
|
|||
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
К совету ЛП добавлю выдержку из Help: ========= В некоторых случаях Microsoft Access возвращается к предыдущим разделам отчета для выполнения форматирования в несколько проходов. При возврате к каждой предыдущей секции отчета происходит событие Возврат (Retreat), а событие Форматирование возникает несколько раз для каждого раздела. В процедурах обработки событий или в макросах, связанных с событием Возврат, допускается отмена всех изменений, которые были внесены при возникновении события Форматирование в данном разделе. Этот прием применяется в тех случаях, когда в процедурах обработки события или в макросах, связанных с событием Форматирование, выполняются действия, например, вычисление итоговых сумм по странице или изменение размеров раздела, которые необходимо выполнить для каждого раздела только один раз. ========= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2003, 21:47
|
|||
|---|---|---|---|
|
|||
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
>заходим, когда отчёт на экран выводится, а когда я на принтер посылаю - >не заходим. Покажите код, как вы это проверяете (извините, но у меня большие сомнения в достоверности вашего утверждения) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2003, 21:53
|
|||
|---|---|---|---|
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
If (FormatCount = 1) Then суммирую End If а проверяю, что не заходим, когда на принтер посылаю - поставив breakpoint на OnFormat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2003, 22:02
|
|||
|---|---|---|---|
|
|||
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
>а проверяю, что не заходим, когда на принтер посылаю - поставив >breakpoint на OnFormat Это не очень достоверная проверка (тем более я не вижу на какую строку вы поставили breakpoint) Впишите сразу после описания процедуры строчку Debug.Print "Format " & Now И посмотрите, сколько она раз появится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2003, 22:11
|
|||
|---|---|---|---|
|
|||
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
>If (FormatCount = 1) Then >суммирую >End If Понимаете, при выводе на экран своя процедура печати, при выводе на принтер своя, поэтому FormatCount будет=1 и при выводе на экран и при последующей печати. А значение поля остается. И если вы при суммировании пишите [ИмяПоля]=[ИмяПоля]+КакоеТоЗначение То естественно, что при в последующей печати (после вывода на экран) значение поля удваивается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.12.2003, 22:46
|
|||
|---|---|---|---|
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
спасибо, буду пробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.12.2003, 10:48
|
|||
|---|---|---|---|
|
|||
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
1. Накапливать значения в переменной рекомендуется по OnPrint, с учетом значения PrintCount. 2. При печати отчета, выведенного на экран все события разделов повторяются. Поэтому и результат удваивается. Обнуляйте переменную по событию Format заголовка отчета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.12.2003, 19:06
|
|||
|---|---|---|---|
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
обнулил переменную по событию Print заголовка отчета - стало хорошо. >Конечно не работает >Включите вычисляемое поле в запрос для отчета не понял, что это значит. связать это поле напрямую в Control Source? но у меня это должно быть IIf(x=0,0,x). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.12.2003, 19:09
|
|||
|---|---|---|---|
|
|||
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
Что такое IIf(x=0,0,x)? Чем это отличается от просто x? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.12.2003, 19:25
|
|||
|---|---|---|---|
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
ничем. у меня, скажем: IIf(x=0,0,y/x) - это отличается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.12.2003, 19:33
|
|||
|---|---|---|---|
|
|||
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
>не понял, что это значит. связать это поле напрямую в Control Source? > IIf(x=0,0,y/x) Я же не знаю, что такое у вас x и у. Но я знаю, что в запрос тоже можно добавлять вычисляемое поле, например SELECT field1, field2, iif(field1=0,0,field2/field1) as field3 FROM ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.12.2003, 19:50
|
|||
|---|---|---|---|
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
я сделал так, перенес IIf в SELECT. теперь поле_1 привязано напрямую к field3 в Control Source. = Sum([поле_1] - всё равно #Error. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.12.2003, 19:53
|
|||
|---|---|---|---|
|
|||
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
А почему не =Sum(Field3)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.12.2003, 19:59
|
|||
|---|---|---|---|
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
то же самое, получаю #Error ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.12.2003, 20:41
|
|||
|---|---|---|---|
|
|||
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
>я сделал так, перенес IIf в SELECT. Запрос с данной инструкцией открывается нормально? В поле field3 данные есть? Упрошайте задачу, сделайте простую таблицу, простой запрос с вычисляемым полем, на нем постройте отчет с полем суммирующим вычисляемое поле. Все должно получиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.12.2003, 20:53
|
|||
|---|---|---|---|
глюк: удвоение значения поля при печати отчёта |
|||
|
#18+
Может 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 ...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=45&mobile=1&tid=1677688]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 478ms |

| 0 / 0 |
