Skip to main content

AccessTr.neT


Sorgudaki değişime göre formda uyarı vermek

Sorgudaki değişime göre formda uyarı vermek

#1
Merhaba Arkadaşlar,
Ekte göreceğiniz veritabanımın f_safust formunda, satınalma ve sarf kalemlerinin arasındaki farkı alan, dolayısıyla stokları gösteren bir liste kutusu mevcut.
Bu liste kutusunu çift tıkladığımız anda, ilgili kalitenin detayları sarf bölümüne aktarılarak, sarf edilen miktarın girilmesi isteniyor. Bu girilen miktar stok miktarından düşülerek listekutusunda gösteriliyor.
Benim yapmak istediğim stok miktarını eksi haneye düşürebilecek (yani stokta 1000adet bulunmakta iken 1001 adet giriş yapıldıktan sonra -1 olmasına neden olacak) kayıtların girilmesi halinde, msgbox ile bir uyarı yazdırmak. Bu sayede stokta bulunandan fazlasının sarf edilme yanlışlığının önüne geçebilmek istiyorum.

Yardımlarınız için şimdiden teşekkür ederim.
İyi günler.
.rar aksesuar3_sldMB.rar (Dosya Boyutu: 66,49 KB | İndirme Sayısı: 5)
Cevapla
#2
ekteki program mehmet demiral hocanın  inceleyiniz sanırım ihtiyaclarınıza cevap verebilecek bir prg  artı eksi butonlarındaki kodlar işinize yarayacaktır kolay gelsin
.rar stok düş mdemiral.rar (Dosya Boyutu: 320,53 KB | İndirme Sayısı: 6)
Cevapla
#3
Teşekkürler Simendifer,
Hocanın örneğini inceledim, fakat orada stok kontrolünü form ve tablo üzerinden yapıyor. Benim örneğimde ise, gruplanmış veriler üzerinden yapması lazım. Forms!listbox.column(1) den mesela. Benim çözemediğim ise bu söz konusu sütunun hangi satıra ait olacağını hangi kodla belirteceğim. Where ile mi yapacağım? öyle yapacaksam hangi kriterleri eşleştireceğim. Sorum bu malesef. Yine de teşekkürler ilgilendiğin için.
Cevapla
#4
f_sarfalt isimli alt formun kayıt kaynağını aşağıdaki ile değiştir.


Visual Basic Code
SELECT *, [sarf_kalite] & "-" & [sarf_tip1] & "-" & [sarf_tip2] & "-" & [sarf_tip3] & "-" & [sarf_ebat] & "-" & [sarf_renk] & "-" & [sarf_fiyat] & "-" & [sarf_dovtip] & "-" & [sarf_not] AS GSarfKriter  FROM sarf; 

f_sarfalt isimli alt formdaki sarf_adet metin kutusunun güncelleştirme sonrasında olayındaki kodu aşağıdaki ile değiştir.


Visual Basic Code
Dim GStokMiktari, GSarfMiktari As Integer

GStokMiktari = DLookup("Fark", "srg_sonuc", "GSatinAlmaKriter='" & Me.GSarfKriter & "'")
GSarfMiktari = Me.sarf_adet

If GSarfMiktari > GStokMiktari Then
    MsgBox ("Stok Miktarından Daha Fazla Sarf miktarı Girdiniz." & Chr(13) & Chr(10) & "Stok Miktarı :" & GStokMiktari & ", Sarf Miktari: " & GSarfMiktari)
    Me.Undo
    Exit Sub
Else
    [Forms]![f_sarfust].Requery
    Forms!f_sarfust.Form!Listekutusu.Requery
End If



Ayrıca, üst formdaki liste kutusunun çift tıklandığında olayındaki kodun en altına aşağıdaki kodu eklersen liste kutusuna çift tıkladığında alt formda son kayda gider.


Visual Basic Code
 Me.f_sarfalt.SetFocus
    DoCmd.GoToRecord , , acLast
    [f_sarfalt].Form![sarf_adet].SetFocus
"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla
#5
Mükemmelsiniz Ozay Bey, çok teşekkürler. Tam istediğim gibi oldu.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task