PDA

View Full Version : Nul شدن فیلد در بانک اطلاعاتی و کار نکردن IF



mostafag
چهارشنبه 06 آذر 1392, 10:13 صبح
با سلام

یه کد ساده دارم به این شکل ولی نمیدونم چرا کار نمیکنه:



If Adodc1.Recordset.Fields("Field1") = "" Or Adodc1.Recordset.Fields("Field1") = Null Then
cmdpresent.Enabled = False
End If


وقتی که خالیه وارد IF میشه و دستورات رو انجام میده ولی وقتی Null هستش وارد نمیشه اصلا!!

به نظرتون دلیلش چیه و چیکار باید کرد؟؟!!

با تشکر

SlowCode
چهارشنبه 06 آذر 1392, 10:37 صبح
سلام
به جای Null از vbNull استفاده کن.
اگه باز هم جواب نداد طول مقدار فیلد رو مقایسه کن.

If Len(Adodc1.Recordset.Fields("Field1"))=0 Then

mostafag
چهارشنبه 06 آذر 1392, 10:56 صبح
تشکر ولی هیچکدوم جواب نداد!!

در مورد Len هم زدم ولی وقتی موقع اجرا مقادیرو نگا میکنم کلا جلوش مینویسه Null و چون صفر نیست اصلا داخل IF نمیره!!

SlowCode
چهارشنبه 06 آذر 1392, 11:14 صبح
کد بالایی یه اشتباه کوچیک داشت که اصلاحش کردم. دوباره تست کن.
Null یعنی خالی پس len اون صفر میشه.

mostafag
چهارشنبه 06 آذر 1392, 11:21 صبح
به کل جواب نمیده!!

فک نکنم وقتی مقدار Null باشه اصلا طولی در کار باشه! من الان موندم چرا همون کد اولی که خودم نوشته بودم جواب نمیده. آخه یه If خیلی سادست دیگه!! چرا نباید وقتی شرط درسته دستورات رو اجرا نکنه؟!؟!

کلا الان گیج شدم چطوریه قضیه که عمل نمیکنه.

jafar_ho
پنج شنبه 07 آذر 1392, 20:44 عصر
با سلام
منم این مشکلو داشتم که حل شد شکر خدا!
If IsNull(Adodc1.Recordset.Fields("Field1").value) Or ...

m.4.r.m
پنج شنبه 07 آذر 1392, 21:02 عصر
چک کردن مقدار Null در دیتابیس SQL جواب میده اما در اکسس باید یا با Empty چک کنی با "" در غیر اینصورت اگر خالی باشه در برنامه باید به صورت دستی مقدار فیلد رو از طریق کد نویسی Null بزاری که بتونه برات پیدا کنه .