PDA

View Full Version : چاپ رکوردهای گرید از آخر به اول



hasti_62
یک شنبه 02 اسفند 1388, 10:03 صبح
سلام به همه دوستان
من می خوام توی برنامم رکوردهای گریدم رو از آخر به اول چاپ کنم می تونید راهنمائی کنید؟

jafari5259
یک شنبه 02 اسفند 1388, 10:42 صبح
میشه واضحتر بگین؟!! منظورتون از دیتاگرید می خواین گزارش بگیرین؟

hasti_62
یک شنبه 02 اسفند 1388, 12:25 عصر
بله وقتی من داده هامو جستجو می کنم توی msflexgrid بهم نشون می ده که من می خوام اونارو از آخر به اول چاپ کنم.مرسی

jafari5259
یک شنبه 02 اسفند 1388, 13:40 عصر
البته منم چیزی شبیه این توی برنامه ام استفاده کردم. اومدم یه جدول به دیتابیسم اضافه کردم و توی برنامه وقتی کاربر روی دیتاگرید دوبار کلیک می کنه اطلاعات داخل دیتاگریدم به دیتابیس منتقل میشه و بعد data report رو روی این جدول تنظیم کردم و از اطلاعاتش گزارش می گیرم که در حقیقت همون اطلاعات دیتاگرید هستش!!

HjSoft
یک شنبه 02 اسفند 1388, 18:36 عصر
با يك شماره گذاري مجاز مي توني اين كار رو انجام بدي ... به اين صورت :
بعد از اينكه اطلاعات گريدت براي نمايش حاضر شد يك فيلد مجازي رو از 50 به 0 ( باتوجه به تعداد ركورد ) شماره گذاري كني يعني آخرين ركورد داخل گريد 0 باشه بعد بياي در زمان گزارشگيري در Crystal اونو بر اساس اون فيلد مجازي Sort كني . در ديتا ريپورت هم بايد قبل از نمايش ديتاريپورت اون ado رو طبق فيلد مجازي sort كنيد .
موفق باشيد

jafari5259
دوشنبه 03 اسفند 1388, 08:31 صبح
با يك شماره گذاري مجاز مي توني اين كار رو انجام بدي ... به اين صورت :
بعد از اينكه اطلاعات گريدت براي نمايش حاضر شد يك فيلد مجازي رو از 50 به 0 ( باتوجه به تعداد ركورد ) شماره گذاري كني يعني آخرين ركورد داخل گريد 0 باشه بعد بياي در زمان گزارشگيري در Crystal اونو بر اساس اون فيلد مجازي Sort كني . در ديتا ريپورت هم بايد قبل از نمايش ديتاريپورت اون ado رو طبق فيلد مجازي sort كنيد .
موفق باشيد
فکر نمی کنم نیاز به اینکار باشه چون دیتاریپورت اطلاعات رو به همان ترتیبی که در دیتابیس هستش، گزارش میگیره فقط باید اطلاعاتی که در دیتا گرید هستش رو از آخر به اول به دیتابیس منتقل کنه!! دیگه خود دیتاریپورت طبق همون ترتیب گزارش میگیره!!

hasti_62
دوشنبه 03 اسفند 1388, 10:03 صبح
من اول داده هامو انتقال می دم به بانک access بعد از اونجا می خونم و با کریستال ریپورت چاپ می گیرم حالا چطور می تونم مثلا 4 تا رکورد آخر گریدم رو بریزم تو access ؟

jafari5259
دوشنبه 03 اسفند 1388, 10:19 صبح
شما فرض کن دیتاگریدتون 10 تا رکورد داره، می خوای رکوردای هفتم تا دهم رو به دیتابیست منتقل کنی، می تونی اینطوری ارسالش کنی:


for j=7 to 10
rs.fields("ID")=msflg1.TextMatrix(j, 1)
next


اما اگه می خوای از آخر ارسال کنی اینطوری بنویس:

j=10

do

rs.fields("ID")=msflg1.TextMatrix(j, 1)
j=j-1

loop while j<>7

hasti_62
دوشنبه 03 اسفند 1388, 15:27 عصر
ممنونم از راهنمائیتون با کدی که گذاشتید چند قدمی جلو افتادم .بازم ممنون از همه که وقت گذاشتند و جواب دادن.