レポートについて


機械室料金システムの日払いと週払いの請求書に、レポートが使われていて、手順に従って一歩一歩、間違いだらけのSQL文を書くよりずっと簡単だと感じました.
日本の会計書を例にとると(レポートの部分コードしか書かれていません):
  
Option Explicit
Dim WithEvents Report As grprolibctl.GridppReport   ' 

Dim SQL As String


Private Sub cmdPreview_Click()   ' 
    Report.PrintPreview (True)

End Sub

Private Sub cmdPrint_Click()   ' 
    Report.[Print] (True)
End Sub

Private Sub cmdRefresh_Click()   ' 
    Call showReport   ' 
    Viewer.Refresh ' 
End Sub

Private Sub Form_Load()
  
    ' 
    Set Report = New grprolibctl.GridppReport
    
    ' 
    Report.LoadFromFile (App.Path & "\ \DayAccount.grf")
    
    ' 
    Report.DetailGrid.Recordset.ConnectionString = ConnectionString
    
    Call showReport   ' 
    
    ' 
    Viewer.Report = Report
    Viewer.Start
End Sub


Private Sub showReport()  ' 
    
    ' SQL 
     SQL = "select * from dayaccount where  ='" & Format(GetSqlTime, "yyyy-mm-dd") & "'"
    
    ' 
    Report.DetailGrid.Recordset.QuerySQL = SQL
    

End Sub


これはレポートの使用時にVBの中のコードで、また、SQLの接続文字列とSQL文はレポートの設計時に、レポートの中に書くことができます.
周結請求書には、VBにレポートにパラメータを渡す問題も含まれており、伝達された文を追加すればよい.
 
 ' 
    Report.ParameterByName("TimeBegin").AsDateTime = Format(CDate(DTpcBegin.Value), "yyyy-mm-dd")
    Report.ParameterByName("TimeEnd").AsDateTime = Format(CDate(DTPcEnd.Value), "yyyy-mm-dd")