PDA

View Full Version : سوال: مشکل در گزارش



hamidnikan
جمعه 05 فروردین 1390, 11:46 صبح
با سلام خدمت همه دوستان
ممنون می شم اگه به این سوال من جواب بدین، ضمنا اندازه کافی جستجو کردم ولی به نتیجه ای نرسیدم
من یه table دارم که هر رکورد دارای یه کد هست که این کد برای اعضای یه خانواده 8 رقم سمت چپ مشابه و فقط دو رقم سمت راست با هم تفاوت داره ...
من اومدم برا اینکه بتونم لیست کلی خانوارها رو با اضافه نمودن تعداد نفرات خانوار داشته باشم ، یه query ساختم که با استفاده از تابع mid شش رقم وسط هر کد رو جدا کردم و دوباره بر اساس این query یک report ساختم که بر اساس اون بتونم لیستی از تعداد نفرات خانوارها داشته باشم...
حالا سوالم اینه که :
1- اگه بخوام همین گزارش رو بر اساس این text box محاسباتی درون گزارش که تعداد نفرات رو مشخص میکنه مرتب کنم باید چیکار کرد؟ .. مثلا" به شکل زیر بشه بدون اومدن detail
1- علی مرادی 8 نفر
2- مجتبی حسنی 6 نفر
3- حسن عباسی 3 نفر

سوال 2 : اگه بخواهیم همین تعداد نفرات خانوار رو درون یه فیلد توی table برا تک تک اعضای خونواده که کدهای مشترکی ( بدون در نظر گرفتن دو رقم سمت راست کد) با هم دارند قرار بدیم آیا راهی هست؟

ممنونم

hamidnikan
شنبه 06 فروردین 1390, 01:51 صبح
بازم سلام
شاید کار درستی نیست که بازم درخواست میکنم که پاسخ بدین ، اما خیلی ضروریه ، اگه امکانش هست براتون جواب بدین ، ممنون

dadsara
شنبه 06 فروردین 1390, 08:17 صبح
سلام
اینطور که متوجه شدم کدهای شش رقمی مثلا 201112 یا 201318 نشان دهند این است که این افراد متعلق به یک خانواده هستند
حال سوالی که پیش می آید ، چگونه می توان در نمونه جنابعالی متوجه شد که از کجا باید فهمید که عدد مورد نظر جنابعالی ( ؟ نفر ) را جلوی کدامیک از اسامی قرار داد

hamidnikan
یک شنبه 07 فروردین 1390, 18:27 عصر
سلام
من اصل چدول رو به دلیل حجیم بودنش اینجا نذاشتم ، در خود جدول یه فیلد دارن این رکوردها که تعیین کننده نسبت افراد به یکدیگه هست و اگه اعداد صفر و یا یک درون این فیلد بود نشون دهنده ی اینه که این رکورد سرپرست اون خانواده است. حقیقتا ناامید شده بودم کسی جواب بده به همین دلیل دیگه سر نزده بودم . منتظر جوابتون هستم

dadsara
دوشنبه 08 فروردین 1390, 14:11 عصر
سلام
شما يك گزارش بگيريد مبني براينكه فقط اسامي افرادي را نشان بدهد كه علامت مربوطه را دارند سپس تعداد آنهائي كه در كد شش رقمي مشترك هستند را بشماريد و جلوي نام فرد قرار دهيد
اگر فقط جدول مربوطه را با چند نمونه آپلود كنيد كافي است

hamidnikan
پنج شنبه 11 فروردین 1390, 21:51 عصر
سلام
اگه من گزارشی بگیرم مبنی بر اینکه فقط اسامی افرادی رو نشون بده که سرپرست باشند چون در هر خانوار یه نفر بیشتر سرپرست حساب نمی شه از هر خانواده فقط یه نفر رو در گزارش خواهم داشت و به همین دلیل دیگه کدهای مشترک توی گزارش من نیست که بخوام تعدادشون رو بشمارم .. اگه توی همین نمونه ای که گذاشتم بتونین این شمارش رو و کلا" اون سوالای منو جواب بدین و یا در نمونه انجام بدین ممنون می شم

stabesh
پنج شنبه 11 فروردین 1390, 22:27 عصر
سلام
سوالتون و نمونه تون یکم گنگه کمی بیشتر توضیح بدید

stabesh
پنج شنبه 11 فروردین 1390, 22:45 عصر
query3 نگاه کنید منظورتون همینه ؟

hamidnikan
شنبه 13 فروردین 1390, 01:46 صبح
با سلام
در ابتدا لازم میدونم تشکر کنم از حسن نظر شما دوستان
و اما ...

