PDA

View Full Version : پیداکردن رکورد ماقبل آخر



z.fotouhi
شنبه 21 شهریور 1394, 13:08 عصر
باسلام
دوستان فایلی داریم که اطلاعات تعویض روغن لکوموتیوها ثبت می شود. گزارشی در آن ایجاد کرده ایم که با توجه به تاریخ روغن گیری، لکوموتیوهایی که در تاریخ مورد نظر روغن گیری شده اند را نشان می دهد. حال کدی با استفاده از تابع dmax نوشته شده که تاریخ آخرین روغن گیری و تاریخ ماقبل آن را برای هرلکوموتیو نشان می دهد. مشکل اینجاست که تاریخ آخر را نشان می دهد اما تاریخ ماقبل آخر را نشان نمی دهد.
کد مربوطه:


Me.Text48 = DMax("test_date", "ali", "loco_no='" & [LOCO_NO] & "'" )

Me.Text45 = DMax("test_date", "ali", "loco_no='" & [LOCO_NO] & "' And test_date<'" & [TEST_DATe] & "'")





قرار است بر اساس فیلد test_date که در کوئری ali است آخرین تاریخ و تاریخ ماقبل آخر را پیدا کرده و در text48 و text45 بریزد. منظور از loco_no شماره لکوموتیو است.

farhad2161
شنبه 21 شهریور 1394, 14:12 عصر
توابع LEAD و LAG در اس‎کیو‎ال سرور

http://sqlblog.ir/%D8%AA%D9%88%D8%A7%D8%A8%D8%B9-lead-%D9%88-lag-%D8%AF%D8%B1-%D8%A7%D8%B3%DA%A9%DB%8C%D9%88%D9%84-%D8%B3%D8%B1%D9%88%D8%B1-2012/

z.fotouhi
دوشنبه 23 شهریور 1394, 12:18 عصر
فایلی را به عنوان نمونه فرستادم. در این فایل اطلاعات مربوط به تاریخ های روغن گیری هر لکوموتیو در "table1" ثبت می شود. سپس بر اساس تاریخ، گزارش "Query1" گرفته می شود. مثلا با واردکردن "1394/01/05" لکوموتیوهایی که در این تاریخ روغن گیری داشته اند را نشان می دهد. حال در این ریپورت در قسمت control source مربوط به "text9" و "text11" کدی نوشته شده که آخرین تاریخ و تاریخ ماقبل آخر را نشان بدهد، اما فقط تاریخ آخر را نمایش می دهد. ممنون می شوم اگر راهنمایی بفرمایید.

alirezabahrami
دوشنبه 23 شهریور 1394, 16:07 عصر
فایلی را به عنوان نمونه فرستادم. در این فایل اطلاعات مربوط به تاریخ های روغن گیری هر لکوموتیو در "table1" ثبت می شود. سپس بر اساس تاریخ، گزارش "Query1" گرفته می شود. مثلا با واردکردن "1394/01/05" لکوموتیوهایی که در این تاریخ روغن گیری داشته اند را نشان می دهد. حال در این ریپورت در قسمت control source مربوط به "text9" و "text11" کدی نوشته شده که آخرین تاریخ و تاریخ ماقبل آخر را نشان بدهد، اما فقط تاریخ آخر را نمایش می دهد. ممنون می شوم اگر راهنمایی بفرمایید.

سلام

با عجله تغییراتی در نمونه خودت ایجاد کردم ، نمیدانم درسته یا نه ؟
بررسی کن ببین خواسته ات را برآورده می کنه!
یا علی

Nazir Ahmad
چهارشنبه 25 شهریور 1394, 07:38 صبح
سلام

با عجله تغییراتی در نمونه خودت ایجاد کردم ، نمیدانم درسته یا نه ؟
بررسی کن ببین خواسته ات را برآورده می کنه!
یا علی
سلام
البته من نمیدونم که آیا منظور دوستمون این بوده یا نه. اما به نظر من مشکل شاید حل نشده باشه چون ما میخوایم یه رکورد پیشتر از رکورد فعلی رو پیدا کنیم درحالی که تو فایل ضمیمه تقریبا این کار نشده. مثلا برای رکورد آخر که تاریخ 1/10/1394 هست، رکورد قبلی اون تاریخ 1/7/1394 رو نشون میده و درستش اینه که رکورد 1/9/1394 رو پیدا کنه.
اگر ممکنه فایل تون رو اصلاح کنید

یا حق

alirezabahrami
چهارشنبه 25 شهریور 1394, 09:28 صبح
سلام
البته من نمیدونم که آیا منظور دوستمون این بوده یا نه. اما به نظر من مشکل شاید حل نشده باشه چون ما میخوایم یه رکورد پیشتر از رکورد فعلی رو پیدا کنیم درحالی که تو فایل ضمیمه تقریبا این کار نشده. مثلا برای رکورد آخر که تاریخ 1/10/1394 هست، رکورد قبلی اون تاریخ 1/7/1394 رو نشون میده و درستش اینه که رکورد 1/9/1394 رو پیدا کنه.
اگر ممکنه فایل تون رو اصلاح کنید

یا حق
سلام
استخراج رکورد ماقبل آخر بر اساس شماره لکوموتیو صورت می گیرد . به عبارتی برای هر شماره لکوموتیو باید رکورد ماقبل آخر آن استخراج شود (البته به تشخیص بنده ، تا ببینیم هدف دوستمون چی بوده )
یا علی