PDA

View Full Version : گزارشگیری از سه جدول در یک datareport



صنم
دوشنبه 18 مرداد 1389, 13:04 عصر
سلام
چطور می شه یک گزارش از سه جدول در یک datareport داشت . کد اصلی را از یک جدول برمی دارم بعد اطلاعات ریزتر این کد را از دو جدول دیگر برمی دارم .ولی در datareport فقط می شود یک datasource تعریف کرد. کسی می تونه کمکم کنه ؟

relax_cp
دوشنبه 18 مرداد 1389, 13:52 عصر
اگه میشه یکم بیشتر توضیح بده. آیا می خواهی از چند فایل بانک در مکانهای مختلف هارد اطلاعات رو برداری یا اینکه نه از یک بانک و چند جدول. من از چند جدول در یک گزارش اونم به صورت ترکیبی استفاده کردم و مشکلی نداشته فقط باید رابطه ها رو توش تنظیم کنید.

صنم
چهارشنبه 20 مرداد 1389, 13:20 عصر
اگه میشه یکم بیشتر توضیح بده. آیا می خواهی از چند فایل بانک در مکانهای مختلف هارد اطلاعات رو برداری یا اینکه نه از یک بانک و چند جدول. من از چند جدول در یک گزارش اونم به صورت ترکیبی استفاده کردم و مشکلی نداشته فقط باید رابطه ها رو توش تنظیم کنید.

از یک بانک و چند جدول می خوام یک گزارش بگیرم

skh1300
چهارشنبه 20 مرداد 1389, 19:22 عصر
شما باید یه query درست کنید که اطلاعات جداول داخلش باشه بعد شروع به گزارش کنی

صنم
پنج شنبه 21 مرداد 1389, 09:52 صبح
این Query منه :


cmd.CommandText = "SELECT `table1.`Code` FROM `table1` INNER JOIN `table2` ON `table1`.`Code`=`table2`.`IdentityRowFromMarkaz` INNER JOIN `table3` ON `table1`.`Code`=`table3`.`IdentityRowFromMarkaz` "


وقتی اجرا می کنم Syntax error میدهد نمی دونم چرا

صنم
پنج شنبه 21 مرداد 1389, 11:04 صبح
مشکل بالا حل شد ولی فهمیدم که دو تا Inner join در یک Query به درد من نمی خورد. من یک جدول اصلی دارم که اطلاعات کلاسها در آن است و دو تا جدول فرعی دارم که یکی مشخصات دانش آموزان را نگه می دارد و یکی مشخصات معلمان هر کلاس را نگه می دارد . یعنی جدول اطلاعات کلاسها جدول اصلی است که ازطریق کد کلاس به جدول دانش آموزان و جدول معلمان لینک می شود . حالا من می خوام که در یک Datareport اطلاعات کلاس و اطلاعات معلمان و اطلاعات دانش آموزان آن کلاس را نشان بدهم در این مورد دو تا Innerjoin به درد نمی خورد من نیاز به دو تا query دارم ولی مشکل این جاست که در Datareport من فقط یک datasource را می تونم داشته باشم . کسی راه حلی به نظرش می رسه؟

saeed_r67
دوشنبه 15 شهریور 1389, 13:12 عصر
سلام . یه راه حل ساده تری هم هست.
شما از هر چندتا جدولی که داشته باشید می تونید در قالب یک ریپورت گزارش بگیرید .
با استفاده از دستور Union All
مثلا دو Table به اسم T1 , T2دارید:
"select * from t1 Union All select * from t2"