Public Sub XsPrintReport(language As Integer, rptName As String, sltFormula As String, obj As Object)
Dim strReportFileName As String
Select Case language
Case 1: strReportFileName = App.Path & "\Report\c" & rptName
Case 2: strReportFileName = App.Path & "\Report\j" & rptName
Case 3: strReportFileName = App.Path & "\report\e" & rptName
End Select
obj.ReportFileName = strReportFileName
obj.DiscardSavedData = True
obj.SelectionFormula = sltFormula
MsgBox sltFormula
obj.Destination = crptToWindow
Private Function IOrderPrint_OrderHistoryFormula(Optional objCrpt As Variant, Optional Ppnum As Variant, Optional BgnDate As Variant, Optional EndDate As Variant) As String
Dim strFormula As String
If IsMissing(Ppnum) And IsMissing(BgnDate) And IsMissing(EndDate) Then
strFormula = " "
ElseIf IsMissing(Ppnum) And IsMissing(BgnDate) And Not IsMissing(EndDate) Then
strFormula = "{userorderhistory.handindate} < date(" & Year(EndDate) & "," & Month(EndDate) & "," & Day(EndDate) & ")"
objCrpt.Formulas(1) = "endtime='" & EndDate & "'"
ElseIf IsMissing(Ppnum) And Not IsMissing(BgnDate) And IsMissing(EndDate) Then
strFormula = "{userorderhistory.handindate} > date(" & Year(BgnDate) & "," & Month(BgnDate) & "," & Day(BgnDate) & ") "
objCrpt.Formulas(0) = "starttime='" & BgnDate & "'"
ElseIf IsMissing(Ppnum) And Not IsMissing(BgnDate) And Not IsMissing(EndDate) Then
strFormula = "{userorderhistory.handindate} in date(" & Year(BgnDate) & "," & Month(BgnDate) & "," & Day(BgnDate) & ") to date(" & Year(EndDate) & "," & Month(EndDate) & "," & Day(EndDate) & ")"
objCrpt.Formulas(0) = "starttime='" & BgnDate & "'"
objCrpt.Formulas(1) = "endtime='" & EndDate & "'"
ElseIf Not IsMissing(Ppnum) And IsMissing(BgnDate) And IsMissing(EndDate) Then
strFormula = "{userorderhistory.ppnum}='" & Ppnum & "' "
ElseIf Not IsMissing(Ppnum) And IsMissing(BgnDate) And Not IsMissing(EndDate) Then
strFormula = "{userorderhistory.ppnum}='" & Ppnum & "' and {userorderhistory.handindate} < date(" & Year(EndDate) & "," & Month(EndDate) & "," & Day(EndDate) & ")"
objCrpt.Formulas(1) = "endtime='" & EndDate & "'"
ElseIf Not IsMissing(Ppnum) And Not IsMissing(BgnDate) And Not IsMissing(EndDate) Then
strFormula = "{userorderhistory.ppnum}='" & Ppnum & "' and {userorderhistory.handindate} in date(" & Year(BgnDate) & "," & Month(BgnDate) & "," & Day(BgnDate) & ") to date(" & Year(EndDate) & "," & Month(EndDate) & "," & Day(EndDate) & ")"
objCrpt.Formulas(0) = "starttime='" & BgnDate & "'"
objCrpt.Formulas(1) = "endtime='" & EndDate & "'"
ElseIf Not IsMissing(Ppnum) And Not IsMissing(BgnDate) And IsMissing(EndDate) Then
strFormula = "{userorderhistory.ppnum}='" & Ppnum & "' and {userorderhistory.handindate} > date(" & Year(BgnDate) & "," & Month(BgnDate) & "," & Day(BgnDate) & ") "
objCrpt.Formulas(0) = "starttime='" & BgnDate & "'"
End If
IOrderPrint_OrderHistoryFormula = strFormula
End Function