PDA

View Full Version : چگونه می توان در QuickReport یک فیلد جدا درست کرد و به عنوان ردبف از آن استفاده کرد .



دنی کوئیل
سه شنبه 06 دی 1384, 09:31 صبح
چگونه می توان در QuickReport یک فیلد جدا درست کرد و به عنوان ردبف از آن استفاده کرد .
در واقع شماره رکورد ها را در آن فیلد قرار دهیم

mzjahromi
سه شنبه 06 دی 1384, 10:51 صبح
اگر مشکل سوال قبلی رو حل کنید (با CalcField) اینجا هم مشکلتون حل میشه چون اینجوری یک فیلد اضافه داری که می تونی هر کاری باهاش بکنی

Touska
سه شنبه 06 دی 1384, 10:55 صبح
شما باید از QrExpr استفاده کرده و در آن از count استفاده نمایید.

دنی کوئیل
سه شنبه 06 دی 1384, 13:34 عصر
بیشتر توضیح بدهبد
بیشتر توضیح بدهبد
بیشتر توضیح بدهبد
بیشتر توضیح بدهبد
بیشتر توضیح بدهبد

:متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر: :متفکر:

mzjahromi
سه شنبه 06 دی 1384, 13:40 عصر
ببین
رو DataSet دو بار کلیک کن
بعد تو صفحه ظاهر شده راست کلیک کن و add all fields رو بزن
بعد دوباره راست کلیک کن و NewField رو بزن
بعد یه Field از نوع Calculated ایجاد کن
بعد تو رخداد Oncalc بنویس


dataset.fieldbyname('fieldName').AsInteger:=DataSe t.RecNo;

اینهم جواب کامل

دنی کوئیل
سه شنبه 06 دی 1384, 13:51 عصر
اگه اشتباه نکنم منظور شما از Dataset باید AdoTable باشد

بعد اون کدی که گفتی تو رخداد کدام کنترل بنویسم ؟

mzjahromi
سه شنبه 06 دی 1384, 13:57 عصر
نه منظور من Dataset بود
Ado table هم یه نوع DataSet هست
AdoTable
AdoQuery
TTable
TQuery
...

دنی کوئیل
سه شنبه 13 دی 1384, 20:12 عصر
آفرین آقای mzjahromi
آفرین آقای mzjahromi
آفرین آقای mzjahromi
آفرین آقای mzjahromi

دنی کوئیل
سه شنبه 13 دی 1384, 23:23 عصر
فقط یک مشکل

چرا اولین شمار رکورد را 1- میزنه ؟

mzjahromi
چهارشنبه 14 دی 1384, 12:11 عصر
آفرین آقای mzjahromi
آفرین آقای mzjahromi
آفرین آقای mzjahromi
آفرین آقای mzjahromi
خواهش می کنم
ضمنا MZjahromi اسم من نیست ID منه

mzjahromi
چهارشنبه 14 دی 1384, 12:16 عصر
فقط یک مشکل

چرا اولین شمار رکورد را 1- میزنه ؟
من تا حالا با این مشکل برخورد نکردم ولی خوب اگر رکوردهای بعدی شماره شونو درست میزنه خودتون با کد نویسی اون یکی رو درست کنید


if Recno=-1 then
recno=1;

البته این شبه کد هست

ali_zapata
چهارشنبه 21 دی 1384, 17:36 عصر
سلام

من یه راه ساده میگم کخ همیشه هم جواب میده:
یه متغیر مثلا radif توی یونیتت تعریف کن. بعد مثلا توی detail band و توی رخداد BeforPrint بنویس:
radif := radif + 1
اونوقت توی رخداد OnPrint مربوط به lable ردیفت بنویس:
Value := IntToSr(radif)

البته قبل ار هر پرینت باید: radif := 0 باشه .
پس radif رو به صورت public تعریف کن که از unit های دیگه هم قابل دسترسی باشه.

دنی کوئیل
چهارشنبه 21 دی 1384, 18:37 عصر
سلام

من یه راه ساده میگم کخ همیشه هم جواب میده:
یه متغیر مثلا radif توی یونیتت تعریف کن. بعد مثلا توی detail band و توی رخداد BeforPrint بنویس:
radif := radif + 1
اونوقت توی رخداد OnPrint مربوط به lable ردیفت بنویس:
Value := IntToSr(radif)

البته قبل ار هر پرینت باید: radif := 0 باشه .
پس radif رو به صورت public تعریف کن که از unit های دیگه هم قابل دسترسی باشه.

دوست عزیز مشکل من خیلی وقت پیش حل شد

اونم این بود که در lbl ردیف در رویداد OnPrint این کد را نوشتم



Value := intToStr(ADOTable_ModiriatUser.RecNo )


موفق باشی

سید مسعود موحد
پنج شنبه 22 دی 1384, 15:09 عصر
بابا شما ها چرا لقمه رو میچرخونید به جواب اقا مصطفی یک نگاهی بیندازید



شما باید از QrExpr استفاده کرده و در آن از count استفاده نمایید.


البته میشود بجای Count از DetailNo هم (اگر اسمشو درست نوشته باشم) استفاده کرد

دنی کوئیل
پنج شنبه 22 دی 1384, 19:58 عصر
بابا شما ها چرا لقمه رو میچرخونید به جواب اقا مصطفی یک نگاهی بیندازید



البته میشود بجای Count از DetailNo هم (اگر اسمشو درست نوشته باشم) استفاده کرد

اون جواب آقا مصطفی را نقل قول کن

سید مسعود موحد
شنبه 24 دی 1384, 10:05 صبح
دنی جان من که نقل قول کردم
Toska‌همان آقا مصطفی میباشد.

mandana2010
پنج شنبه 13 مهر 1385, 08:18 صبح
خوب با یه دستور if مشکلت رو حل کن بدین صورت که در دستورت بگه گه مقدارش 1- است اون رو 1 بذار