PDA

View Full Version : آخرین دسته را چاپ کند



karmand
سه شنبه 20 اسفند 1387, 17:21 عصر
با سلام
نامه رسانها صبح قبل از خروج از اداره در چند مرحله تعدای نامه را مرتب میکنند و ورود بارکد میکنند
این کار روی 15 کامپیوتر انجام میشود
و از یک جا چاپ میگیرند
در محل چاپ نام نامه رسان را میگیرد و بر اساس کد نامه رسان و تاریخ روز نامه انها را به ترتیب داده آمایی چاپ میکند
مشکل در اینجاست که باید آخرین دسته را چاپ کند
با روشی از ماکس autonumber و گروپ ردیف 1 استفاده کردم و این ماکس را شرط بعد از کد نامه رسان و تاریخ روز گذاشتم کار انجام میشود ولی مشکلات ایجاد میشود


لطفا کمک نمایید
1 فیلدی از نوع datetime گرفتم زمان شروع به داده آمایی زمانی که نامه رسان نامش را انتخاب میکند now() در تکستی روی فرم میآورد و همراه اطلاعات ذخیره میشود
پس دسته بندی میشود
و با گرفتن max این فیلد شرط انجام میشود اما مشکل اینجاست که متغیری که ماکس را در ان ذخیره کنم از نوع dateمیگیرم و بعد فیلد را مساوی این متغیر قرار میدهم
قبول نمیکند
راهنمایی بفرمایید
و اگر راهی غیر از این راه دارید بفرمایید

متشکرم

رضا عربلو
سه شنبه 20 اسفند 1387, 18:57 عصر
از این الگو استفاده کرده اید:


SELECT TOP(100) Field1, ... FROM Table1 WHERE Fieldn='...' ORDER BY Field1 DESC

karmand
چهارشنبه 21 اسفند 1387, 07:10 صبح
سلام با تشکر
من نمیدانم دسته آخر چند تا است حتی بعضی اوقات دسته آخر یکی است

این دستور 100 رکورد آخر را میدهد بعد از سورت بزرگ به کوچک
فکر کنم کمک نمایید از همان now() استفاده کنم درست تر است

رضا عربلو
چهارشنبه 21 اسفند 1387, 16:55 عصر
TOP(100) حداکثر 100 رکورد آخر (در صورت وجود را) بر می گرداند.
برای اینکه دوباره آنرا بصورت صعودی مرتب کنید بایستی از select تو در تو استفاده کنید:


SELECT Field1,.... FROM (SELECT TOP(100) Field1, ... FROM Table1 WHERE Fieldn='...' ORDER BY Field1 DESC) AS TempTable ORDER BY Field1

به جای ... در Fieldn='...' نیز می توانید پارامتر خود را بگذارید مثلاً Fieldn=@Parameter1