PDA

View Full Version : روش طراحی گزارش به صورت کارنامه مدارس در استیمول سافت



asrah6
چهارشنبه 24 مهر 1392, 18:47 عصر
سلام بر دوستان گرامی عیدتان مبارک
من اول سوالم را در تالار ابزار گزارش سازی مطرح کردم ولی اونجا قو هم پر نمیزنه چه برسد به ...... بگذریم
این اولین گزارشی است که با استیمول سافت طراحی می کنم.
من یک سری اطلاعات را از جداول JOIN شده داخل دیتا تیبل ریختم و به استیمول سافت ارسال می کنم .
می خواهم یک کارنامه مشابه کارنامه مدارس طراحی کنم . اما مشکلم اینجاست که مثلا تعدادی دانش آموز داریم که نمرات ماه مهر آنها وارد سیستم و ذخیره شده ولی در گزارش کارنامه بر اساس ماه مهر نمرات هر دانش آموز را جدا جدا می آورد اما فقط اسم و مشخصات دانش آموز اول را نمایش می دهد مانند تصویر زیر
در ضمن فایل گزارش خودم را هم پیوست می کنم لطفا بگید اشکالش کجاست تا برطرف کنم.
کوئری که اطلاعات را از دیتابیس می خونم به صورت زیر است:

create proc joinstudentPayeClassDarsMountGrade
@TID int
as
begin
select TblStudent.IDSt,FName,LName,FatherName,BirthDay,Pi c,
TblStudent.IDPaye,TblStudent.CLID,
CLassName,PayeName,TName,TblGrade.TID,Nomre,TblDar s.DID,DName
from TblStudent
INNER JOIN TblGrade ON TblStudent.IDSt=TblGrade.IDSt
INNER JOIN TblClassName ON TblStudent.CLID=TblClassName.CLID
INNER JOIN TblPaye ON TblStudent.IDPaye=TblPaye.IdPaye
INNER JOIN TblMount ON TblMount.TID=TblGrade.TID
INNER JOIN TblDars ON TblGrade.DID=TblDars.DID
where TblGrade.TID = @TID
end
go

لطفا کمک کنید

aslan
چهارشنبه 24 مهر 1392, 19:09 عصر
سلام
بهتره شکل کارنامه ای که انتظار داری تهیه کنی را اینجا قرار بدی
.........

asrah6
چهارشنبه 24 مهر 1392, 19:34 عصر
سلام و ممنون از شما
خوب کجا باید قرار بدهم ؟
این هم عکس کارنامه
می خواهم به صورت این عکس کارنامه را طراحی کنم البته هنوز روی ظاهرش کار نکردم

sohil_ww
چهارشنبه 24 مهر 1392, 19:56 عصر
شما باید هر کارنامه رو تویه یک data band قرار بدی چون در حال حاضر دارم استیمولم ارتقا می دم نمی تونم گزارشتو آماده کنم اگه نتونستی اطلاع بده در خدمتم

khokhan
چهارشنبه 24 مهر 1392, 20:08 عصر
سلام و ممنون از شما
خوب کجا باید قرار بدهم ؟
این هم عکس کارنامه
می خواهم به صورت این عکس کارنامه را طراحی کنم البته هنوز روی ظاهرش کار نکردم

اولین کاری که بایستی انجام بدین گروه بندی اطلاعاته و البته ایجاد یه همچو چیزی بدون استفاده از corss_tab همچی یه نمه مشکله :لبخند:

واینکه می تونین کوئری رو به جای اینکه join بکنین به صورت corss_tab اجرا کنین تا به نتیجه مطلوبتری برسین

لینک (https://www.simple-talk.com/sql/t-sql-programming/creating-cross-tab-queries-and-pivot-tables-in-sql/)

asrah6
چهارشنبه 24 مهر 1392, 22:57 عصر
به به سلام بر استاد khokhan (http://barnamenevis.org/member.php?131732-khokhan) عزیز
بالاخره ماهم موفق به زیارت جنابعالی شدیم میگم لینک آموزش فارسی از corss_tab ندارید این سایت که معرفی کردید همش کلمات خارجی دارد شوخی کردم مطالعش می کنم و اگر سوالی داشتم باز هم اینجا می پرسم لطفا باز هم به من سر بزنید
:قلب::قلب::لبخند:
باتشکر از جنابعالی

asrah6
یک شنبه 05 آبان 1392, 17:47 عصر
سلام بر دوستان من مشکل طراحی کارنامه را حل کردم ولی می خواهم رتبه هر دانش آموز را به تفکیک هر درس در کلاس و پایه نشان دهم در sql با کوئری زیر می تونم رتبه را بدست بیاورم اما در نشان دادن آن در گزارش مشکل دارم لطفا بگید راهم درسته یا نه و کمک کنید و اگر راهم اشتباه است راه بهتری پیشنهاد دهید.


select IDSt,DID,TID,Nomre,rank() over(order by Nomre desc) as رتبه1,
Dense_Rank() over(order by Nomre desc) as رتبه,ROW_NUMBER() over (order by Nomre desc) as RowNumber from TblGrade
where TID=7 AND DID=19

جدول ثبت نمره به صورت زیر است :
id به صورت خودکار شماره گذاری می شود
DID کد درس است که با جدول درسها رابطه دارد
TID کد ترم است که با جدول ترم ها رابطه دارد
IDSt شماره دانش آموز که با جدول مشخصات دانش آموزان رابطه دارد
Nomre نمره دانش آموز در درس مورد نظر می باشد
حالا می خواهم در کارنامه پست 3 بعد از ستون نمره دو ستون دیگر یکی به نام رتبه در کلاس و دیگری رتبه در پایه اضافه کنم و رتبه دانش آموز رادرهر درس روبروی خود درس نشان دهم