Hi All,
i m Currently using VB,CR 9 and MS-Access
i have Create Cr report,
in my Vb form two text boxes Start date and end date,Simply i just want to display my report between two dates..
how can i do this..
AnyoneCan help me...
Thanx in Advance
Regards,
SabinaI am glad that you ask this question because I have the same problem and wanted to ask this to. I hope that someone can help us.
Greetings, Sjaaaf|||Create 2 global variables in module.bas
Public gstrFrom as String
Public gstrTo as String
Let say your form frmPrint.frm has textboxes txtFrom.text and txtTo.text
Put inside command button Print
Private Sub cmdPrint_Click()
gstrFrom = Trim(txtFrom.text)
gstrTo = Trim(txtTo.text)
Dim RptViewer As New frmRPrint 'frmRPrint.frm has a CRViewer object
RptViewer.Show
End Sub
Inside frmRPrint code section:
Option Explicit
Public Report As New ProdReport 'ProdReport.dsr is a Designer file
Private Sub Form_Load()
Dim adoc As ADODB.Command
Dim strSQL As String
Dim conn As ADODB.Connection
Me.Left = (Screen.Width - Me.Width) / 2
Me.Top = (Screen.Height - Me.Height) / 2
Screen.MousePointer = vbHourglass
Set adoc = New ADODB.Command
Set conn = New ADODB.Connection
conn.Open ConnString 'Connection String to MS Access Database
adoc.ActiveConnection = conn
strSQL = "SELECT ItemID, Quantity" & _
" FROM Production" & _
" WHERE ProdDate BETWEEN '" & gstrFrom & "' AND '" & gstrTo & "'"
adoc.CommandText = strSQL
adoc.CommandType = adCmdText
Report.Database.AddADOCommand conn, adoc
Report.AutoSetUnboundFieldSource crBMTName
Report.ItemID.SetUnboundFieldSource ("{ADO.ItemID}")
Report.Quantity.SetUnboundFieldSource ("{ADO.Quantity}")
conn.Close
Set conn = Nothing
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub
Note:
You also can use
strSQL = "... WHERE ProdDate > '" & gstrFrom & "' AND ProdDate <'" & gstrTo & "'"
If your date is in date time format, concantenate the Todate with "11.59 pm" or "< gstrTo +1" so it will also include records on that day or else it will only display records until d/m/yy 12.00am|||hi
Thanx u very much..
If i get any error,than i will again ask u question.....again thnx
God with u always,
Regards,
Sabina|||hi
As u gave me Code of the passing Date range i did it
but when i use
Report.Database.AddADOCommand conn, adoc
Report.AutoSetUnboundFieldSource crBMTName
Report.ItemID.SetUnboundFieldSource ("{ADO.ItemID}")
Report.Quantity.SetUnboundFieldSource ("{ADO.Quantity}")
this codding lines
it not show me database,AutoSetUnboundFieldSource crBMTName like these properties
my report is a .dsr file...if i have Crystal report (.rpt file)than wha can i do...?
tell me plz what wil i do ,where Database etc. properties not display ...othertings u sais it is fine
Thanx in Advance
Regards,
Sabina|||Hi..
Instead of doing that one, try this one
XSTART = txtFrom.text
XEND = txtEnd.txt
Dim APP As New CRAXDRT.Application
Dim REPORT As CRAXDRT.Report
REPORT = APP.OpenReport("<your path>\<your reportfilename>.rpt")
REPORT.RecordSelectionFormula = "{<Table.Datefield>} >= #" & XSTART & "# AND {<Table.Datefield>} <= #" & XEND & "#"
Don't forget to Add the Crystal Report ActiveX Designer Run Time Library to your COM References ^_^|||Try this...
Place 2 Formula Fields in yr report and in the editor write "Date".
Then write the below code in yr VB codings and then execute the report.
CrystalReport1.Formulas(0) = "fdate='" & Format(DTPicker1.Value, "MMMM yyyy") & "'"
CrystalReport1.Formulas(1) = "tdate='" & Format(DTPicker2.Value, "MMMM yyyy") & "'"
Revert, if u still require assistance..
No comments:
Post a Comment