مثل اینکه یه کم باید بیشتر توضیح بدم :
ما یه جدول داریم فرض کنید مثل همین نمونه
چهار تا فیلد داره
1- codفیلد که 10 رقم داره ، دو رقم اول واسه همه تکراریه ، 6 رقم بعدی برا کل اعضای یه خونواده مثل همه ، و دو رقم آخری هم متفاوته
2- دو تا فیلد نام و نام خانوادگی که مشخصه
یهیه فیلد nesbat که اگه عددهای 2 و 3 و بالاتر داخلش قرار گرفت یعنی که فرزند یا همسر خونواده هست و اگه اعداد صفر یا 1 داشت یعنی اینکه اون رکورد سرپرست اون خانواده هست

حالا من میخوام یه گزارش داشته باشم که فقط توی اون گزارش سرپرست ها باشه ( که اینو می تونم با یه query که فرض کنید توی شرطش بنویسم <2 فقط سرپرست ها رو داشته باشم ) اما مشکل اینه که من میخوام جلوی هر رکورد از سرپرست ها توی این گزارش تعداد اعضای خونواده رو داشته باشم
مثلا" توی این نمونه پیوستی داشته باشیم:
2520111213 علی مهدوی 4 نفر
2520131801 محمد حسینی 5 نفر
2520134015 علی حسینی 7 نفر
امیدوارم که درست توضیح داده باشم
ضمنا ضمن تشکر از نمونه ارسالی وقت اجرای گزارش خطای exp1 میداد که نتونستم ببینم که جواب بدم همون منظور من بوده یا نه
منتظر جواب هستم

hamidnikan
شنبه 13 فروردین 1390, 01:51 صبح
شرمنده یادم رفت نمونه رو ارسال کنم.. اینم نمونه

stabesh
شنبه 13 فروردین 1390, 05:38 صبح
با سلام
بازم کوئری 3 نگاه نمایید

hamidnikan
شنبه 13 فروردین 1390, 20:30 عصر
سلام مجدد
خیلی خیلی لطف کردین
و اگه یه توضیح کوتاه راجع به دوتا کوری آخری توی نمونه بدین ممنون که فقط کپی برداری نکرده باشم

stabesh
یک شنبه 14 فروردین 1390, 18:36 عصر
با سلام
راستشو بخواین من انشام خیلی خوب نیست اگه دستورات sql رو بدونید کاملا مشخصه
چند تا کتاب در این تاپیک هست کمکتون میکنه
http://barnamenevis.org/showthread.php?270580-%DA%A9%D8%AA%D8%A7%D8%A8%D9%87%D8%A7%DB%8C%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B2%D8%A8%D8%A7%D9%86-SQL-%D8%AF%D8%B1-%D8%A7%DA%A9%D8%B3%D8%B3


ببخشید اصلاح شد

hamidnikan
یک شنبه 14 فروردین 1390, 21:12 عصر
با سلام و تشکر مجدد
لینکی که فرمودین خطا میده

stabesh
یک شنبه 14 فروردین 1390, 21:29 عصر
کوئری 2 براساس کد خانوار که در کوئری 1 بدست اومده گروه بندی شده


SELECT Count(*) AS CountInFamily, Query1.FamilyCode
FROM Query1
GROUP BY Query1.FamilyCode;


Count(*) تعداد رکورد در هر گروه رو نشان میده
در کوئری سوم دو کوئری قبلی باهم join شدن بر اساس همون کد خانوار تا مشخصات خانوار به اضافه تعداد در خانوار را نشان داده بشه

hamidnikan
جمعه 26 فروردین 1390, 14:04 عصر
با سلام و شکر مجدد
سوالاتی راجع به گزارشات داشتم که بهتر دیدم همین جا مطرح کنم که اگه دوستان لطف کنند و جواب بدن ممنون می شم
بعضی وقتها ما در یه گزارش فقط خلاصه ای از امار و ارقام مثلا" گروه بندی ها رو می خواهیم و نیاز به درج اطلاعات detail در گزارشات نداریم اما وقتی که detail را حذف میکنیم پیغام خطا میده که این گزارش وابسته به برخی object ها بوده که در گزارش بوده و حذف شدند ............... لطفا" بگین چطور می شه این مشکل رو حل کرد : یه مثال میزنم که راحت تر حرفم رو گفته باشم
فرض کنید در یه گزارش داشتیم:
کرمان 78 خانوار و 900 نفر
1- علی محمدی 1 خانوار و 8 نفر
2- محمد نجفی 1 خانوار و 4 نفر
3-....
......
فارس 45 خانوار خانوار و 600 نفر
1- مجتبی نهاوندی 1 خانوار و 2 نفر
2- علی تقوی 1 خانوار و 7 نفر
3- ....
....
حالا میخواهیم یه گزارش داشته باشیم که فقط نوشته باشه
کرمان 78 خانوار و 900 نفر
فارس 45 خانوار خانوار و 600 نفر

همیشه هر وقت میخواستم این کار رو انجام بدم محتویات detail را حذف میکردم
اما بعضی وقتها وقتی اینکار رو انجام میدم ارور میده چرا؟