سلام دوستان
خواهش می کنم حوصله کنید و مشکل من رو تا آخر بخونید. این ممکنه مشکل خیلی ها باشه.
نکات آموزشی خوبی هم داره.
درضمن خواهشمندم به من نگید برم جستجو کنم و یا مخصوصا من رو به اینجا نفرستید!!!
همه جا رو زیر و رو کردم. حتی فروم ها و سایت های غیر فارسی!
مشکل تو نمایش و چاپ یک فاکتور ناقابل هست!
من یه برنامه نوشتم که گزارشگیری با کریستال داره. برنامه با وی بی دات نت2008 نوشته شده و گزارش هم با کریستال خودشه. بانک هم Access هست.
همه کدهام درسته. یعنی توی محیط برنامه نویسی همه چیز عالیه و گزارش نمایش داده میشه.
مشکل اینجاست که وقتی از برنامه Setup می سازم.و اون رو روی کامپیوتر های دیگه و حتی روی کامپیوتر خودم که باهاش برنامه رو نوشتم نصب می کنم کار نمی کنه.
بانک رو میشناسه. همه چیز درسته. فقط موقع نمایش گزارش از من LoginID و Password می خواد. بعلاوه ServerName و DatabaseName که بصورت پیشفرض خودش آدرس فایل Access رو توش نوشته.
من توی کد این چیزها رو بهش دادم
اینها تعاریف اولیه هستند:
پسورد همون پسوردی هست که روی فایل Access گذاشتم. یوزر به انتخاب خودم Admin هست. (درسته؟)کد HTML:Public DatabaseName As String = Application.StartupPath & "\DBAccess.mdb" Public dbUserID As String = "Admin" Public dbPassword As String = "َAccessPassword"
اصلا وقتی به فایل Access پسورد می دید. ID اون چی هست؟؟؟؟؟؟؟؟؟؟
این کد مربوط میشه به نمایش گزارش
این هم کدی برای قبل از بالا آمدن گزارشکد HTML:'SHOW FACTOR PAGE Dim rpt As New repFactor frmFactorReport.crvFactor.ReportSource = rpt frmFactorReport.crvFactor.Refresh() frmFactorReport.ShowDialog() rpt.Dispose()
ااین هم کد تابع:کد HTML:Private Sub crvFactor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles crvFactor.Load ConfigureCrystalReports() End Sub
به نظرم کد ها درستهکد HTML:Imports CrystalDecisions.Shared Imports CrystalDecisions.CrystalReports.Engine Public Sub ConfigureCrystalReports() Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo() SetDBLogonForReportFactor(myConnectionInfo) myConnectionInfo.ServerName = DatabaseName myConnectionInfo.DatabaseName = DatabaseName myConnectionInfo.UserID = dbUserID myConnectionInfo.Password = dbPassword myConnectionInfo.IntegratedSecurity = 1 End Sub Public Sub SetDBLogonForReportFactor(ByVal myConnectionInfo As ConnectionInfo) Dim myTableLogOnInfos As TableLogOnInfos = frmFactorReport.crvFactor.LogOnInfo For Each myTableLogOnInfo As TableLogOnInfo In myTableLogOnInfos myTableLogOnInfo.ConnectionInfo = myConnectionInfo Next End Sub
شاید این وسط من یه چیزی رو جا انداختم و در جریان نیستم!
موارد:
1- من Merge_Module های کریستال رو نصب می کنم.(CRRedist2008_x86)
2- روی کامپیوتر مقصد حتی VB.Net رو کامل نصب کردم! (با کریستال)
3- جدول مربوط به گزارش قبل از این کد ها Fill میشه
4- کد به روز رسان گزارش رو در رویدادهای قبل از بالا آمدن هم نوشتم. مثل RefreshReport و اینها... مشکل اینجا هم نیست!
5- پارامتر myConnectionInfo.IntegratedSecurity با این که دقیقا نمی دونم چیه با 0 و 1 امتحان کردم نشد. (فقط می دونم مربوط به امنیت هست و این که گزارش با چه پسوردی با بانک ارتباط برقرار کنه. امنیت ویندوز یا خود DB )
5- وقتی به فایل Access پسورد می دید. ID اون چی هست؟؟؟؟؟؟؟؟؟؟
یه چیز جالب!!!من وقتی سورس برنامه رو کامل منتقل می کنم به یه کامپیوتر دیگه. موقه Run برنامه همین مشکل رو دارم! یعنی موقع نمایش گزارش پسورد می خواد!!! توی محیط برنامه نویسی!!!!!!!
ممنون که حوصله کردید و همه حرفام رو خوندید. اگر کسی می تونه کمک کنه ممنونش می شم. من زیاد وقت ندارم. باید دو سه روزه پروژه رو تحویل بدم.
منتظرم.![]()