صفحه 5 از 5 اولاول ... 345
نمایش نتایج 161 تا 164 از 164

نام تاپیک: خارج از دستور - پرسشهایی از جنس دیگر

  1. #161
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    سن
    59
    پست
    1,080

    نقل قول: ساخت یک TextBox برای تاریخ ایرانی با الزام به ثبت تاریخ درست Persian DateBox

    فکر کنم در تابع FDateValid پست 158 برای اینکه بعد از صدور پیغام های تابع فوق بر روی تکست باکس تاریخ فوکوس شود نیاز بااشه بعد از دستور DoCmd.CancelEvent عبارت MyDate.SetFocus
    اضافه شود.

  2. #162
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    73
    پست
    3,667

    نقل قول: ساخت یک TextBox برای تاریخ ایرانی با الزام به ثبت تاریخ درست Persian DateBox

    نقل قول نوشته شده توسط eb_1345 مشاهده تاپیک
    اگر ان شاءااله تا اینجا اشکالات کدهای نمونه ضمیمه شده 158پست توسط جناب آقای مازولاق عزیز رفع شود منتظر اعلام سایر شرایط و ویژگی های این کنترل جذاب خواهیم بود.
    سلام

    من الان فایل پیوست پست 158 رو گرفتم،
    باید اول api declaration ها رو برای 64bit office درست کنم تا بتونم اجراش کنم.

  3. #163
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    73
    پست
    3,667

    نقل قول: ساخت یک TextBox برای تاریخ ایرانی با الزام به ثبت تاریخ درست Persian DateBox

    نقل قول نوشته شده توسط eb_1345 مشاهده تاپیک
    اگر ان شاءااله تا اینجا اشکالات کدهای نمونه ضمیمه شده 158پست توسط جناب آقای مازولاق عزیز رفع شود منتظر اعلام سایر شرایط و ویژگی های این کنترل جذاب خواهیم بود.
    سلام دوباره

    خب باید بگم دست مریزاد و خسته نباشین
    اول از همه این که در این نمونه shared logic رعایت شده که بسیار مهم هست (تاریخ ایرانی تقریبا در هر فرمی دست کم یکی هست).
    بعد اینکه از رخداد Keypress کنترل برای فیلتر کردن کلیدها استفاده شده که این هم درسته.
    اینها مهم هاش بود - مابقیش رو باید اونایی که به بحث علاقه دارن خودشون پیگیر باشن.

    البته مثل همه نمونه های اولیه چیزهای ریزی هم دیده میشه:
    مثلا اگر در رکورد جدید، کاربر بخواد تاریخ رو خالی بذاره و فرم رو ببنده (یک موقعیت کاملا متداول - بخصوص در این فرم که بعد از خروج از کنترل اتوماتیک میره رکورد بعدی)
    مجبوره از task manager کلا اکسس رو رو ببنده!

    یا اگر فرضا مقدار تاریخ از پیش 1331/04/31 ثبت شده باشه، کاربر میتونه 4 رو مثلا 8 بگذاره و این مقدار (1331/08/31) در جدول میشینه بدون هیچ پیامی.

  4. #164
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    سن
    59
    پست
    1,080

    نقل قول: ساخت یک TextBox برای تاریخ ایرانی با الزام به ثبت تاریخ درست Persian DateBox

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک

    البته مثل همه نمونه های اولیه چیزهای ریزی هم دیده میشه:
    مثلا اگر در رکورد جدید، کاربر بخواد تاریخ رو خالی بذاره و فرم رو ببنده (یک موقعیت کاملا متداول - بخصوص در این فرم که بعد از خروج از کنترل اتوماتیک میره رکورد بعدی)
    مجبوره از task manager کلا اکسس رو رو ببنده!

    یا اگر فرضا مقدار تاریخ از پیش 1331/04/31 ثبت شده باشه، کاربر میتونه 4 رو مثلا 8 بگذاره و این مقدار (1331/08/31) در جدول میشینه بدون هیچ پیامی.

    با سلام و درود فراوان
    ببخشید استاد مازولاق عزیز ! آیا نمونه ضمیمه 158 رو تست کردید
    چون در ارتباط با این دو موردی که اشاره فرموده ای فکر کنم در نمونه فوق مشکلی وجود نداشته باشه ؛ شاید هم بنده دقیقاً متوجه منظور شما نشده ام
    در ارتباط با مورد اول اگر کاربر از طریق فرم اقدام به ایجاد رکورد جدید نماید ولی بخواهد بدون وارد کردن تاریخ از فرم خارج شود با پیغام «ورود يک مقدار درست براي تاريخ الزامي الزامي ميباشد» مواجه میشود , چون در خصوصیت tag تکست باکس تاریخ علامت {} درج شده و مطابق شرط هفتم پست 145 باید لزوماً تاریخ وارد شود در غیر اینصورت امکان خروج از فرم وجود ندارد.

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    یا اگر فرضا مقدار تاریخ از پیش 1331/04/31 ثبت شده باشه، کاربر میتونه 4 رو مثلا 8 بگذاره و این مقدار (1331/08/31) در جدول میشینه بدون هیچ پیامی.
    نقل قول نوشته شده توسط eb_1345 مشاهده تاپیک
    3- کنترل تعداد روزها در شش ماهه دوم سال( برای زمانی که مثلا با ماه شش ماهه اول روز 31 برای روز وارد شده باشد بعد بیائیم عدد ماه شش ماه دوم وارد کنیم)
    الیته برای این مورد میتوان بدون صدور پیغام هم در زمان تغییر عدد ماه چک شود که اگر قبلا برای روز عدد 31 وارد شده دیگر نتوان عدد ماههای نیمه دوم رو وارد کرد و یا اینکه اگر عدد شش ماهه دوم وارد شد در همان موقع چک شود که اگر عدد روز 31 میباشد عدد روز پاک شود تا در ادامه با توجه به عدد ماه پر شود
    CODE]
    Public Function FDateValid(myDate As Control) As Boolean
    If (Val(m) > 6 And Val(d) > 30) Then
    FDateValid = False
    MsgBoxFa ". تعداد روزهاي هر ماه در شش ماهه دوم سال حداکثر 30 روز است !لطفا روز را اصلاح كنيد", vbCritical, "خطا"
    DoCmd.CancelEvent
    Exit Function
    End If
    End Function
    [/CODE]
    در ارتباط با مورد دوم هم همانطور که در توضیحات پست 157 اشاره کرده ام اگر چنین تغییری از طرف کاربر صورت بگیرد در هنگام خروج از فرم با پیغام« تعداد روزهاي هر ماه در شش ماهه دوم سال حداکثر 30 روز است !لطفا روز را اصلاح كنيد» مواجه میشود .
    علی ایحال در نمونه اصلاح شده ضمیمه , تغییرات جزئی ای بعمل آورده ام
    فایل های ضمیمه فایل های ضمیمه

صفحه 5 از 5 اولاول ... 345

تاپیک های مشابه

  1. پاسخ: 4
    آخرین پست: سه شنبه 27 فروردین 1392, 15:31 عصر
  2. پاسخ: 0
    آخرین پست: چهارشنبه 21 فروردین 1392, 14:02 عصر
  3. پاسخ: 1
    آخرین پست: سه شنبه 12 بهمن 1389, 12:03 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •