PDA

View Full Version : الزام در درج مقدار در فیلد



iransim
پنج شنبه 30 مرداد 1399, 13:33 عصر
سلام دوستان
من با استفاده از جستجوی و مطالب دوستان در سایت یک فیلد تکست رو با درج کد زیر در خاصیت BeforeUpdate آن ملزم به ورود اطلاعات کردم

If IsNull(Me.Text0) Or Me.Text0 = "" Then
MsgBox "توجه: اطلاعات این فیلد حتما باید مشخص شود"
Cancel = True
End If
در زمان ثبت اطلاعات وقتی فیلد مورد نظر رو خالی میزارم پیام خطای ( اطلاعات این فیلد حتما باید مشخص شود ) نمایش داده می شود با ok کردن پیام خطا ، متاسفانه نشانگر بدون توجه به الزام در خالی نبودن فیلد به فیلد بعدی منتقل میشه و فیلد مورد نظر که الزام در درج اطلاعات آن است کماکان خالی میمونه
چطوری میتونم از جابجائی نشانگر به فیلد بعدی تا زمان درج اطلاعات در فیلد الزام شده جلوگیری کنم ؟ ( در ضمن خاصیت Required فیلد تکست مورد نظر No میباشد )
سپاس از همه دوستان

parsa70
شنبه 01 شهریور 1399, 22:38 عصر
سلام برای من تو یکی از برنامه‌هام اینجوری درست کار میکنه البته به جای msgbox فرم باز میکنه برای من البته رنگ اون فیلدهایی هم که خالی هست رو عوض می‌کنه.

If IsNull([AmountIncome]) Or [AmountIncome] = "" Or IsNull([dateofincome]) Or [dateofincome] = "" Then DoCmd.OpenForm "frmmsginfo"
With Form_frmMsgInfo


.Label1.Caption = "ÝíáϝåÇí ãÔÎÕ ÔÏå ʘãíá ÔæäÏ"
.Label2.Caption = ".áØÝÇð ÈÑÑÓí äãÇííÏ."
.Caption = " ʘãíá ÇØáÇÚÇÊ!!"


End With
Me.AmountIncome.BackColor = vbYellow
Me.dateofincome.BackColor = vbYellow
Else
Me.AmountIncome.BackColor = vbWhite
Me.dateofincome.BackColor = vbWhite
DoCmd.GoToRecord , , acNewRec
End If

iransim
شنبه 01 شهریور 1399, 22:48 عصر
ممنون دوست عزیز ولی من میخام همون پیام خطا ظاهر بشه از فیلد خالی حرکت نکنه

iransim
شنبه 01 شهریور 1399, 22:48 عصر
دوستان دیگه محبت میکنن یه کمکی به ما بکنن - سپاس

شاگرد آرام
یک شنبه 02 شهریور 1399, 06:57 صبح
سلام . دوست عزیز کدتون رو به جای before update در رویداد on exit قرار بدین

padide55
یک شنبه 02 شهریور 1399, 08:32 صبح
سلام
اینو امتحان کنید که داخل همون فیلد برگرده

If IsNull(Me.Text0) Or Me.Text0 = "" Then
MsgBox "توجه: اطلاعات این فیلد حتما باید مشخص شود"
Cancel = True
docmd.gotocontrol "Text0"
End If

iransim
دوشنبه 03 شهریور 1399, 21:31 عصر
دوست عزیز ، سلام و عرض ادب
راه حل شما جواب داد
سپاس از لطف شما
فقط ی نکته ، من همین کد رو برای فیلد عددی که در
before update قرار میدم به درستی کار میکنه ولی برای فیلد متنی نمیدونم چرا جواب نمیده ، علت خاصی داره ؟

iransim
دوشنبه 03 شهریور 1399, 21:32 عصر
سلام
اینو امتحان کنید که داخل همون فیلد برگرده

If IsNull(Me.Text0) Or Me.Text0 = "" Then
MsgBox "توجه: اطلاعات این فیلد حتما باید مشخص شود"
Cancel = True
docmd.gotocontrol "Text0"
End If

دوست عزیز ، سلام و عرض ادب - از توجه و لطف شما هم ممنونم

iransim
دوشنبه 03 شهریور 1399, 21:34 عصر
سلام . دوست عزیز کدتون رو به جای before update در رویداد on exit قرار بدین


دوست عزیز ، سلام و عرض ادب
راه حل شما جواب داد
سپاس از لطف شما
فقط ی نکته ، من همین کد رو برای فیلد عددی که درbefore update قرار میدم به درستی کار میکنه ولی برای فیلد متنی نمیدونم چرا جواب نمیده ، علت خاصی داره ؟