PDA

View Full Version : 'گزارش گیری از چند table



first_squit
چهارشنبه 09 آبان 1386, 23:34 عصر
با سلام خدمت دوستان عزیز

می خوام از میان جند Table گزارش گیری کنم کد ها رو به صورت زیر می نویسی اما پیغام میده که پارامترهات درست نیست مشکل از کجاست


conOOlaviyat = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source= |DataDirectory|\\hadian_system_db.mdb");
dataAdapter_Olaviyat = new OleDbDataAdapter("SELECT * FROM in_bahs, nazari, out_mantagheh, out_mellal, out_sazman, siasi, siasi_in", conOOlaviyat);
dset_Olaviyat = new DataSet();
OOlaviyat = new OLaviyat_Report();


dataAdapter_Olaviyat.Fill(dset_Olaviyat, "in_bahs");
dataAdapter_Olaviyat.Fill(dset_Olaviyat, "nazari");
dataAdapter_Olaviyat.Fill(dset_Olaviyat, "out_mantagheh");
dataAdapter_Olaviyat.Fill(dset_Olaviyat, "out_mellal");
dataAdapter_Olaviyat.Fill(dset_Olaviyat, "out_sazman");
dataAdapter_Olaviyat.Fill(dset_Olaviyat, "siasi");
dataAdapter_Olaviyat.Fill(dset_Olaviyat, "siasi_in");


OOlaviyat.SetDataSource(dset_Olaviyat);
crystalReportViewer1.ReportSource = OOlaviyat;

sm
پنج شنبه 10 آبان 1386, 06:52 صبح
نیازی نیست که برای هر فیلد ds رو پر کرد!!!
با این کار فقط آخرین مقدار توی ds قرار می گیره.
شما به یه دستور کل ds رو fill کنین و بعد این ds رو به گزارشتون رد کنین. البته توی این کد شما اصلا پارامتر ندارین.
بهتون پیشنهاد میدم این لینک رو مطالعه کنین:
http://barnamenevis.org/forum/showthread.php?t=64328

موفق باشید

first_squit
پنج شنبه 10 آبان 1386, 09:55 صبح
نیازی نیست که برای هر فیلد ds رو پر کرد!!!
با این کار فقط آخرین مقدار توی ds قرار می گیره.
شما به یه دستور کل ds رو fill کنین و بعد این ds رو به گزارشتون رد کنین. البته توی این کد شما اصلا پارامتر ندارین.
بهتون پیشنهاد میدم این لینک رو مطالعه کنین:
http://barnamenevis.org/forum/showthread.php?t=64328

موفق باشید
دوست عزیز این مقاله رو قبلا خوانده بودم

اما مشکل من با پر شدن DataSET که داخل ان چند جدو ل وجود داره

من یک DataSet در ست کردم و جداول رو در داخل آون قرار دادم ریلیشن هاش رو رسم کردم بعد یک فرم از نوع کریستال ریپورت ایجاد کردم و با استفاده از Wizard جداول رو در داخل اون قرار دادم تو قسمت لود فرم کد ها ی بالا رو قرار دادم اما من هیچ پارامتری رو تعریف نکردم

اما هنگام لود شدن فرم می گه پارامتر هات اشتباه

first_squit
پنج شنبه 10 آبان 1386, 14:06 عصر
دوستان عزیز

آیا راه حلی برای این مشکل وجود داره
ایراد کار من از کجاست !!!!!!!!!!!!!!!!!!!!

first_squit
پنج شنبه 17 آبان 1386, 03:02 صبح
دو ستان عزیز

خوشبختانه خودم را ه حل این مشکل رو پیدا کردم

یکمی در مورد دستورات SQL تحقیق کردم و متوجه شدم که من باید جداول خودم رو با هم JOIN کنم

بنابر این این مشکل حل شد
از همه شما متشکرم

دستور JOIN برای این 3 جدول به صورت زیر می باشد

SELECT out_sazman.code_sazman, out_mellal.code_mellal, out_mantagheh.code_out, out_mellal.mellal_one, out_mellal.mellal_tree, out_mellal.mellal_two,out_mellal.mellal_four, out_mellal.mellal_five, out_mantagheh.out_one, out_mantagheh.out_two, out_mantagheh.out_tree, out_mantagheh.out_four, out_mantagheh.out_five, out_mantagheh.out_sex, out_mantagheh.out_seven, out_sazman.sazman_one, out_sazman.sazman_two, out_sazman.sazman_tree, out_sazman.sazman_four, out_sazman.sazman_five, out_sazman.sazman_sex, out_sazman.sazman_seven, out_sazman.sazman_eight, out_sazman.sazman_nine, out_sazman.sazman_ten, out_sazman.sazman_eleven FROM ((out_sazman INNER JOIN out_mellal ON out_sazman.code_sazman = out_mellal.code_mellal AND out_sazman.code_sazman = out_mellal.code_mellal AND out_sazman.code_sazman = out_mellal.code_mellal) INNER JOIN out_mantagheh ON out_sazman.code_sazman = out_mantagheh.code_out AND out_sazman.code_sazman = out_mantagheh.code_out