PDA

View Full Version : سوال: انتخاب رکورد بر اساس تاریخ بدون تکرار



Alib10
چهارشنبه 28 مرداد 1394, 13:40 عصر
سلام
من یک برنامه نوشتم که برای پایگاه ها هست
این برنامه یک بخش ثبت سابقه داره
حالا میخوام هر کسی که از تاریخ اخرین سابقش چند ماه(مورد نظر متغیر) که میگذره رو توی یک دیتا گرید نشون بدم(اطلاعات کاملشو) و توی یه کریستال ریپورت گزارش گیری کنم خوب نمیدونم چیکار کنم برنامه ی من یک بانک اطلاعاتی با دو تا تیبل iranschool و hozor داره و یک view به اسم rgh که در تیبل iranschool نام و مشخصات هست و توی hozor تاریخ سوابق و سابقه هاش هست
توی rgh هم هر دوتاش جمع کردم و کد ملی هر شخص هم منحصر به فرده(نمیدونم این اطلاعات بهتون کمک میکنه یا نه)فیلد کد ملی:r. فیلد تاریخ سوابق:data
ضمنا همه ی سوابق به طور کلی (میتونه برا هر فرد چند تا سابقه باشه) در hozor هست
با تشکر و سپاس فراوان

isaac23
پنج شنبه 29 مرداد 1394, 08:18 صبح
دوست عزیز من متوجه منظورت نشدم اگه یه کم واضح تر توضیح بدی بهت جواب میدم ......

انتخاب رکورد بر اساس تاریخ بدون تکرار ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

Alib10
پنج شنبه 29 مرداد 1394, 13:21 عصر
سلام دوست عزیز
من تو یک جدول فیلد های
نام. موضوع فعالیت و تاریخ فعالیت رو دارم
ممکنه برای یک نام چند تا فعالیت باشه
حالا من میخوام بزرگترین تاریخ فعالیت هر اسمو که از تاریخ مورد نظر من کوچیکتره رو تو یه دیتاگرید نمایش بدم
ممنون از شما دوستان و سروران

isaac23
پنج شنبه 29 مرداد 1394, 18:57 عصر
ببین این دستور کارت رو راه میندازه

Adodc1.RecordSource = "SELECT * FROM T1 Where Date >'" & Trim(Form10.Text.Text) & "' Order by Tch"

Date = می تونی یه Text قرار بدی و بگی مثلا از این تاریخ چون میگی متغیر هستش. یعنی اون تاریخی که کوچکتر هستش

و
Trim(Form10.Text.Text)= اینم مثل قبلی م یتونی ثابت باشه و یا متغیر هر کدوم دوست داشتی

کارش اینجوریه

میگه از تاریخ اولی ( حالا هر تاریخی نوشتی ) بیا تایخ های که بزرگتر از این تاریخ هست رو نشونم بده ...

Alib10
جمعه 30 مرداد 1394, 10:15 صبح
حرف شما متین
ولی من میخوام بدون تکرار باشه
مثلا فرض کنید یک نفر به اسم علی تو این تاریخ ها فعالیت داشته 1393/2/2 و 1392/4/3
و تاریخ مد نظر من یک ماه باشه یعنی 1394/4/1 حالا چون سابقه علی تاریخش از تاریخ مورد نظر من کمتره
میخوام علی رو فقط یک بار نشدن بده
بعد اگه مثلا علی یک تاریخ سابقه 1394/5/9 داشت دیگه تو دیتا گرید نشونش نده

isaac23
شنبه 31 مرداد 1394, 07:43 صبح
به جای * از دستور Distinct استفاده کن اطلاعات تکراری رو نشون نمیده و فقط یکی رو نشون میده

Adodc1.RecordSource = "SELECT Distinct FROM T1 Where Date >'" & Trim(Form10.Text.Text) & "' Order by Tch"