как кодом добавить новую строку в области данных?

=KADET=
Дата: 22.09.2005 20:01:32
есть рекордсет записи которого перебираются в цикле,
для каждой записи рассчитываются значения, которые необходимо
выводить в области данных отчёта. В моём варианте все строки рисуються в одну, как кодом добавить новую строку в области данны
Владимир Саныч
Дата: 22.09.2005 21:08:54
Насколько я знаю, отчет нельзя заполнять программно. Он должен сидеть на таблице или запросе или селекте.

...Если я правильно понял вопрос.
msdatabaseru
Дата: 22.09.2005 21:28:39
отчет без источника данных и бесконечностью записей

Private Sub ОбластьДанных_Format(Cancel As Integer, FormatCount As Integer)
 Me.NextRecord = False
End Sub
Владимир Саныч
Дата: 22.09.2005 21:53:39
Впечатляет, хотя я не понял, почему оно так должно работать...
Victosha
Дата: 22.09.2005 22:54:51
Владимир Саныч
Впечатляет, хотя я не понял, почему оно так должно работать...


про заполнять программно:

NextRecord=False - останавливает попытку перехода к следующей записи для связанного с отчетом набора строк. Если набор данных для отчета есть, то в следующей позиции печати пропечатается текущая строка данных повторно.
таким образом можно заполнять отчет из массива вообще без указания источников

MoveLayout=False - останавливает переход к следующей позиции печати для секции. Следующий экземпляр секции начнет печататься с той же позиции Top, который имеет текущий экземпляр.


PrintSection=False блокирует вывод секции на печать.

про исходный вопрос:
слова KADET
автор
В моём варианте все строки рисуються в одну, как кодом добавить новую строку в области данных


наводят на мысль, что в его случае происходит что-то типа
Private Sub ОбластьДанных_Format(Cancel As Integer, FormatCount As Integer)
    Me.MoveLayout = False
End Sub

В результате чего все и оказывается в одной строке друг на друге.
=KADET=
Дата: 23.09.2005 10:54:52
в области данных есть два ни к чему не привязанных текстовых поля Date и Amount, их надо заполнять и переходить к следующей строке, но у меня не получается дублировать область данных на новую строчку, как?
Вот мой код.
Option Compare Database
Option Explicit
Dim db As Database, rs As Recordset

Private Sub Report_Open(Cancel As Integer)
  Set db = DBEngine.Workspaces(0).Databases(0)
  Set rs = db.OpenRecordset("queryAccountsHistory")
End Sub

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
  Do While Not rs.EOF
    Me.Date = rs![Date]
    Me.Amount = rs![Amount]
    rs.MoveNext
    'как вот здесь перейти к следущюей строке ??????????????????????????????    
  Loop
End Sub

Private Sub Report_Close()
  rs.Close
  db.Close
End Sub
RVB
Дата: 23.09.2005 12:17:12
=KADET=
в области данных есть два ни к чему не привязанных текстовых поля Date и Amount, их надо заполнять и переходить к следующей строке, но у меня не получается дублировать область данных на новую строчку, как?
Вот мой код.
Option Compare Database
Option Explicit
Dim db As Database, rs As Recordset

Private Sub Report_Open(Cancel As Integer)
  Set db = DBEngine.Workspaces(0).Databases(0)
  Set rs = db.OpenRecordset("queryAccountsHistory")
End Sub

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
  Do While Not rs.EOF
    Me.Date = rs![Date]
    Me.Amount = rs![Amount]
    rs.MoveNext
    'как вот здесь перейти к следущюей строке ??????????????????????????????    
  Loop
End Sub

Private Sub Report_Close()
  rs.Close
  db.Close
End Sub



Или я чего-то конкретно не понимаю, или этот результат можно получить указав queryAccountsHistory в качестве источника данных отчета, и связав поля. В любом случае, сначала сформируйте нужным Вам способом источник данных, а потом подставьте в отчет.
=KADET=
Дата: 23.09.2005 12:45:13
RVB

Или я чего-то конкретно не понимаю, или этот результат можно получить указав queryAccountsHistory в качестве источника данных отчета, и связав поля. В любом случае, сначала сформируйте нужным Вам способом источник данных, а потом подставьте в отчет.


конкретно в этом примере да, но я не хочу связывать поля, потому что далее предстоят сложные вычисления между строками. Я просто хочу научится рисовать строки кодом, я уверен это должно быть возможно, вопрос только как ?
RVB
Дата: 23.09.2005 13:01:31
=KADET=

конкретно в этом примере да, но я не хочу связывать поля, потому что далее предстоят сложные вычисления между строками. Я просто хочу научится рисовать строки кодом, я уверен это должно быть возможно, вопрос только как ?

Но зачем это делать в отчете? Открываете таблицу, делаете вычисления, результат в другую таблицу и указываете ее источником данных.
=KADET=
Дата: 23.09.2005 13:11:00
RVB
=KADET=

конкретно в этом примере да, но я не хочу связывать поля, потому что далее предстоят сложные вычисления между строками. Я просто хочу научится рисовать строки кодом, я уверен это должно быть возможно, вопрос только как ?

Но зачем это делать в отчете? Открываете таблицу, делаете вычисления, результат в другую таблицу и указываете ее источником данных.


чтобы не грузить базу данных, юзер забрал с сервера данные в виде рекордсета простеньким запросом, а все калькуляции по построению отчёта происходят уже на его машине, усёк фишку ?