دو تا مشکل با کریستال ریپورت دارم.
1- چرا وقتی روی دکمه چاپ توی گزارشم کلیک میکنم از گزارشم پرینت نمیگیره؟
2- چرا عکسهای توی بانک تو گزارش نشون داده نمیشه؟
ممنون میشم کمک کنین
2 تا تابع زیر 2 کارو انجام میدن یاز به توضیح نیست اسم تابع ها مشخصه در اخرش هم یه سورس کد پرینت کردن حرفه ای هم پیسوت کردم برات
من نمیدونم چطوری و با چه روش پرینت میکنی اما تابع زیر بهت کمک میکنه
کد:
Dim CRReport As CRPEAuto.Report
Dim CRWindow As CRPEAuto.Window
Dim CRView As CRPEAuto.View
Dim CRApp As CRPEAuto.Application
Public ReportFileName As String
Public Title As String
Public Sub Preview()
On Error GoTo ErrMsg
Set CRApp = CreateObject("crystal.crpe.application")
Set CRReport = CRApp.OpenReport(App.Path + "\report\" + ReportFileName)
CRReport.DiscardSavedData
Set CRView = CRReport.Preview(Title)
Set CRWindow = CRView.Parent
CRWindow.ControlsVisible = True
Exit Sub
ErrMsg:
MsgBox CStr(Err.Number) + " : " + Err.Description
End Sub
Public Sub PrintToPrinter()
On Error GoTo ErrMsg
Set CRApp = CreateObject("crystal.crpe.application")
Set CRReport = CRApp.OpenReport(App.Path + "\report\" + ReportFileName)
CRReport.DiscardSavedData 'reset all the data in report
CRReport.PrintOut
Exit Sub
سورس 2 :[
attachment=185]
یه مشکل دیگه با کریستال دارم.
تو رکوردهای بانکم یه فیلد هست که مقادیر مختلفی میگیره و بعضی وقتها هم خالی میمونه. چطوری میتونم فقط رکوردهایی رو نشون بدم که این فیلدشون پره(بدون توجه به اینکه تو این فیلد چیه؟)و رکوردهایی که این فیلدشون خالیه نشون داده نشن؟
خوب فیلدو با vbnullstring مقایسه کن اگر خالی بود شرط بزار
چرا قبل از اینکه برنامه بره سراغ کریستال چک نمیکنی ؟
ممنون آقا امین.
آخه راستش چندین حالت داره که نمی خوام با وی بی بنویسم. با خود کریستال ریپورت راحته به شرط اینکه مقدار داخل فیلد تو همه رکوردها یکسان باشه. ولی تو بانک من این فیلد تو هر رکورد ممکنه مقادیر مختلفی بگیره.