• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Stoktan çıkış hatası

Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
Herkese iyi günler...

Daha önce burada yayınlanmış bir stok programını alarak kendime özel bir çok değişiklik yaparak kullanmaya başladım ama stoktan çıkışta stok mevcudum yeteri kadar olmasına rağmen çıkış yapmamakta.

Örneğin 3110-27-000-8563 stok numaralı malzemenin depo mevcudu 113 adet olmasına rağmen ben 2 tane çıkarken belirlemiş olduğum kritere göre bana çıkış yaptırmıyor{TextBox7(çıkılacak miktar) > TextBox5(depo mevcudu)} .
Bu sorun çok olmasada azımsanamayacak kadar hata olarak karşıma çıkmakta.
Bu sorunun neden kaynaklandığını hala bulamadım. Malzeme çıkışında kullandığım kodlarda aşağıdada kalın fontlu yaptığım kısma ve programada bakarsanız hatayı göreceksiniz.

Şimdiden herkese teşekkür ederim...

Kod:
Private Sub CommandButton101_Click()
Dim sat As Integer
'*****listbox seçili değilse uyar
If ListBox1.ListIndex < 0 Then
MsgBox "LİSTEDEN ÜRÜN SEÇMELİSİNİZ. BUNUN İÇİN İŞLEM YAPMAK İSTEDİĞİNİZ ÜRÜNÜN ÜZERİNE TIKLAYINIZ.", vbInformation
Exit Sub: End If
[B][COLOR="Red"]If TextBox7 > TextBox5 Then
MsgBox "STOKTA BULUNAN I. DURUM MEVCUDUNDAN FAZLA ÇIKIŞ YAPAMAZSINIZ...", vbCritical[/COLOR][/B]TextBox7.Value = ""
TextBox7.SetFocus
Exit Sub: End If
[COLOR="red"][B]If TextBox8 > TextBox6 Then
MsgBox "STOKTA BULUNAN H.E.K.'TEN FAZLA ÇIKIŞ YAPAMAZSINIZ...", vbCritical[/B][/COLOR]TextBox8.Value = ""
TextBox8.SetFocus
Exit Sub: End If
If TextBox7.Value = "" And TextBox8.Value = "" Or ComboBox1.Value = "" Or TextBox10.Value = "" Or ComboBox2.Value = "" Or TextBox12.Value = "" Then
MsgBox "LÜTFEN GEREKLİ BİLGİLERİ YAZINIZ.", vbInformation
TextBox7.SetFocus
Exit Sub
Else
'*****değişecek verileri döngü ile kontrol et
Sheets("DEPO").Select
For sat = 2 To Cells(65536, "a").End(xlUp).Row
If Cells(sat, "a") Like ListBox1.Column(0) Then
Cells(sat, "D") = Cells(sat, "D") - Val(TextBox7)
Cells(sat, "E") = Cells(sat, "E") - Val(TextBox8)
Cells(sat, "F") = CDbl(Cells(sat, "D").Value + (Cells(sat, "E").Value))
End If: Next
Sheets("ÇIKIŞ").Select
[b65536].End(xlUp).Select
    ActiveCell.Offset(1, 0).Value = CDate(TextBox12.Value)
    ActiveCell.Offset(1, 1).Value = TextBox2
    ActiveCell.Offset(1, 2).Value = TextBox3
    ActiveCell.Offset(1, 3).Value = TextBox4
    ActiveCell.Offset(1, 4).Value = Val(TextBox7) + Val(TextBox8)
    ActiveCell.Offset(1, 5).Value = ComboBox1
    ActiveCell.Offset(1, 6).Value = TextBox10
    ActiveCell.Offset(1, 7).Value = ComboBox2
    
Sheets("DEPO").Select
'değişim sonu textleri temizle
TextBox2 = Empty: TextBox3 = Empty: TextBox4 = Empty: TextBox5 = Empty: TextBox6 = Empty: TextBox7 = Empty: TextBox8 = Empty:
'***** listboxu yenile
TextBox1 = ".": TextBox1 = ""
MsgBox "STOKTAN BAŞARI İLE ÇIKIŞ YAPILDI..!!", vbOKOnly + vbInformation, "ÇIKIŞ"
End If
End Sub
 

Ekli dosyalar

textbox kutuları içindeki veriler text(Metin) verilerdir.Onları direk sorgularsanız veya excel sayfasına atarsanız verileriniz metin olrak algılanır ve eğer sorgu yapıyorsanız metin sorgusu yapılır,yok eğer ecel sayfasına atıyorsanız metin olarak kaydedilir.
Ben aşağıda yaptığınız sorgulamada bir tanesi için örnek sayısal bir sorgolama yaptım.Diğerleri için düzeltiniz.:cool:
Kod:
If [B][COLOR="Red"]cdbl(TextBox7.text)[/COLOR][/B] > [B][COLOR="red"]cdbl(TextBox5.text)[/COLOR][/B] Then
aşağıdaki kodda ise val fonksiyonunu kullanmışsınız.Bu fonksiyon eskiden kalma(Qbasic zamaınından) bu fonksiyon ingilizce desimal noktaları değerlendiri.diğer durumlarda ya tam sayı olarak alır yada başka bir değer üretir.
Ben yazdığım mesajlarda bu durumu sürekli belirtiyorum.
Nedense çoğu zaman dikkate alınmıyorum.
Böyle oluncada işte bu gibi durumlar oluşuyor.Aşağıdaki kırmızı kodlarda değişikliği yaptım.Sizde o şekilde düzenleme yapınız.:cool:
Yanlış:
Kod:
Cells(sat, "D") = Cells(sat, "D") - Val(TextBox7)
Cells(sat, "E") = Cells(sat, "E") - Val(TextBox8)
Doğru:
Kod:
Cells(sat, "D") = Cells(sat, "D") - [B][COLOR="red"]cdbl(TextBox7.text)[/COLOR][/B]
Cells(sat, "E") = Cells(sat, "E") - [B][COLOR="red"]cdbl(TextBox8.text)[/COLOR][/B]
 
Açıkcası hiç dikkat etmediğim bir hatırlatmada bulundunuz. Yaptığınız yardımlar ve bilgi paylaşımınız için ne desem yeterli gelmez ama ben yine de teşekkürü borç bilerek teşekkür ederim. Saygılarla...
 
Geri
Üst