AccessTr.neT
Textbox ın içini kod ile boşalttıktan sonra hata veriyor - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Textbox ın içini kod ile boşalttıktan sonra hata veriyor (/konu-textbox-in-icini-kod-ile-bosalttiktan-sonra-hata-veriyor.html)

Sayfalar: 1 2


Textbox ın içini kod ile boşalttıktan sonra hata veriyor - raham - 19/02/2013

Merhabalar,

Sn ÖzGüR YaSiN in yönlendirmesi ile ilk ADO denememi yapıyorum. (Verinin kontrolü açısından süper bir şeymişImg-grin

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.


Cvp: Textbox ın içini kod ile boşalttıktan sonra hata veriyor - alpeki99 - 19/02/2013

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.


Cvp: Textbox ın içini kod ile boşalttıktan sonra hata veriyor - raham - 19/02/2013

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.


Cvp: Textbox ın içini kod ile boşalttıktan sonra hata veriyor - alpeki99 - 19/02/2013

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.


Cvp: Textbox ın içini kod ile boşalttıktan sonra hata veriyor - raham - 19/02/2013

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


Cvp: Textbox ın içini kod ile boşalttıktan sonra hata veriyor - alpeki99 - 19/02/2013

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.