|
|
|
| Как сделать на основе этого куска кода чтобы если больше шести человечков- количество человечков и сумма прописью количество человечков -печатались на втором листе а на первом нет
'--------------- подсчитать количество листов
КОЛИЧЕСТВО_ЧЕЛОВЕК = 0
T_L.Seek "=", FF![Ключ]
If Not T_L.NoMatch Then
Do Until T_L.EOF
If T_L![КлючСписки] = FF![Ключ] Then
КОЛИЧЕСТВО_ЧЕЛОВЕК = КОЛИЧЕСТВО_ЧЕЛОВЕК + 1
Else
Exit Do
End If
T_L.MoveNext
Loop
End If
КОЛИЧЕСТВО_ЛИСТОВ = 1
If КОЛИЧЕСТВО_ЧЕЛОВЕК > 6 Then
КОЛИЧЕСТВО_ЛИСТОВ = КОЛИЧЕСТВО_ЧЕЛОВЕК / 6
i = КОЛИЧЕСТВО_ЧЕЛОВЕК Mod 6
If i > 0 Then КОЛИЧЕСТВО_ЛИСТОВ = КОЛИЧЕСТВО_ЛИСТОВ + 1
End If
End Sub
--------------------------
Private Sub НижнийКолонтитул_Format(Cancel As Integer, FormatCount As Integer)
Me![Число] = КОЛИЧЕСТВО_ЧЕЛОВЕК
Me![Сумма] = SUMMA_PROP(КОЛИЧЕСТВО_ЧЕЛОВЕК)
End Sub | |
|
| |
|
|
|
| вставьте в область данных элемент управления 'разрыв страницы', например ctlPageBreak
ctlPageBreak.Visible=(КОЛИЧЕСТВО_ЧЕЛОВЕК Mod 6)=0 | |
|
| |
|
8 Кб. |
|
| ctlPageBreak.Visible = (КОЛИЧЕСТВО_ЧЕЛОВЕК Mod 6) = 0
Вылазит ошибка | |
|
| |
|
|
|
| Поясните мне:
КОЛИЧЕСТВО_ЧЕЛОВЕК - счетчик записей для вывода в отчет?
Вы хотите, чтобы на каждой странице выводилось по 6 записей? | |
|
| |
|
|
|
| На каждой странице должно 6 человек , а если более 6 человек печатаем общую сумму на втором ,на первом не нужно и т.д | |
|
| |
|
60 Кб. |
|
| Так нормально? | |
|
| |
|
|
|
| Нет это у меня все работает .Поясню еще раз.У меня стандарный бланк, на листе шесть человечков .Раньше было так: общая сумма людей (к примеру 12 чел.) печаталась и на первом и на втором листах, А теперь нужно чтобы общая сумма выводилась только на втором листе и т.д . в зависимости от количества людей. Мне кажется нужно к коду добавить если более 6 то на первом листе общую сумму не печатать а печатать на втором . Как все это реализовать? | |
|
| |
|
|
|
|
нужно чтобы общая сумма выводилась только на втором листе и т.д . в зависимости от количества людей
|
Реализовать можно. Понять Вас трудновато. Сформулируйте проблему однозначно.
-общая сумма должна печататься только на последнем листе
-общая сумма всегда не должна печататься на первом листе
-общая сумма должна печататься на первом листе, только если он единственный
-общая сумма всегда должна печататься только со второго листа и далее до конца отчета на каждом листе
-общая сумма должна печататься со второго листа и далее до конца отчета на каждом листе в зависимости от количества людей, например: - если 40 - то печатать, если 60 - то не печатать
-общая сумма должна печататься как текущая для своего листа и далее по нарастанию
-общая сумма всегда является суммой за весь отчет | |
|
| |
|
|
|
| общая сумма должна печататься на первом листе, если есть 2 лист то на втором листе на первом не нужно и далее по нарастанию при условии 6 человек на листе. | |
|
| |
|
30 Кб. |
|
| примерно | |
|
| |
|
|
|
| Если до 6 сумму кол.чел. печатаем на первом листе, если до 12 сумму кол.чел. печатаем на 2 листе на первом не надо, если до18 сумму кол.чел. печатаем на 3 листе на первом и втором не надо и т.д.
--------------------------------------------------------------------------------------------------
Изменил малость, вот что получилось If Me.Page < 2 или 3 и т.д меняю количество листов ,если до 6 человек то If Me.Page <1 если до 12 чел. то If Me.Page <2 . Как вот эту переменную сделать так чтобы от количества людей она менялась и тогда получится все окей.
Private Sub НижнийКолонтитул_Format(Cancel As Integer, FormatCount As Integer)
If Me.Page < 2 Then
Cancel = True
Else
Me![Число] = КОЛИЧЕСТВО_ЧЕЛОВЕК
Me![Сумма] = SUMMA_PROP(КОЛИЧЕСТВО_ЧЕЛОВЕК)
End If
End Sub | |
|
| |
|
|
|
| Уважаемый! Вы писали
<<и далее по нарастанию>>
Так и сделал!
А пояснили бы что итог нужен на последнем листе! Ставьте его в примечание и не парьтесь! От использования Pages я воздерживаюсь, потому что в этом случае при большом количестве листов отчет заметно притормаживает. | |
|
| |
|
|
|
| У меня бланк и если в примечание отчета ставить ,настройка будет сложная чтобы попасть в графу.Проверено | |
|
| |
|
|
|
| Проще перенести бланк в макет отчета! | |
|
| |
|
|
|
| Решение найдено. Спасибо за поддержку. Выкладываю , может кому пригодиться,
If Me.Page < (Me.Pages - 1) Then
Cancel = True
Else
Me![Число] = КОЛИЧЕСТВО_ЧЕЛОВЕК
Me![Сумма] = SUMMA_PROP(КОЛИЧЕСТВО_ЧЕЛОВЕК)
End If
End Sub | |
|
| |
|
|
|
| молодца | |
|
| |
|
|
|
| Нет ! Все равно сбой идет! | |
|
| |