|
|
|
| 1. Когда 6 человек на первом листе нужно чтобы печатались и данные и сумма и число.Если более 6 то печатается на втором нормально и данные и сумма.Что нужно исправить?
Private Sub ОбластьДанных_Format(Cancel As Integer, FormatCount As Integer)
' На каждой странице выводится по 6 записей
NewPageBeforeRecord Me, (Me.CurrentRecord + True) And (Me.CurrentRecord Mod 6) = 1
Me![Сумма] = SUMMA_PROP(КОЛИЧЕСТВО_ЧЕЛОВЕК)
Me![Число] = КОЛИЧЕСТВО_ЧЕЛОВЕК
End Sub
Public Sub NewPageBeforeRecord(Rpt As Report, GoNewPage As Boolean)
' Если GoNewPage = True текущая запись переносится
' на следующий лист
Static Top_or_record As Long
If GoNewPage = True Then
If Rpt.CurrentRecord <> -Top_or_record Then
' новая запись
If Rpt.TOP <> Top_or_record Then
' общее кол-во пустых строк должно быть больше
' чем помещается на странице
Top_or_record = Rpt.TOP
Rpt.NextRecord = False
Rpt.PrintSection = False
Else
' текущая запись
Top_or_record = -Rpt.CurrentRecord
End If
End If
Else
Top_or_record = 0
End If
' MsgBox "Top_or_record=" & Top_or_record '***** ОТЛАДКА ******
End Sub | |
|
| |
|
|
|
| Господин Чайник! А Вы совсем не чайник! На первый взгляд всё красиво и достойно. Как в Новогоднюю ночь! И раз уж Вы взялись за такое тухлое дело, как впихивать через Access строчки в готовые бланки отчётов, то можно только пожелать Вам [Удачи] и [терпения] in New Year.
Deal: Вам нужен квалификатор отчёта по типу boolean (одна страница-больше чем одна страница). В этом случае Ваш код должен работать и выдавать результат. А на первый взгляд Ваш код безупречен и свидетельствует о том что Вам нужна не помощь, а поддержка и такие задачки Вы в 2008 г будете щёлкать как орешки. Удачи! | |
|
| |
|
|
|
| Всех с наступившим Новым 2008 годом. Это все не мое. Рыская по большой конуре интернета собираю по косточкам разные функции пытаюсь вспомнить basic . 30 лет назад писал на нем ,комп в то время назывался (см 1800) А про BOOLEAN говорит
Не поддерживается BIT = BOOLEAN, LOGICAL, LOGICAL1, YESNO BIT .Ну ладо! Всем удачи в Новом Году. | |
|
| |
|
|
|
| Хорошо бы табличку, формочку и отчётик.
Маленький файлик посмотреть. | |
|
| |
|
|
|
| Предыдущее обсуждение --http://hiprog.com/forum/read.php?id_forum=1&id_theme=2755
Сумма с данными должна печататься только на последнем листе.
Пока временно вставил эту функцию,и сделал несколко кнопоу на событие меняя Mod 2. А как сделать чтобы Mod 2 менялась , к примеру число делилось на шесть а результат заносился в Mod 2 . Или можно как то по другому.
If (Me.Page Mod 2) = 0 Then
'If (Me.Page = Me.Pages) Then
Me![Число].Visible = True
Me![Сумма].Visible = True
Else
Me![Число].Visible = False
Me![Сумма].Visible = False
End If
' Me![Число] = КОЛИЧЕСТВО_ЧЕЛОВЕК
' Me![Сумма] = SUMMA_PROP(КОЛИЧЕСТВО_ЧЕЛОВЕК)
End Sub | |
|
| |
|
|
|
| Сумма с данными должна печататься только на последнем листе.
Перенесите это поле в примечание отчёта
Me![Сумма] = SUMMA_PROP(КОЛИЧЕСТВО_ЧЕЛОВЕК) или
в нижний колонтитул отчёта и посмотрите пойдет так.... | |
|
| |
|
|
|
| Чтобы не было смещения на других листах ,все это поместил в нижний колонтитул отчёта и все заработало как надо.
If (КОЛИЧЕСТВО_ЧЕЛОВЕК > 0) And (КОЛИЧЕСТВО_ЧЕЛОВЕК < 7) Then
If (Me.Page Mod 1) = 0 Then
Me![Число].Visible = True
Me![Сумма].Visible = True
Else
Me![Число].Visible = False
Me![Сумма].Visible = False
End If | |
|
| |
|
|
|
| Чудесно | |
|
| |