AccessTr.neT

Tam Versiyon: Textboxlardan Veri Hesaplanıyor Ama Boş Olduğunda Hata Alıyorum
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Merhaba;

Sorunum şu; textboxlardan dört işlem yapıyorum ama bazı durumlarda bu alanların boş kalması gerekiyor. Boş olduğunda da hata alıyorum. Boş olsa da hesaplama yapmadan devam etmesini istiyorum. Kaydet buton kodları aşağıdaki gibidir.
Yardımlarınızı rica ederim.



Private Sub btnKaydet_Click()

If txtStokAdi = "" Or cbTedarikci = "" Or cbBirim = "" Or txtGirisAdet = "" Then

MsgBox "Yeni stok kartı için istenilen tüm bilgilerin yazılması gerekmektedir."
Exit Sub

End If

stokDurumSS = Sheets("Stok_Durum").Range("A10000").End(xlUp).Row + 1
stokHareketSS = Sheets("Stok_Hareket_Durumu").Range("A100000").End(xlUp).Row + 1

Sheets("Stok_Durum").Range("A" & stokDurumSS) = txtID.Text
duzenlistok = Replace(txtStokAdi, "i", "İ")
duzenlistok = Replace(duzenlistok, "ı", "I")
Sheets("Stok_Durum").Range("B" & stokDurumSS) = UCase(duzenlistok)
Sheets("Stok_Durum").Range("C" & stokDurumSS) = cbTedarikci.Text
Sheets("Stok_Durum").Range("D" & stokDurumSS) = cbBirim.Text
Sheets("Stok_Durum").Range("E" & stokDurumSS) = CDbl(FormatNumber(txtGirisAdet.Value, 2))
Sheets("Stok_Durum").Range("G" & stokDurumSS) = CDbl(FormatNumber(txtGirisAdet.Value, 2))
Sheets("Stok_Durum").Range("H" & stokDurumSS) = Now
Sheets("Stok_Durum").Range("I" & stokDurumSS) = cmb_Kategori.Text
Sheets("Stok_Durum").Range("J" & stokDurumSS) = txt_Ebat.Text
Sheets("Stok_Durum").Range("L" & stokDurumSS) = txt_Urun_Kodu.Text
Sheets("Stok_Durum").Range("M" & stokDurumSS) = txt_Koli_Adet.Text
Sheets("Stok_Durum").Range("N" & stokDurumSS) = txt_Koli_Ebat.Text
Sheets("Stok_Durum").Range("O" & stokDurumSS) = Sheets("Stok_Durum").Range("E" & stokDurumSS) * Sheets("Stok_Durum").Range("Q" & stokDurumSS)
Sheets("Stok_Durum").Range("P" & stokDurumSS) = (txt_Boy.Value * Txt_En.Value) / 1000000
Sheets("Stok_Durum").Range("Q" & stokDurumSS) = txt_Tabaka_Kg.Text
Sheets("Stok_Durum").Range("R" & stokDurumSS) = txt_Tabaka_Kg.Value / Sheets("Stok_Durum").Range("P" & stokDurumSS)
Sheets("Stok_Durum").Range("S" & stokDurumSS) = txt_Boy.Text
Sheets("Stok_Durum").Range("T" & stokDurumSS) = Txt_En.Text
Sheets("Stok_Durum").Range("U" & stokDurumSS) = txt_Metrekare_Gram.Text

Sheets("Stok_Hareket_Durumu").Range("A" & stokHareketSS) = "SHID-" & Sheets("Tanimlamalar").Range("D2")
Sheets("Stok_Hareket_Durumu").Range("B" & stokHareketSS) = txtID.Text
Sheets("Stok_Hareket_Durumu").Range("C" & stokHareketSS) = UCase(duzenlistok)
Sheets("Stok_Hareket_Durumu").Range("D" & stokHareketSS) = cbBirim.Text
Sheets("Stok_Hareket_Durumu").Range("E" & stokHareketSS) = "Giriş"
Sheets("Stok_Hareket_Durumu").Range("F" & stokHareketSS) = CDbl(FormatNumber(txtGirisAdet.Value, 2))
Sheets("Stok_Hareket_Durumu").Range("G" & stokHareketSS) = 0
Sheets("Stok_Hareket_Durumu").Range("H" & stokHareketSS) = CDbl(FormatNumber(txtGirisAdet.Value, 2))
Sheets("Stok_Hareket_Durumu").Range("I" & stokHareketSS) = "Yeni Stok Kaydı"
Sheets("Stok_Hareket_Durumu").Range("J" & stokHareketSS) = Now
Sheets("Stok_Durum").Range("I" & stokDurumSS) = cmb_Kategori.Text
Sheets("Stok_Durum").Range("J" & stokDurumSS) = txt_Ebat.Text
Sheets("Stok_Durum").Range("L" & stokDurumSS) = txt_Urun_Kodu.Text
Sheets("Stok_Durum").Range("M" & stokDurumSS) = txt_Koli_Adet.Text
Sheets("Stok_Durum").Range("N" & stokDurumSS) = txt_Koli_Ebat.Text
Sheets("Stok_Durum").Range("O" & stokDurumSS) = Sheets("Stok_Durum").Range("E" & stokDurumSS) * Sheets("Stok_Durum").Range("Q" & stokDurumSS)
Sheets("Stok_Durum").Range("P" & stokDurumSS) = (txt_Boy.Value * Txt_En.Value) / 1000000
Sheets("Stok_Durum").Range("Q" & stokDurumSS) = txt_Tabaka_Kg.Text
Sheets("Stok_Durum").Range("R" & stokDurumSS) = Sheets("Stok_Durum").Range("Q" & stokDurumSS) / Sheets("Stok_Durum").Range("P" & stokDurumSS)
Sheets("Stok_Durum").Range("S" & stokDurumSS) = txt_Boy.Text
Sheets("Stok_Durum").Range("T" & stokDurumSS) = Txt_En.Text
Sheets("Stok_Durum").Range("U" & stokDurumSS) = txt_Metrekare_Gram.Text
Sheets("Tanimlamalar").Range("A2") = Sheets("Tanimlamalar").Range("A2") + 1
Sheets("Tanimlamalar").Range("D2") = Sheets("Tanimlamalar").Range("D2") + 1

MsgBox "Yeni stok kartı oluşturuldu."

Unload Me
frmStokKayit.Show

End Sub
1 - benzeri bir yapı işinize yarayabilir
Me.TextBox3 = IIf(Len(Me.TextBox1 & "") = 0, 0, Me.TextBox1) + IIf(Len(Me.TextBox2 & "") = 0, 0, Me.TextBox2) * 2
2 - metin kutularının başlangıç değerleri 0 yapılabilir
3 - kod bloğunuzun başına on error resume next kod satırı eklenebilir
teşekkürler hocam işime yaradı Img-grin
rica ederim
iyi çalışmalar