PDA

View Full Version : فیلتر کریستال ریپورت



y.saied
چهارشنبه 27 آذر 1387, 11:35 صبح
Dim crApp As New CRAXDRT.Application
Dim crRept As New CRAXDRT.Report
Dim CrDBTable As CRAXDRT.DatabaseTable
Set crRept = crApp.OpenReport(App.Path & "\OwnerFilmTahvili.Rpt")
crRept.RecordSelectionFormula = "{Tahvili.ownerno} =" & Val(Text1.Text)
For Each CrDBTable In crRept.Database.Tables
CrDBTable.ConnectBufferString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
";data source=" & App.Path & "\ndt.mdb;jet oledb:database password=rayankarno"
Next
frmMain.CrystalActiveXReportViewer1.ReportSource = crRept
frmMain.CrystalActiveXReportViewer1.ViewReport
Set crApp = Nothing
Set crRept = Nothing


میخوام در قسمت crRept.RecordSelectionFormula سه فیلد دیگه برای فیلتر کردن اضافه کنم ؛ ولی جواب نمیده ........ نمیدونم کجاش و اشتباه میکنم

مثلاً فیلدهایی رو نشون بده که ownerno برابر با text1.text و calsno بزرگتر از صفر یا madraseno بزرگتر از صفر باشد .

لطفاً کمکم کنید

mpmsoft
پنج شنبه 28 آذر 1387, 00:10 صبح
به دلیل سرعت پایین کریستال در تعداد رکورد بالا من پیشنهاد می کنم Rs رو به کریستال پاس بدید که دیگر حتی نیاز نباشه که Connection به کریستال پاس بدید پس بنابراین سرعت نمایش گزارش بیشتر می شه


Rs.Open "SELECT .... WHERE I=1 And B=2 And C=3"

ObjRpt.DataBase.SetDataSource Rs

CrViewer.ReportSource = Rs
CrViewer.ViewReport

rezankh
پنج شنبه 28 آذر 1387, 00:34 صبح
با سلام
اينجا رو نگاه كنيد


http://barnamenevis.org/forum/showthread.php?t=133571

y.saied
پنج شنبه 28 آذر 1387, 15:24 عصر
به دلیل سرعت پایین کریستال در تعداد رکورد بالا من پیشنهاد می کنم Rs رو به کریستال پاس بدید که دیگر حتی نیاز نباشه که Connection به کریستال پاس بدید پس بنابراین سرعت نمایش گزارش بیشتر می شه


Rs.Open "SELECT .... WHERE I=1 And B=2 And C=3"

ObjRpt.DataBase.SetDataSource Rs

CrViewer.ReportSource = Rs
CrViewer.ViewReport


ممنون که جواب دادی ........... اگه ممکنه یه لطفی بکن و یه نمونه بذار ...... چون من هرچی امتحان میکنم Error میده

y.saied
پنج شنبه 28 آذر 1387, 18:11 عصر
میشه بفرمائین کجای این کدها اشتباه هستن


If FOwnerReportFilmMasrafi = True Then
Set crRept = crApp.OpenReport(App.Path & "\OwnrFilmMasrafi.Rpt")
Sefr = 500
crRept.RecordSelectionFormula = "{Masrafi.cm7}>" & 0 Or "{Masrafi.cm10}>" & 0 Or "{Masrafi.cm7mx}>" & 0 Or "{Masrafi.cm10mx}>" & 0 And "{Masrafi.ownerno}=" & 1000
For Each CrDBTable In crRept.Database.Tables
CrDBTable.ConnectBufferString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
";data source=" & App.Path & "\ndt.mdb;jet oledb:database password=rayankarno"
Next
frmMain.CrystalActiveXReportViewer1.ReportSource = crRept
frmMain.CrystalActiveXReportViewer1.ViewReport
Set crApp = Nothing
Set crRept = Nothing
FOwnerReportFilmMasrafi = False
Unload Me
End If


ممنون