ورود

View Full Version : گزارش تركيبي از چند table



first_squit
پنج شنبه 24 بهمن 1387, 14:34 عصر
با سلام

براي تهيه يه گزارش كه تركيبي از چند جدول است به مشكل برخوردم :گریه:

مشكل از اين قراره كه .......

جداولي كه بنده مي خوام اطلاعات موجود در آنها رو نمايش بده داري ارتباط 1 به N و اين كار رو مشكل كرده

بايد حتمآ اطلاعات در بخش details قرار داشته باشه و اين جاست كه مشكل داره .. نتيجه Select رو نمايش نمي ده

جداول از اين قراره
1 - مشخصات فردي كه فيلد كليد شماره ملي ( ارتباط از نوع 1)
2 - و جداول بعدي از نوع كليد نبوده و وجه اشتراك آنها همان كد ملي است (مثل مشخصات مقالاتي كه يك فرد در طول دوره كاري نوشته است )

اين يه جوري شبيه فاكتور فروش است آما اطلاعات حتمآ بايد در بخش details نمايش داده مي شه

نمي دونم كجاي كارم مشكل داره كه Select رو به هيج عنوان نمايش نمي ده

متشكر مي شم اگه كمك كنيد ..:گریه:

first_squit
پنج شنبه 24 بهمن 1387, 23:18 عصر
دوباره سلام

مشكل نمايش گزارش حل شده :تشویق:

اما يك مشكل بزرگ ديگه پيش آمده :گریه:
و اون اينه كه تعداد ركورد ها تكراري نمايش داده مي شه

مثلا اگه نتيجه Select تعداد 5 تا ركورد باشه تعدا 25 تا ركورد متداخل نمايش داده مي شه


اگه كسي مي دونه مشكل از كجاست كمك كنه

تو دستور select از Grouping ‌هم استفاده كردم در خود Report هم از Grouping استفاده كردم اما مشكل حل نشد



اشكال كار من از كجاست ..:گریه:

first_squit
جمعه 25 بهمن 1387, 16:41 عصر
كسي نيست جواب من رو بده :گریه::گریه::گریه::گریه:

به خدا خيلي گيرم

دليل تكرار هاي بيمورد ركورد ها در گزارش تركيبي چيه


متشكرم

davoodrm666_666
یک شنبه 27 بهمن 1387, 08:16 صبح
دوست عزیز دلیل تکراری بودنش ارتباط 1 به چند شمامی باشد یعنی به ازا هر کد ملی از جدول اول چند رکورد در جدول دوم وجود دارد.

Mbt925
یک شنبه 27 بهمن 1387, 12:39 عصر
دليل تكرار هاي بيمورد ركورد ها در گزارش تركيبي چيه

متشكرم

وقتی بدون هیچ شرطی چند جدول رو باهم ترکیب کنید، در واقع اونها در هم ضرب میشن و شما به تعداد زیادی رکوردهای تکراری خواهد دید.

niloofar norouzi
پنج شنبه 01 اسفند 1387, 10:46 صبح
از distinct استفاده كن شايد مشكلت حل شه

به طور مثال:

select distinct id ,name,family from Tb1

hasan_esfahan
جمعه 02 اسفند 1387, 13:45 عصر
نه دوست عزیز با distinct و از این جور کارها مشکل حل نمیشه شما باید اول گروه بندی کنید بر اساس فیلد کلیدتون. بعد از این برای هر جدول یک sub report ایحاد کنید با این روش هیچ مشکلی برای ارتباط یک به چند وجود ندارد چون من چندین بار امتحان و برای دوستان داخل سایت روششو فرستادم

hasan_esfahan
جمعه 02 اسفند 1387, 14:19 عصر
بهتر ه یک سری به این تاپیک بزنید

http://barnamenevis.org/forum/showthread.php?t=148812

first_squit
شنبه 10 اسفند 1387, 01:09 صبح
با تشكر از hasan_esfahan (http://barnamenevis.org/forum/member.php?u=55177) عزيز مقاله شما رو مطالعه كردم

كاملا درست و اصولي بود . :تشویق:

اما متاسفانه خيلي عجله داشتم و با استفاده از يك روش ديكه كه خودم بهش پي بردم كار و انجام دادم البته اشكالي هم داره اما قابل قبول بود


بنده با استفاده از همان Select تركيبي كه از چند جدول گرفته مي شده يك DataTable درست كردم و به جاي انتخاب فيلد ها از چند Table‌ در هنگام طراحي گزارش از يك Table‌استفاده كردم

حالا نمايش داده ها بدون تكرار هاي زياد امكان پذير شده بود .


البته مقاله جناب عالي كاملا اصولي بود .


با تشكر از باقي دوستان .