فکر کنم در تابع FDateValid پست 158 برای اینکه بعد از صدور پیغام های تابع فوق بر روی تکست باکس تاریخ فوکوس شود نیاز بااشه بعد از دستور DoCmd.CancelEvent عبارت MyDate.SetFocus
اضافه شود.
فکر کنم در تابع FDateValid پست 158 برای اینکه بعد از صدور پیغام های تابع فوق بر روی تکست باکس تاریخ فوکوس شود نیاز بااشه بعد از دستور DoCmd.CancelEvent عبارت MyDate.SetFocus
اضافه شود.
سلام دوباره
خب باید بگم دست مریزاد و خسته نباشین
اول از همه این که در این نمونه shared logic رعایت شده که بسیار مهم هست (تاریخ ایرانی تقریبا در هر فرمی دست کم یکی هست).
بعد اینکه از رخداد Keypress کنترل برای فیلتر کردن کلیدها استفاده شده که این هم درسته.
اینها مهم هاش بود - مابقیش رو باید اونایی که به بحث علاقه دارن خودشون پیگیر باشن.
البته مثل همه نمونه های اولیه چیزهای ریزی هم دیده میشه:
مثلا اگر در رکورد جدید، کاربر بخواد تاریخ رو خالی بذاره و فرم رو ببنده (یک موقعیت کاملا متداول - بخصوص در این فرم که بعد از خروج از کنترل اتوماتیک میره رکورد بعدی)
مجبوره از task manager کلا اکسس رو رو ببنده!
یا اگر فرضا مقدار تاریخ از پیش 1331/04/31 ثبت شده باشه، کاربر میتونه 4 رو مثلا 8 بگذاره و این مقدار (1331/08/31) در جدول میشینه بدون هیچ پیامی.
با سلام و درود فراوان
ببخشید استاد مازولاق عزیز ! آیا نمونه ضمیمه 158 رو تست کردید
چون در ارتباط با این دو موردی که اشاره فرموده ای فکر کنم در نمونه فوق مشکلی وجود نداشته باشه ؛ شاید هم بنده دقیقاً متوجه منظور شما نشده ام
در ارتباط با مورد اول اگر کاربر از طریق فرم اقدام به ایجاد رکورد جدید نماید ولی بخواهد بدون وارد کردن تاریخ از فرم خارج شود با پیغام «ورود يک مقدار درست براي تاريخ الزامي الزامي ميباشد» مواجه میشود , چون در خصوصیت tag تکست باکس تاریخ علامت {} درج شده و مطابق شرط هفتم پست 145 باید لزوماً تاریخ وارد شود در غیر اینصورت امکان خروج از فرم وجود ندارد.
در ارتباط با مورد دوم هم همانطور که در توضیحات پست 157 اشاره کرده ام اگر چنین تغییری از طرف کاربر صورت بگیرد در هنگام خروج از فرم با پیغام« تعداد روزهاي هر ماه در شش ماهه دوم سال حداکثر 30 روز است !لطفا روز را اصلاح كنيد» مواجه میشود .
علی ایحال در نمونه اصلاح شده ضمیمه , تغییرات جزئی ای بعمل آورده ام