تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] Crystal Reports: كيف يتم ربط حقل من جدول آخر؟
#1
Question 
السلام عليكم ورحمة الله وبركاته

تحية طيبة إليكم..،

سؤالى بسيط وهو كيف أقوم بعرض حقل من جدول آخر فى الكريستال ريبورت
مثال: الجدولين التاليين:

MOVEMENTS
ID
Product_ID
Quantity
Price

PRODUCTS
ID
Name

وما أود عرضه هو:
Movement.ID / Product.Name / Quantity / Price

كود :
   Private Sub CrystalReport_Viewer_Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim cmd1 As New SqlCommand("SELECT Movements.*, Products.* FROM Movements LEFT OUTER JOIN Products ON Movements.ProductID = Products.ID", sqlconnstring)
       adapter.SelectCommand = cmd1
       adapter.Fill(ds, "Table1")

       Dim objRpt As New CrystalReport_Invoice
       objRpt.SetDataSource(ds.Tables("Table1"))
       CrystalReportViewer1.ReportSource = objRpt
       CrystalReportViewer1.Refresh()
   End Sub


رغم عمل Linked بشاشة Database Expert وضبط Link Options لتكون LEFT OUTER JOIN + Enforce Both
ولكن Product.Name يظهر فارغاً وباقى البيانات سليمة !!!!!


مع خالص إمتنانى فى مساعدتى لحل هذه المشكلة
الرد }}}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته

إذا كان الاسم Product_ID صحيحا فغريب أن يعمل الاستعلام من الأساس
لأنه في الكود ذكرت ان اسمه ProductID

جرب هذا التعديل على أساس أن الاسم الصحيح Product_ID
كود :
   Private Sub CrystalReport_Viewer_Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim da As New SqlDataAdapter("SELECT Products.*, Movements.* FROM Movements LEFT OUTER JOIN Products ON Movements.Product_ID = Products.ID", sqlconnstring)
       Dim dt As New DataTable
       da.Fill(dt)

       Dim objRpt As New CrystalReport_Invoice
       objRpt.SetDataSource(dt)
       CrystalReportViewer1.ReportSource = objRpt
       CrystalReportViewer1.Refresh()
   End Sub

أيضا تأكد من صحة تصميم التقرير فقد تكون المشكلة فيه
الرد }}}}
تم الشكر بواسطة:
#3
شكراً جزيلاً لرد حضرتك, وأنا كنت كاتب مثال فقط بدلاً من نقل كل المدخلات اللى عندى
أنا عملت مثال صحيح دلوقتى بكود مطابق:
كود :
Imports System.Data
Imports System.Data.SqlClient
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared

Public Class Form1
   Dim ds As New DataSet
   Dim adapter As New SqlDataAdapter

   Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
       Dim sqlconnstring As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=" & Application.StartupPath & "\114a.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
       sqlconnstring.Open()

       Dim cmd1 As New SqlCommand("SELECT Movements.ID, Movements.Product_ID, Movements.Quantity, Movements.Price, Products.ID, Products.Name FROM Movements LEFT OUTER JOIN Products ON Movements.Product_ID = Products.ID", sqlconnstring)
        
        adapter.SelectCommand = cmd1
       adapter.Fill(ds, "Table1")

       Dim objRpt As New CrystalReport1
       objRpt.SetDataSource(ds.Tables("Table1"))
       CrystalReportViewer1.ReportSource = objRpt
       CrystalReportViewer1.Refresh()
   End Sub
End Class

المرفقات بها صورة توضح التفاصيل الكاملة


الملفات المرفقة صورة/صور
   
الرد }}}}
تم الشكر بواسطة:
#4
أهلا بك

إذا المشكلة في طريقة الربط في التقرير

ممكن ترفق ملف التقرير
وإن أمكن نسخة من ملف قاعدة البيانات mdf ان لم يكن فيها ما يمنع

وتحل إن شاء الله
الرد }}}}
تم الشكر بواسطة:
#5
شكراً أستاذ ممدوح

أرفقت مجلد المشروع كاملاً (وهو مثال للربط) وبه قاعدة البيانات وملف الكريستال


الملفات المرفقة
.rar   Crystal_Reports_JOIN.rar (الحجم : 314.91 ك ب / التحميلات : 25)
الرد }}}}
تم الشكر بواسطة:
#6
لم أتعامل مع الكريستال ريبورت بجدولين ولكن هذا ما توصلت له

تم تعديل خصائص الأعمدة خصوصا ID
تم عمل View1 في قاعدة البيانات
ثم أضفتها للداتاسيت التي في المشروع _114aDataSet.xsd
ثم ربطت View1 بتقرير الكريستال ريبورت CrystalReport عن طريق Database Expert

قاعدة البيانات والتقرير المعدله في المرفقات



الملفات المرفقة
.rar   Crystal_Reports.rar (الحجم : 116.87 ك ب / التحميلات : 17)
الرد }}}}
تم الشكر بواسطة:
#7
Thumbs Up 
أنا عاجز عن الشكر حضرتك
القاعدة والكريستال اللى بعتهم نسخ أحدث فلم يعملوا معى، ولكن أنا اتبعت الخطوات اللى إنت كتبتها والكود يعمل الآن بكفاءة

ولكن أكيد Linked فى Database Epert ليها طريقة أيضاً وخصوصاً إن فيها عناصر Join كاملة


شكراً جزيلاً أستاذ ممدوح Shy
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  أستفسـار نسخ جدول لجدول طـلال 8 132 21-09-17, 06:24 PM
آخر رد: طـلال
  كيفية دمج جدول المبيعات والمشتريات وحساب عدد المشتريات والمبيعات والمثال مرفق كصورة max_1978 3 342 17-09-17, 01:05 AM
آخر رد: Rabeea Qbaha
  اضافة حقل الى جدول برمجيا كرم ابوهشام 1 98 31-07-17, 08:44 PM
آخر رد: سعود
  مشكلة عند عرض جدول في datagridview تناسيم 1 106 12-07-17, 09:58 PM
آخر رد: نبيل كونكت
  حذف الاسطرالمكررة في جدول rabeh.ram 15 517 05-06-17, 04:58 AM
آخر رد: rabeh.ram
  كيف تكون جملة insert في جدول بشرط وفي خلية واحدة فقط ahmedfa71 0 125 16-05-17, 07:05 PM
آخر رد: ahmedfa71
  ما الخطأ في حفظ جدول إلى ملف نصي ahmedfa71 14 436 15-05-17, 05:47 PM
آخر رد: العواد الصغير
  نسخ بيانات جدول الى جدول كرم ابوهشام 1 139 13-05-17, 07:32 PM
آخر رد: Amir_alzubidy
  [VB.NET] تعبت وانا ادور حل غير تثبيت crystal report 0theghost0 4 269 24-04-17, 06:50 PM
آخر رد: 0theghost0
  طلب صغير جمع عامود من جدول واضهار النتيجة في تكست بوكس nmst70 3 253 21-04-17, 02:35 AM
آخر رد: momiana1

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم