# Native Code > برنامه نویسی در Delphi > ابزارهای گزارش سازی در دلفی >  ارائه یک راه حل برای یه مشکل جزئی

## salman_arak

سلام 
من یه فیلد عددی دارم که اعداد 5 رقمی توش ذخیره شده که اونو می خوام تو quickreport تو QRDBText نشون بدم اما با این تغییر که این عدد رو مثلا به صورت 45/123 (یه علامت اعشار یه جاییش بذاره و بعد نمایش بده ).
بانک : اکسس
از دستور select و کامپونت ado query استفاده کردم .
نمی دونم سوالم چقدر واضحه اما باین حال منتظر جواب هستم .
با عرض شرمندگی از دوستان اجازه می خوام یه سوال تکراری دیگه هم بپرسم اجازه هست؟
ممنون میخوام که یه شماره ردیف هم تو quickreport داشته باشم . اما راه حلهای دوستان تو تاپیک های مطرح شده برای من کار ساز نبود چون دوستان از کامپونت های دیگه استفاده کرده بودند و نتونستم بین اونها و ado query تطبیقی بدم اگه ممکنه این سوالم هم جواب بدید :اشتباه:   :اشتباه:  
ممنون و منتظر . :متفکر:

----------


## sarvestan

اگر فیلدتون در Database متنی می باشد:
select Left(stField,2)+'/'+Right(stField,3) from stTable

----------


## salman_arak

فیلدم عددی ه

----------


## sarvestan

از تقسیم استفاده کن!
یا
...
select Left(cast(stField as varchar(5)),2)+'/'+Right(cast(stField as varchar(5)),3) from stTable

----------


## salman_arak

> SQL.Clear;
>     sql.Add('select a.pno,a.fname,a.lname,a.costn1,'+ sh  +' from( vazeyat c inner join shakhsi b'+
>     ' on c.id=b.id) inner join shakhsi1 a on a.pno=b.pno where '+ sh+ opr + trim(MaskEdit10.Text)+' order by '+sh);
>     open;


دوست عزیز دستور اس کیو الم به صورت فوق است و فیلد مورد نظر به صورت متغیر و بنام sh 
است که در قیل مقدار دهی می شود . اگه محبت بفرمائی و روی این دستور توضیحاتتو بدی ممنون می شم  راستی در مورد سوال دوم چی ؟
ممنون و منتظر .

----------


## sarvestan

sh := 'Left(cast(stField as varchar(5)),2)+'/'+Right(cast(stField as varchar(5)),3) as returnField'

----------


## salman_arak

> sh := 'Left(cast(stField as varchar(5)),2)+'/'+Right(cast(stField as varchar(5)),3) as returnField'


دوست عزیز من درست متوجه نمی شم یعنی من این خط رو عینا بعد از مقدار گیری متغیر sh ام بنویسم . منظورت از as returnField چیه ؟
این دستور قراره چی کار بکنه ببخشیدا من یه برنامه نویس تازه کارم زیر دیپلم توضیح بده  :چشمک:   :تشویق:   :تشویق:

----------


## sarvestan

بجای StField اسم فیلد خودت را بنویس و بجای فیلد ReturnField اسمی بزار که می خواهی به اون نام به این فیلد دسترسی داشته باشی!

----------


## salman_arak

سلام 
 من شرمندم که این موضوع رو متوجه نمی شم این یک  و دوم اینکه من خیلی خیلی به حل شدن این موضوع نیاز دارم .
دوباره سوالم رو مطرح می کنم امید است راه حل اجرائی رو دو ستان تو صیه کنند :



> من یه فیلد عددی دارم که اعداد 5 رقمی توش ذخیره شده که اونو می خوام تو quickreport تو QRDBText نشون بدم اما با این تغییر که این عدد رو مثلا به صورت 45/123 (یه علامت اعشار یه جاییش بذاره و بعد نمایش بده ).
> بانک : اکسس
> از دستور select و کامپونت ado query استفاده کردم .
> نمی دونم سوالم چقدر واضحه اما باین حال منتظر جواب هستم .
> با عرض شرمندگی از دوستان اجازه می خوام یه سوال تکراری دیگه هم بپرسم اجازه هست؟
> 
> سوال دوم : ممنون میخوام که یه شماره ردیف هم تو quickreport داشته باشم . اما راه حلهای دوستان تو تاپیک های مطرح شده برای من کار ساز نبود چون دوستان از کامپونت های دیگه استفاده کرده بودند و نتونستم بین اونها و ado query تطبیقی بدم اگه ممکنه این سوالم هم جواب بدید


ممنون و منتظر .

----------


## vcldeveloper

از خصوصیت Mask شی QrDBText استفاده بکنید، مثلا مقدارش رو می تونید بزارید:
###/##
برای آشنایی بیشتر با فرمت بندی های مختلف می تونید به راهنمای دلفی مراجعه کنید:
Delphi Object and Component Reference ->  *FormatFloat* function

----------


## daffy_duck376

میتونی یه دونه qrlabel رو فرم بزاری و تو event‌ --before print مثلا در قسمت SUB DETAILS از کد زیر استفاده کنی
QRLabel1.Caption:= IntToStr(table1.recordno)
باز هم مشکل داری من در خدمتم

----------

