PDA

View Full Version : کمک در ساخت گزارش



ITST-1
یک شنبه 05 شهریور 1385, 13:43 عصر
با سلام خدمت دوستان

من می خواهم گزارشی بسازم که در آن تاریخ استخدام افراد را تا تاریخ جاری به صورت زیر نمایش دهد(سابقه)

بین 0 تا 5 سال 12 نفر

بین 6 تا 10 سال 10 نفر

الی آخر

من از ماژول تاریخ شمسی آقای آزادی استفاده می کنم و می تونم سابقه افراد را استخراج کنم در کوئری ولی نمی توانم گروه بندی کنم مانند بالا اگر لطف کنید ممنون می شوم

سنبله کار
یک شنبه 05 شهریور 1385, 14:32 عصر
در کوئریهای Cross ببرید اونجا بخوبی جواب میده .

ITST-1
یک شنبه 05 شهریور 1385, 14:58 عصر
با سلام

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

سنبله کار
یک شنبه 05 شهریور 1385, 16:14 عصر
شما اول باید فرمول بدست سال مربوط بدونید بقیه اش ایجاد یک کوئری جدید و استفاده از ویزاد کراس تب هست این لینکها رو بخونید اگه کافی نبود بگید تا درستش کنیم .
http://barnamenevis.org/forum/showthread.php?t=50020&highlight=Crosstab
http://barnamenevis.org/forum/showthread.php?t=50612&highlight=Crosstab
http://barnamenevis.org/forum/showthread.php?t=48401&highlight=Crosstab

ITST-1
دوشنبه 06 شهریور 1385, 08:32 صبح
با سلام مجدد خدمت شما و تشکر از زحمات جنابعالی

من تاپیکها را مطالعه کردم ول متاسفانه متوجه نشدم

من در جدولم یک ستون شماره پرسنلی راو ویک ستون تاریخ استخدام و از طریق یک کوئری و مازول تاریخ شمسی سابقه اقراد را محاسبه کردم ولی نمی دانم چگونه مانند بالا دسته بندی کنم . آیا باید از ابتدا در crosstab کوئری کار کنم در هر صورت اگر کمک کاربردی کنید سپاسگزارم

سنبله کار
دوشنبه 06 شهریور 1385, 11:14 صبح
اگه ممکنه برای اینکه کابردی تر بشه کمک کرد لطفا نمونه مورد نیازتون رو بگذارید تا براتون اضافه کنیم .

ITST-1
دوشنبه 06 شهریور 1385, 13:20 عصر
با سلام

جدول من دو ستون شماره پرسنلی و سابقه افراد را به سال دارد .همین


حال چگونه می توان اطلاعاتی را مانند زیر استخزاج کرد

بین 0 تا 5 سال 12 نفر

بین 6 تا 10 سال 10 نفر

بین 11 تا 15 سال 25 نفر

الی آخر

HAMRAHSOFT.IR
دوشنبه 06 شهریور 1385, 13:25 عصر
بهتر یک نمونه بزاری تا دوستان برات درستش کنند

moustafa
جمعه 10 شهریور 1385, 00:09 صبح
شما در کوئری تون یه فیلد به شکل
iif(s<5,0,iif(s>5 and s<10,1,iif(s...))) :expr1

که بر اساس 0 و1 و2 و... گروه بندی گرددایجاد کنید
سپس در total تابع countبرای سابقه
groupbyبرای expr1

keshtkar
جمعه 10 شهریور 1385, 01:30 صبح
با سلام
فکر کنم کد زیر مشکل شما را حل کند


var
a,count,count1,count2:integer;
s,s1:string;
count:=0;
count1:=0;
count2:=0;
adotable1.first;
for i:=1 to Adotable1.recordcount do
begin
s:=date system;
s1:=Adotable1.FieldValues['date'];
A:=strtoint(S[1]+S[2])-strtoint(S1[1]+S1[2]);//محاسبه اختلاف تاریخ اگه قسمت سال تاریخ شما 4 کاراکنر است باید به جای 1 و 2 از 3 و 4 استفاده کنید
if a<=5 then
count:=count+1
else if a<=10 then
count1:=count1+1
else if a<=15 then
count2:=count2+1
.
.
.
adotable1.next;
end;

البته من ایم کد را تست نکردم ولی باید جواب بده
موغف و سلامت باشید

moustafa
جمعه 10 شهریور 1385, 01:42 صبح
اشتباه گرفتی عزیز اینجا access نه delphi

ITST-1
یک شنبه 12 شهریور 1385, 08:35 صبح
از همه سپاسگزارم

به طریقی من رر اوردی مشکل خودم را حل کردم

سنبله کار
یک شنبه 12 شهریور 1385, 09:56 صبح
خوشحالم
حالا که حلش کردین راه حلشو برای ما هم بگید