ايران ويج

نسخه‌ی کامل: گرفتن گزارش از ركورد هاي خاصي از بانك اطلاعاتي
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام
چگونه ميشه در كريستال ريپورت 9 در vb 6 از اطلاعات بانك اطلاعاتي فقط ركورد هاي خاصي را گزارش گرفت من در برنامه ام از بانك اطلاعاتي اكسس استفاده كرده ام و از شي ADO و اگر بخوام اطلاعات فقط از طريق وارد كردن يك كد درون يك text box گزارش گيري بشه به چه صورتي انجام بايد بدم.
من هم دقيقا همين سوال رو دارم.
چطوري ميشه اين كار رو كرد؟
دوستان عزيز

يه راه حل ساده براي انجام گزارشگيري بر روي ركوردهاي خاص استفاده از يه تيبيل تمپوراري هست.

مثلا شما قصد داريد از يك تيبل مربوط به دانشجويان كه داراي 15 فيلد هست ، گزارشي تهيه كنيد كه تنها فهرست دانشجويان مرد را ارائه دهد.

براي اين كار ابتدا بايد يك تيبل كاملا شبيه به تيل اصلي دانشجويان تهيه كنيد.

سپس با استفاده از جستجو ، تمام رگوردهاي مربوط به دانشجويان مرد را يافته و داخل اين تيبل قرار دهيد.

خوب حالا شما يه تيبل تمپوراري داريد كه شامل اطلاعات مورد نياز شماست و مي تويند با استفاده از برنامه هاي ريپورت گيري از اونها گزارش تهيه كنيد .
مشكل همين جاست كه ديتابيس و فيلتر هاي احتمالي آن قبلا براي كريستال ريپورت تعريف شده است و من بايد هنگام اجراي برنامه VB فيلتر را عوض كنم.
اميدوارم متوجه منظورم شده باشيد.
نه متاسفانه متوجه نشدم!!
سلام شما بايد از متد RecordSelectionFormula استفاده كنيد
براتون يك نمونه ميذارم هرجاش كنگ بود بگيد توضيح بدم
کد:
Dim cr_app As New CRAXDRT.Application
Dim cr_rep As CRAXDRT.Report
Private Sub Form_Load()
  Set cr_rep = cr_app.OpenReport(App.Path & "\Report1.rpt")
     With cr_rep
        .DiscardSavedData
        .DisplayProgressDialog = False
        .PaperOrientation = crPortrait
        .PaperSize = crPaperA4
        .RecordSelectionFormula = strsql
        Me.CRViewer91.ReportSource = cr_rep
        Me.CRViewer91.ViewReport
        Me.CRViewer91.Zoom 130
        Me.Show vbModal
    End With
End Sub
Private Sub Form_Resize()
CRViewer91.Top = 0
CRViewer91.Left = 0
CRViewer91.Height = ScaleHeight
CRViewer91.Width = ScaleWidth
End Sub

اون مقدار هم ميتونه اينجوري مشخص بشه
کد:
Private Sub mnureport_Click()
On Error Resume Next
strsql = "{tbl_return.datee}LIKE '*" & datee.Shamsi & "*'"
Form1.Show
End Sub
اگه از کریستال ریپورت استفاده می کنید می تونید از selection formula که تو خودش هست استفاده کنید کد نویسیش هم کمتره
دوباره سلام دوست گرامی در یک پست دیگه واسه شما گفته بودم اگه می خوای کلی با کریستال حال کنی و حرفه ای بشی حتما از کریستال ریپورت جدا استفاده کن چون قابلیت هاش خیلی بیشتر از کریستال ریپورت ویژوال استادیوست و خیلی راحت به صورت ویزاردی میتونی نحوه نمایش رکورد یا فیلترها و.... رو مشخص کنی

U CAN DO IF YOU WANT
سلام خسته نباشید راستش منم همین سوال رو دارم ولی سوالم رو یه زره باز تر می کنم

یه بانک دارم که توش اطلاعات هست

بعد توی VB بانک رو وصل کردم به TextBox حالا می خوام با زدن یه دکمه فقط همون رکورد هایی که تو TextBox هستش بره تو نرم افزار کریستال برای چاپ