AccessTr.neT

Tam Versiyon: Alan kontrolünde IsNull, Len ve Trim fonksiyonlarının kullanımı.
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
Merhaba arkadaşlar;
Ekli dosyadaki örnekte değer girilecek alanlar boş (IsNull) yada karakter sayısı sıfır ise (LEN(Trim(Me.KontrolAdi)=0) ise uyarı vermesini değil ise kodların geri kalanında ne yazıyorsa işlemesini istiyorum.
Örnekte, "OR" kullanımında mı hata yapıyorum bilmiyorum ama bütün alanlar dolu iken bile hep uyarı vermektedir.
Örnekteki gibi tek if yapısı ile alanların boş-dolu kontrolünü yapabilmem için bilgilerinizi rica ederim.
Mümkünse nerede hata yaptığımı da bir iki cümle ile yazarsanız çok sevinirim.
Teşekkürler.
İyi akşamlar.
selamlar
If IsNull(Me.Adi) Or Len(Trim(Me.Adi)) = 0 şeklinde yazmalısınız. Ayrıca her bir denetim için ayrı bir kontrol kodu yazmanızı öneririm. Örnekte bir önemi olmasa bile şekilde alışmanız ileri seviyeleriniz açısından sağlıklı olacaktır.
Saygılar
Merhaba Fatih Hocam;
Dediğiniz gibi her metin kutusu için ayrı ayrı bir if bloğu içinde
If IsNull(Me.Adi) Or Len(Trim(Me.Adi)) = 0 şeklinde yazdım yine tüm alanlar dolu olmasına rağmen uyarı veriyor.

tabi metin kutularının adlarını değiştirerek yazdım..hepsine yukardakini yazmadım.
Parantezler hatalı... Aşağıdaki gibi yapınız....


Private Sub Komut9_Click()

If (IsNull(Me.Adi) Or Len(Trim(Me.Adi)) = 0) Or _
(IsNull(Me.Soyadi) Or Len(Trim(Me.Soyadi)) = 0) Or _
(IsNull(Me.Email) Or Len(Trim(Me.Email)) = 0) Then

MsgBox "lütfen tüm alanları doldurunuz..!"

Exit Sub
End If

DoCmd.GoToRecord , , acNewRec

End Sub
Hocam çok teşekkür ederim. Sorunum çözülmüştür.
Biz acemiler kafayı yesin diye mi bu VB editörünün hata denetimini daha güçlü yapmıyorlar acaba?
Saygılarımla.
Syntax olarak ( Yani Vba dizilimi ) olarak aç/kapa parantezler uyuştuğu için Vba compiler bu hatayı göremez. Bu gibi durumlarda değerleri Msgbox kullanarak yazdırırsanız doğru sonuca gidersiniz...
Sayfalar: 1 2