PDA

View Full Version : مبتدی: مشکل در ایجاد شرط روی تکس باکس



majidosmani
یک شنبه 08 آذر 1394, 18:40 عصر
سلام خدمت اساتید محترم میگم من یک نرم افزار قبلا با اکسس نوشتم الان یک مشکل داخلش دارم لطفا من را راهنمایی کنید با توجه به شکلی که فرستادم من می خواهم وقتی کاربر دکمه ذخیره اطلاعات را می زند در صورتی که تکس باکس مشخص شده در تصویر خالی باشد یک پیام به من نشان بده من کد زیر را نوشتم ولی کار نمی کنه نمی دونم چرا

If namber = "" Then
MsgBox "لطفا نوع پرميت را مشخص نمائيد", vbInformation + vbMsgBoxRight + vbOKOnly, "اخطار سيستم"
Else
Me.Form.Refresh
On Error GoTo Err_Command157_Click


DoCmd.GoToRecord , , acNewRec

Exit_Command157_Click:
Exit Sub

Err_Command157_Click:
MsgBox err.Description
Resume Exit_Command157_Click
End If

137132
فایلم را چون قبلا توی این تالار فرستاده بودم الان فقط لینکش را میزارم
http://barnamenevis.org/showthread.php?512207-%DB%8C%DA%A9-%D9%85%D8%B4%DA%A9%D9%84-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%81%D8%B1%D8%A7%D8%AE%D9%88%D8%A7%D9%86%DB%8C-%D9%85%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1%D9%87%D8%A7%D B%8C-%D8%B9%D9%85%D9%88%D9%85%DB%8C

alirezabahrami
یک شنبه 08 آذر 1394, 18:59 عصر
سلام
وقت نکردم فایلت را ببینم ولی کد زیر را جایگزین کد قسمت if کن ببین نتیجه میگیری !


If IsNull(namber) Then

یا علی

majidosmani
یک شنبه 08 آذر 1394, 19:43 عصر
سلام با تشکر درست شد
میشه بگین فرق IsNull(namber)باnamber = "" چیست؟ تا من هم یاد بگیرم

alirezabahrami
یک شنبه 08 آذر 1394, 23:02 عصر
سلام با تشکر درست شد
میشه بگین فرق IsNull(namber)باnamber = "" چیست؟ تا من هم یاد بگیرم

سلام


Null یعنی پوچ و تهی و "" یعنی مقدار خالی (Empty) که در ویژوال بیسیک با vbNullString هم نمایش داده میشود.
"" یعنی رشته ای(string) با طول صفر.معمولاً از Null برای تهی بودن یک تکست باکس یا فیلد و از "" برای خالی بودن یک رشته استفاده میکنیم درمثال پست 1 چون محتوای تکست باکس namber تهی و پوچ است نمیتوانید برای چک کردن تهی بودن namberاز "" استفاده کنید چون namber در اینجا از نوع رشته نمیباشد .
ولی اگر همین namber را بصورت یک متغیر از نوع رشته تعریف کنید و چک کنید که این رشته خالی است(طول آن صفر است) می توانید از "" یا Empty یا vbNullString استفاده کنید.
مثال:
کد زیر را در رویداد کلیک یک کمند باتن وارد کن!


Dim strname As String
strname = Null
If strname = vbNullString Then
MsgBox "Empty"
End If


در مثال فوق با کلیک بر روی کمند باتن پیغام خالی بودن متغیر strname را دریافت می کنید و در همین مثال اگر بجای "" مثلاً "abd" قرار بدهید دیگر پیغام خالی بودن متغیر strname را دریافت نمیکنید چون متغیر شما که از نوع استرینگ است خالی نیست و سه حرف abd درداخل آن است و در واقع طول این رشته بزرگتر از صفر است .
ضمناً برای چک کردن خالی بودن یاخالی نبودن یک رشته نمیتوانید از Null استفاده کنید چون با پیغام خطا مواجه میشوید .
خیلی سعی کردم ساده تر از این توضیح بدهم ولی نتوانستم
یا علی