Отчет данных, заполненный во время выполнения, показывает одну и ту же запись вместо каждой другой записи - PullRequest
1 голос
/ 15 апреля 2011

Я запрашиваю таблицу MySql с 5 различными записями.Затем я заполняю отчет данных VB6.У меня есть 5 записей в таблице с полями Имя и Фамилия, проблема в том, что отчет показывает 5 одинаковых имен вместо пяти разных имен.

Все 5 одинаковых имен принадлежат последней записи, выбранной из базы данных, здеськод для заполнения метки отчета данных во время выполнения:

    Set rs = New ADODB.Recordset       'Creates record set
    strSQL = "select * from person"
     rs.Open strSQL, cn, strDBCursorType, strDBLockType, strDBOptions

If rs.EOF Then
   GoTo ExitSub
Else
    For B = 1 To rs.RecordCount
   'MsgBox (rs!Name + " " + rs!Surname)
    rptRuntime.Sections("Section1").Controls("lblName").Caption = rs!Name
   rs.MoveNext
    Next B
End If
    rptRuntime.Show

Заполняемая метка помещается в раздел сведений с именем «Section1».

Ответы [ 2 ]

0 голосов
/ 15 апреля 2011

Лучше привязать к Recordset или объекту пользовательского источника данных.Процедурный код не требуется для DataReports.

0 голосов
/ 15 апреля 2011

Этот блок кода

For B = 1 To rs.RecordCount
'MsgBox (rs!Name + " " + rs!Surname)
rptRuntime.Sections("Section1").Controls("lblName").Caption = rs!Name
    rs.MoveNext
Next B

Собирается установить rs! Name 5 раз подряд, заканчивая rptRuntime.Sections("Section1").Controls("lblName").Caption, содержащей последнее изменение. ВСЕ 5 изменений произошли до того, как отчет был отображен с помощью

rptRuntime.Show

Само собой разумеется, что у вас будет (повторный отчет) раздел с фиксированной подписью, показывающий одну и ту же подпись в каждом повторении.

...