PDA

View Full Version : ارسال متغیر



probit
دوشنبه 14 آذر 1384, 10:03 صبح
اگر بخوام یک Query مثل زیر در کریستال ریپورت داشته باشم چکار باید بکنم

Select * from customer where ID=CustomerID

که در اینجا CustomerID یک متغیر public در vb.net است
اگر ممکنه راهنمایی کنید چون من تازه با کریستال ریپورت کار می کنم

PalizeSoftware
دوشنبه 14 آذر 1384, 19:08 عصر
فیلدی از نوع پارامتر به نام CustomerID بساز و در بخش SELECT EXPERT شرط رو بر اساس همین پارامتر معرفی کن. حالا قبل از نمایش گزارش این فیلد پارامتری (CustomerID) رو مقدار بده و گزارش رو نشون بده.

probit
سه شنبه 15 آذر 1384, 16:14 عصر
فیلدی از نوع پارامتر به نام CustomerID بساز و در بخش SELECT EXPERT شرط رو بر اساس همین پارامتر معرفی کن. حالا قبل از نمایش گزارش این فیلد پارامتری (CustomerID) رو مقدار بده و گزارش رو نشون بده.
میشه یه مثال بزنید چون وقتی من کد Dim myParameterFields As New ParameterFields را می نویسم error می گیره و می نویسه Type 'parameterfields' is not defined

PalizeSoftware
سه شنبه 15 آذر 1384, 16:39 عصر
دوست عزیز این پارامتر رو باید توی محیط کریستال ریپورت بسازی نه وی‌بی.
بعد در محیط وی‌بی بهش مقدار بده

probit
چهارشنبه 16 آذر 1384, 17:40 عصر
در کریستال ریپورت پارامتر ساختم اما توی vb نمی دونم چه شکلی باید انرا مقداردهی کرد کدی را که نوشتم قبول نداره شاید باید چیزی را Import کنم

PalizeSoftware
چهارشنبه 16 آذر 1384, 17:55 عصر
معمولا شما یه شئی report داری، خب. اینطوری مقدار بده:


Report.ParameterFields.GetItemByName("FactorNo").AddCurrentValue 154

در این مثال FactorNo نام فیلد پارامتری است و 154 مقداری هست که می‌خواهیم بهش بدیم.

probit
پنج شنبه 17 آذر 1384, 17:25 عصر
من نمی دونم مشکل کجاست شی ریپورت ParameterFields ندارد و وقتی کدی را که شما نوشتید می نویسم error می گیره

PalizeSoftware
پنج شنبه 17 آذر 1384, 17:32 عصر
شما اون بخش از کد رو که ریپورت رو نمایش می‌دید اینجا بذار تا ببینم

probit
جمعه 18 آذر 1384, 18:59 عصر
Private Sub CrystalReportViewer1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CrystalReportViewer1.Load

Me.CrystalReportViewer1.ReportSource = New CrystalReport1
Dim myParameterFields As New ParameterFields
Dim myParameterField As New ParameterField
Dim myDiscreteValue As New ParameterDiscreteValue
myParameterField.ParameterFieldName = "CustomerID"
myDiscreteValue.Value = 124
myParameterField.CurrentValues.Add(myDiscreteValue )
myParameterFields.Add(myParameterField)
CrystalReportViewer1.ParameterFieldInfo = myParameterFields
CrystalReportViewer1.Refresh()

End Sub

Nimi_hop
یک شنبه 20 آذر 1384, 13:12 عصر
با سلام خدمت دوستان عزیز من در Crystal Report مبتدی هستم و میخواهم در VB6 دو تاریخ را وارد کنم وبین این دو تاریخ را گزارش کند لطفا مرا راهنمایی کنید دز ضمن فیلد Date از نوع Text هست
مرسی

احمد رایان
دوشنبه 21 آذر 1384, 03:22 صبح
با سلام خدمت دوستان عزیز من در Crystal Report مبتدی هستم و میخواهم در VB6 دو تاریخ را وارد کنم وبین این دو تاریخ را گزارش کند لطفا مرا راهنمایی کنید دز ضمن فیلد Date از نوع Text هست
مرسی
کافیه که دستور جستجوی خودت رو توی یک rs از نوع recordset بریزی و بعد اون رو به گزارشت وصل کنی
مشابه این کار


rs.Open "Select * from MyPrint where Month>= '" & txtdate1 & "' and month<='" & txtdate2 & "' ", db, adOpenStatic, adLockOptimistic

Dim crApp As New CRAXDRT.Application
Dim crRept As New CRAXDRT.Report
Set crRept = crApp.OpenReport(App.Path + "\ReportFileName.Rpt") 'Report File
crRept.DiscardSavedData
crRept.Database.SetDataSource rs
CrystalActiveXReportViewer1.ReportSource = crRept
CrystalActiveXReportViewer1.ViewReport

که rs as recordset می باشد