منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : إعطاء عنوان ديناميكي لقاعدة البيانات لربطه مع تقرير الكريستال
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله

عند تصميم التقرير الكريستال ببيئة الفيجوال , أقوم بإعطاء التقرير عنوان لقاعدة البيانات لإنشاء اتصال جديد وإدراج الحقول وخلافه ...
المشكلة أنه عندما أضع البرنامج عند العميل يطلب تحديد مكان قاعدة البيانات لأن العنوان للقاعدة اختلف !

قمت بوضع هذا الكود في زر عرض التقرير :
كود :
Dim arr As New arrivalReport
        Dim rep As New rep
        rep.CrystalReportViewer1.ReportSource = arr
        arr.DataSourceConnections.Item(0).SetConnection(Application.StartupPath & "\data.accdb", "data.accdb", False)
        arr.Refresh()
        rep.ShowDialog()

وفي حدث CrystalReportViewer1_Load للتقرير قمت بوضع هذا الكود :
كود :
CrystalReportViewer1.RefreshReport()

تم حل المشكلة ولكن لابد لهذه الرسالة من الظهور : Logon Failed. Please Try Again Later مع زر موافق .
ما إن تضغط موافق حتى يعمل التقرير بالشكل السليم , كيف أتخلص من هذه الرسالة المزعجة أو إذا كان هناك طريقة أخرى أتمنى معرفتها؟

شكرا لكم والسلام عليكم
السلام عليكم ورحمة الله وبركاته

جرب هذا الترتيب في ربط الكريستال ريبورت مع قاعدة البيانات ثم عرض التقرير (طبعا في الأول أربط الكريستال في التصميم وبعدها لا يمكنك نقل قاعدة البيانات لأي مكان ثم تحديد مكان قاعدة البيانات في الكود - وهنا يفترض وجوده في مجلد البرنامج)
لا تنس أن يكون المشروح معد للعمل على منصات x86.
كود :
Dim rpt As New rpt1
Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Application.StartupPath & "\Database1.mdb")
Dim dt As New DataTable
Dim da As New OleDb.OleDbDataAdapter("SELECT * FROM table1", conn)
da.Fill(dt)
rpt.SetDataSource(dt)
CrystalReportViewer1.ReportSource = rpt

السلام عليكم ورحمة الله وبركاته
شكرا جزيلا لك أخي الكريم , المشكلة لدي هي جملة الإستعلام فهي متشعبة ومعقدة بعض الشيئ ومن الصعب نقلها وملأ dt بها Sad
تم حل المشكلة وأخيرا عبر هذا السطر البسيط :
كود :
rpt.SetDatabaseLogon("", "", Application.StartupPath & "\data.accdb", "data.accdb")

بدون أي مشاكل

شكرا لكم والسلام عليكم