سلام دوستان
خواهش می کنم حوصله کنید و مشکل من رو تا آخر بخونید. این ممکنه مشکل خیلی ها باشه.
نکات آموزشی خوبی هم داره.

درضمن خواهشمندم به من نگید برم جستجو کنم و یا مخصوصا من رو به اینجا نفرستید!!!
همه جا رو زیر و رو کردم. حتی فروم ها و سایت های غیر فارسی!

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

همه کدهام درسته. یعنی توی محیط برنامه نویسی همه چیز عالیه و گزارش نمایش داده میشه.
مشکل اینجاست که وقتی از برنامه Setup می سازم.و اون رو روی کامپیوتر های دیگه و حتی روی کامپیوتر خودم که باهاش برنامه رو نوشتم نصب می کنم کار نمی کنه.
بانک رو میشناسه. همه چیز درسته. فقط موقع نمایش گزارش از من LoginID و Password می خواد. بعلاوه ServerName و DatabaseName که بصورت پیشفرض خودش آدرس فایل Access رو توش نوشته.
من توی کد این چیزها رو بهش دادم
اینها تعاریف اولیه هستند:
کد HTML:
    Public DatabaseName As String = Application.StartupPath & "\DBAccess.mdb"
    Public dbUserID As String = "Admin"
    Public dbPassword As String = "َAccessPassword"
پسورد همون پسوردی هست که روی فایل Access گذاشتم. یوزر به انتخاب خودم Admin هست. (درسته؟)
اصلا وقتی به فایل 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 برنامه همین مشکل رو دارم! یعنی موقع نمایش گزارش پسورد می خواد!!! توی محیط برنامه نویسی!!!!!!!

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