My code to generate the report is as below, can anybody see what I've done wrong ?
Thanks
Simon
Code: Select all
Private Function CreateStimulReport(ByVal FormName As String, ByVal FieldNames() As String, ByVal FieldData() As String)
' Create and Return Report
Dim tmpReport(0) As Stimulsoft.Report.StiReport
tmpReport(0) = New Stimulsoft.Report.StiReport
tmpReport(0).Load("c:\dms\forms\" & FormName & ".mrt")
Dim PageNo As Int32 = 0
Dim dct As Int32 = FieldNames.GetLength(0) - 1
For cnt As Int32 = 0 To dct
If FieldNames(cnt) = "@PAGE" Then
' Create New Page
If tmpReport(PageNo).Pages.Count > 0 Then
tmpReport(PageNo).Compile()
tmpReport(PageNo).Render()
If PageNo > 0 Then tmpReport(0).RenderedPages.AddRange(tmpReport(PageNo).RenderedPages)
ReDim Preserve tmpReport(tmpReport.GetLength(0))
PageNo = PageNo + 1
tmpReport(PageNo) = New Stimulsoft.Report.StiReport
tmpReport(PageNo).Load("c:\dms\forms\" & FormName & ".mrt")
End If
Else
Try
Debug.WriteLine("Setting Field [" & FieldNames(cnt) & "] = " & FieldData(cnt))
If FieldData(cnt).StartsWith(" ") Then FieldData(cnt) = Chr(30) & FieldData(cnt)
tmpReport(PageNo).Dictionary.Variables(FieldNames(cnt)).Value = FieldData(cnt).TrimEnd(" ")
Catch
Debug.WriteLine("Err with field & " & FieldNames(cnt) & " = " & Err.Description)
End Try
End If
Next
Try
If tmpReport(PageNo).Pages.Count > 0 Then
tmpReport(PageNo).Compile()
tmpReport(PageNo).Render()
If PageNo > 0 Then tmpReport(0).RenderedPages.AddRange(tmpReport(PageNo).RenderedPages)
End If
Catch
MsgBox("error = " & Err.Number & " " & Err.Description)
End Try
' tmpReport(0).Show()
Return tmpReport(0)
End Function