PDA

View Full Version : سوال: درخواست یوزر و پسورد هنگام نمایش گزارش



xminxmin
یک شنبه 17 مرداد 1389, 08:46 صبح
سلام دوستان
خواهش می کنم حوصله کنید و مشکل من رو تا آخر بخونید. این ممکنه مشکل خیلی ها باشه.
نکات آموزشی خوبی هم داره.:خجالت:

درضمن خواهشمندم به من نگید برم جستجو کنم و یا مخصوصا من رو به اینجا (http://www.developercenter.ir/forum/showpost.php?p=55405&postcount=1) نفرستید!!!:گریه:
همه جا رو زیر و رو کردم. حتی فروم ها و سایت های غیر فارسی!

مشکل تو نمایش و چاپ یک فاکتور ناقابل هست!:گیج:
من یه برنامه نوشتم که گزارشگیری با کریستال داره. برنامه با وی بی دات نت2008 نوشته شده و گزارش هم با کریستال خودشه. بانک هم Access هست.

همه کدهام درسته. یعنی توی محیط برنامه نویسی همه چیز عالیه و گزارش نمایش داده میشه.
مشکل اینجاست که وقتی از برنامه Setup می سازم.و اون رو روی کامپیوتر های دیگه و حتی روی کامپیوتر خودم که باهاش برنامه رو نوشتم نصب می کنم کار نمی کنه.
بانک رو میشناسه. همه چیز درسته. فقط موقع نمایش گزارش از من LoginID و Password می خواد. بعلاوه ServerName و DatabaseName که بصورت پیشفرض خودش آدرس فایل Access رو توش نوشته.
من توی کد این چیزها رو بهش دادم:افسرده:
اینها تعاریف اولیه هستند:

Public DatabaseName As String = Application.StartupPath & "\DBAccess.mdb"
Public dbUserID As String = "Admin"
Public dbPassword As String = "َAccessPassword"

پسورد همون پسوردی هست که روی فایل Access گذاشتم. یوزر به انتخاب خودم Admin هست. (درسته؟)
اصلا وقتی به فایل Access پسورد می دید. ID اون چی هست؟؟؟؟؟؟؟؟؟؟:متفکر:

این کد مربوط میشه به نمایش گزارش


'SHOW FACTOR PAGE
Dim rpt As New repFactor
frmFactorReport.crvFactor.ReportSource = rpt
frmFactorReport.crvFactor.Refresh()

frmFactorReport.ShowDialog()
rpt.Dispose()


این هم کدی برای قبل از بالا آمدن گزارش


Private Sub crvFactor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles crvFactor.Load
ConfigureCrystalReports()

End Sub


ااین هم کد تابع:


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 برنامه همین مشکل رو دارم! یعنی موقع نمایش گزارش پسورد می خواد!!! توی محیط برنامه نویسی!!!!!!!:عصبانی++::عصبانی::ع صبانی++:

ممنون که حوصله کردید و همه حرفام رو خوندید. اگر کسی می تونه کمک کنه ممنونش می شم. من زیاد وقت ندارم. باید دو سه روزه پروژه رو تحویل بدم. :متفکر:
منتظرم.:لبخندساده:

mostafa_mgsoft
سه شنبه 19 مرداد 1389, 15:29 عصر
سلام يك بار پسورد فايلت رو بردار و بدون پس ورد به كريستال پاسش بده بعد پروژه رو اجرا كن مشكل حل ميشه
بعد مي توني دوباره پسورد رو بذاري
من اين مشكل رو تو كريستال 9 داشتم اينجوري حل شد
موفق باشي