سلام
من با استفاده از مطالب دیگر تاپیک ها فهمیدم که چطور می شه یک شی دیتاست (با add new item) به برنامه ام اضافه کنم .بعد روی دیتاست کلیک کردم و چند جدول (با data table) توی اون قرار دادم .
بعد یک شی کریستال ریپورت به برنامه اضافه کردم و ازا database expert و project data و ado.net dataset رو انتخاب کردم.
بعد یک جدول رو اضافه کردم و تونستم با کد هایی که در crystal report viewer نوشتم (از قبیل connection string و query دلخواهم ) اطلاعات را در کریستال ریپورت ببینم .
اما مشکل انجا است که اگر اطلاعات دو جدول با فیلد مشترک ( که در یکی کلید اصلی و در دیگری کلید خارجی است) را بخواهیم نمایش دهیم این کار امکان پذیر نیست .
به عبارت بهتر اگه تمام فیلد های جدول sale رو بخواهیم نامیش میده ولی اگه فیلد name از جدول stuff رو اضافه کنیم هیچ رکوردی نمایش داده نمی شه.
واقعا مشکل عجیبیه.اگه ممکنه راهنمایی کنید.
با تشکر.
Dim Con As New OleDbConnection("provider = microsoft.jet.oledb.4.0;data source =" & path & "\bargh.mdb;Jet OLEDB:Database Password=abc")
Con.Open()
Dim oleAdapter1 As OleDbDataAdapter
Dim ds As New DataSet
Dim cr As New CrystalReport4
Dim str As String
str = "select stuff.name,sale.code,sale.sale_fac,sale.buyer_name ,sale.sale_day,sale.sale_month,sale.sale_year,sale .sale_number,sale.sale_price,sale.description from sale,stuff where sale.code = stuff.code"
oleAdapter1 = New OleDbDataAdapter(str, Con)
oleAdapter1.Fill(ds, "sale")
cr.SetDataSource(ds)
CrystalReportViewer1.ReportSource = cr