Stok Kontrolu

esnaf88

Altın Üye
Katılım
12 Mayıs 2005
Mesajlar
14
Altın Üyelik Bitiş Tarihi
31-01-2026
Merhaba,
Arkadaşlar, öncelikle www.excel.web.tr olmak üzere değişik kaynaklardan faydalanarak VBA kodlama öğrenmeye çalışıyorum. Değişik denemeler yaptığım bir dosyam var. Dosyayı aşağıya ekledim. Bu dosyada stok kontrolu yapmak istiyorum.
Bunu da şu şekilde basitçe yapmak istiyorum: Satış Kayıt Userformunda, txtsatismiktar isimli TextBox’a girdiğim değer ile txtsatistopmiktar isimli TextBox’da yazılı değer toplansın, txtalistopmiktar isimli TextBox’da yazılı değerden çıkarılsın. Kalan miktar Sıfır’dan (0) küçükse mesajbox “Stok yetersiz” uyarısı verip, exit ile yordamdan çıksın ve txtsatismiktar isimli kutucuğu da boşaltsın. Bu kodu txtsatismiktar isimli Textbox’un exit yordamı altına yazmak istiyorum.
Farklı şekillerde denedim değişik hatalar oldu. Bu konuda yardımcı olacak arkadaşlara şimdiden teşekkür ederim.
İyi çalışmalar.
 

Ekli dosyalar

Katılım
11 Temmuz 2024
Mesajlar
254
Excel Vers. ve Dili
Excel 2021 Türkçe
TextBox'ının Exit olayına şu kodu ekleyip sonucu paylaşabilir misiniz;

Kod:
Private Sub txtsatismiktar_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim satismiktar As Double
    Dim satistopmiktar As Double
    Dim alistopmiktar As Double
    Dim kalanstok As Double
    
    If Trim(txtsatismiktar.Text) = "" Then
        Exit Sub
    End If
    
    If Not IsNumeric(txtsatismiktar.Text) Then
        MsgBox "Lütfen geçerli bir sayı giriniz.", vbExclamation
        txtsatismiktar.Text = ""
        txtsatismiktar.SetFocus
        Cancel = True
        Exit Sub
    End If
    
    satismiktar = Val(txtsatismiktar.Text)
    satistopmiktar = Val(txtsatistopmiktar.Text)
    alistopmiktar = Val(txtalistopmiktar.Text)
    satistopmiktar = satistopmiktar + satismiktar
    kalanstok = alistopmiktar - satistopmiktar
  
    If kalanstok < 0 Then
        MsgBox "Stok yetersiz!", vbExclamation
        txtsatismiktar.Text = ""
        txtsatismiktar.SetFocus
        Cancel = True
        Exit Sub
    End If
    
    txtsatistopmiktar.Text = satistopmiktar
End Sub
 

esnaf88

Altın Üye
Katılım
12 Mayıs 2005
Mesajlar
14
Altın Üyelik Bitiş Tarihi
31-01-2026
Teşekkürler.
Gönderdiğiniz kod işe yarıyor. Yalnız bir yerde bir sorun çıktı, şöyleki;
txtsatismiktar kutucuğuna yazdığım değer diyelimki toplam stok değerini geçiyor ve mesaj uyarısından sonra kutucuk boş değer alıyor, fakat txtsatistopmiktar kutucuğunda topanan miktar değeri eski haline dönmüyor. Bu yüzden miktar değerini yeniden girebilmek için txtsatistopmiktar kutucuğunu sıfırlayıp yeniden miktar girmek gerekiyor.
İyi çalışmalar.
 
Katılım
11 Temmuz 2024
Mesajlar
254
Excel Vers. ve Dili
Excel 2021 Türkçe
Kodu şu şekilde güncelleyip dener misiniz;

Kod:
Private Sub txtsatismiktar_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim satismiktar As Double
    Dim satistopmiktar As Double
    Dim alistopmiktar As Double
    Dim kalanstok As Double
    Dim oncekiToplamMiktar As Double
    
    If Trim(txtsatismiktar.Text) = "" Then
        Exit Sub
    End If
    
    If Not IsNumeric(txtsatismiktar.Text) Then
        MsgBox "Lütfen geçerli bir sayı giriniz.", vbExclamation
        txtsatismiktar.Text = ""
        txtsatismiktar.SetFocus
        Cancel = True
        Exit Sub
    End If
    
    satismiktar = Val(txtsatismiktar.Text)
    satistopmiktar = Val(txtsatistopmiktar.Text)
    alistopmiktar = Val(txtalistopmiktar.Text)
    
    oncekiToplamMiktar = satistopmiktar
    satistopmiktar = satistopmiktar + satismiktar
    kalanstok = alistopmiktar - satistopmiktar
 
    If kalanstok < 0 Then
        MsgBox "Stok yetersiz!", vbExclamation
        txtsatismiktar.Text = ""
        ' Toplam miktarı eski değerine geri döndür
        txtsatistopmiktar.Text = oncekiToplamMiktar
        txtsatismiktar.SetFocus
        Cancel = True
        Exit Sub
    End If
    
    txtsatistopmiktar.Text = satistopmiktar
End Sub
İyi çalışmalar.
 

esnaf88

Altın Üye
Katılım
12 Mayıs 2005
Mesajlar
14
Altın Üyelik Bitiş Tarihi
31-01-2026
Çok teşekkür ederim. Şimdi sıkıntısız çalıştı.
Ben biraz daha eklemeler yaptım kodlara. Yukarıdaki kodlar alınan ve satılan ürünlerde herhangi bir ayrım yapmadan toplam miktarı hesaplayıp kontrol ediyordu. Ben ürün adı ve ürün türüne göre toplam miktarları hesaplatan yordamlar ekledim.
Dosyanın son halini ektedir.

Katkılarınız için teşekkür ederim.
İyi çalışmalar.
 

Ekli dosyalar

Katılım
11 Temmuz 2024
Mesajlar
254
Excel Vers. ve Dili
Excel 2021 Türkçe
Ben teşekkür ediyorum, iyi çalışmalar.
 
Üst