PDA

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



charkhi
یک شنبه 05 آبان 1392, 13:37 عصر
دوستان سلام من در حال طراحي نرم افزار کنترل ماموريت کارکنان هستم. مي خواهم بدانم چگونه مي توانم از ثبت يک ماموريت با تاريخ تکراري جلوگيري کنم. مثلا قبلا براي يک کارمند از تاريخ 92/05/01 لغايت 92/05/10 ماموريت ثبت شده است . حال هنگام ثبت گزارش ماموريتي با تاريخ 92/05/05 لغايت 92/05/08 براي همان کارمند گزارش خطا بدهد.

mhkavian
دوشنبه 06 آبان 1392, 03:55 صبح
با سلام
برای اینکار یعنی شبیه سازی یک بازه به عنوان فیلد کلیدی ، بایستی ابتدا از یک پرسش برای استخراج رکورد هایی که بازه درج شده را قطع می کنند یا در درون آن قرار دارند ، استفاده نمود . سپس بایستی خاصیت validation rule فیلدهای موجود در فرم را با استفاده از یک تابع dcount رکوردهای پرسش قبلی را می شمرد محدود کرد و شرط درج را برابر با صفر بودن رکورد های ذکر شده قرار داد .
با این روش بدون کد نویسی می توانید به هدف خود برسید . فقط پرسش آن کمی پیچیده می شود که پیچیده تر از کد نویسی برای این کار نیست .
نمونه ای از این روش در فایل پیوست آورده شده است .
البته روش مذکور برای نسخه های پایین تر اکسس پیشنهاد می شود .
ممکن است در اکسس 2010 بتوان از طریق data macro نیز به این هدف رسید .
عدم درج رکورد تکراری در بازه زمانی
(http://www.mantis.ir/discussions/%D8%B9%D8%AF%D9%85-%D8%AF%D8%B1%D8%AC-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-%D8%AA%DA%A9%D8%B1%D8%A7%D8%B1%DB%8C-%D8%AF%D8%B1-%D8%A8%D8%A7%D8%B2%D9%87-%D8%B2%D9%85%D8%A7%D9%86%DB%8C.html)
پیروز و سربلند
کاویان

charkhi
دوشنبه 06 آبان 1392, 16:24 عصر
جناب کاویان
با سلام و تشکر از لطف و محبت شما
لینک گذاشته شده منجر به باز شدن هیچ فایلی نمی شود.

mhkavian
چهارشنبه 08 آبان 1392, 01:24 صبح
با سلام
ضمن تشکر از اطلاع رسانی شما ، مورد بر طرف شد . لطفا مجددا سعی نمایید .
با تشکر
کاویان

charkhi
پنج شنبه 09 آبان 1392, 11:24 صبح
جناب کاویانی صمیمانه تشکر می کنم . مشکل اخیر حل شد
اما مشکل دوم :
می خواهم هنگام ورود به یک فیلد دو رقم آخری بصورت انتخاب شده درآید تا اصلاح کردن آن آسان باشد. مثلا دو رقم مربوط به روز یک فیلد تاریخ 92/08/10

mhkavian
یک شنبه 26 آبان 1392, 02:37 صبح
باسلام
ازخاصیتهای selstart و sellength بایستی استفاده شود .
در فایل پیوست بازدن دکمه tab بین فیلدها حرکت کنیدتا نتیجه روببینید.
با تشکر
کاویان

112898