Textbox ın içini kod ile boşalttıktan sonra hata veriyor

1 2
19/02/2013, 03:19

raham

Merhabalar,

Sn ÖzGüR YaSiN in yönlendirmesi ile ilk ADO denememi yapıyorum. (Verinin kontrolü açısından süper bir şeymiş
Textbox ların içini
Me.Textbox= ""
kodu ile boşaltıyorum. Bu işlemden sonra değişkenin taşıdığı verinin uyumsuz tür olduğunu ayrıca kaydet olayındaki boş alan kontrolünü de atladığını fark ettim.

Örneğimde ilk olarak "Kaydet Butonunu Aç" diyip işlem yaparsam sorun yok (Tabi böle bir buton ilerde olmayacak farkı anlamamız için şimdilik ekledim).
"Yeni" butonunu tıklayıp alanları boşaltılınca bahsettiğim sorunlar başlıyor.

SiteApartmanYönetim örneğini inceledim ama şimdilik bana çok karışık geldi.
19/02/2013, 09:59

alpeki99

Sadece IsNull kontrolü yapmayın şu şekilde deneyin:


If IsNull(me.Tarih) or me.Tarih = "" Then
MsgBox "Alan boş bırakılamaz"
exit sub
End If

Boş alan kontrolünden sonra kodun alttan devam etmemesi için mutlaka Exit Sub ile kod akışını kesin.
19/02/2013, 14:06

raham

Sn alpeki99

Söylediğiniz kontrolleri yaptım ilk aşamayı hallettik, teşekkürler.

Sorumda da anlattığım gibi içini boş boşalttığım alan sadece tablodaki metin biçimlerini taşıyor, diğer türlerde (tarih, saat, sayı ...) hata veriyor.
değişken biçimi tanımım damı bir sorun var acaba. İçini boşaltmaz isem çalışıyor çünkü.

Program düzeltildikçe güncel halini de ekliyorum, yararlanmak isteyenler olabilir.
19/02/2013, 14:16

alpeki99

Aslında içini boşaltmıyorsunuz. Yaptığınız şey normalde Tarih olan bir alana String türde olan "" değerini atıyorsunuz. Tabloya kaydetmek istediğinizde tablo Tarih türünde formdaki alan ise string türde olduğundan hata alıyorsunuz.
19/02/2013, 15:42

raham

Anladım peki ne tavsiye edersiniz, metin kutularının icini temizlemenin baska bir yontemi var mıdır. Tum tabloyu metin bicimine cevirmek de istemiyorum ama en dogru yontem ne ise onu yaparım
19/02/2013, 17:08

alpeki99

Nz(ilgiliAlan, Now())

gibi bir komutla o alan boş ise tarih değerini kaydedebilirsin.

İkinci bir gizli kutu koyup asıl değeri o alanı VT na kaydedebilirsin.

VT da alanı Metin türü yapıp Tarih olarak kullanmak istediğin zaman
DateValue("tablodan gelen string değer")
ile tarih formatına çevirebilirsin.
1 2