Crystal Reports в VB6 отображается пустым для первого запуска - PullRequest
0 голосов
/ 06 декабря 2011

Итак, у меня возникла проблема с Crystal Reports, когда при первой попытке запуска отчета отчет отображается пустым. В отчете отображаются различные разделители, строки, поля и т. Д., Но нет данных для заполнения отчета. Я использую Visual Basic 6 для кодирования. Я использую много унаследованного кода, и код, который обрабатывает фактические отчеты Crystal Reports, - это файл, который используется для других отчетов и работает нормально. Так что я уверен, что проблема в том, что я сделал, где я что-то напутал.

Вот код, который у меня есть:

Dim rs As ADODB.Recordset
Dim strRptFilePathTemp As String
Dim strRptFileName As String
Dim cSql As String

cSql = "SELECT * FROM TABLE1"

Set rs = DbConn.runStatement(cSql, "rs call", , , , , , , , , , True)  'gets a recordset based on the sql statement above

On Error GoTo ErrHandler


strRptFileName = "ReportName.rpt"

strRptFilePathTemp = App.Path


Screen.MousePointer = vbHourglass

Set frmcrystalreport.ReportRS = rs

DoEvents


frmcrystalreport.reportfile = strRptFilePathTemp & strRptFileName
frmcrystalreport.ReportTitle = _
frmCrystalReportsMainForm.GetRptTitle1("ReportTitle, ") & vbCrLf
gblStrReportFileNameLastRun = frmcrystalreport.reportfile
Screen.MousePointer = vbDefault

DoEvents

frmcrystalreport.Show vbModal

If Not frmcrystalreport.ReportRS Is Nothing Then
frmcrystalreport.ReportRS.Close
Set frmcrystalreport.ReportRS = Nothing
End If
Exit Sub

End If

End Sub

Я пытался поиграться с функцией DoEvents, чтобы посмотреть, может ли это помочь, но мне не повезло с этим. Все работает нормально после этой первоначальной неудачной попытки запуска отчета. Пока я не выйду из программы, она распечатает отчет с действительными данными, как только я пропущу этот пустой отчет. Спасибо за любую помощь, ребята, вы можете дать мне.

Ответы [ 2 ]

0 голосов
/ 26 мая 2012

Только что понял проблему после того, как наткнулся на что-то в Crystal Reports. Мне пришлось отключить сохранение данных с помощью функции отчета в файле отчета в меню Файл.

0 голосов
/ 06 декабря 2011

Хммм, прошло уже много времени с тех пор, как я использовал VB6 и CR, но я вроде помню, что вам нужно отбросить сохраненные данные перед установкой источника отчета для зрителей

Report.DiscardSavedData
CRViewer1.ReportSource = Report
...