Kod İle Verilen Otomatik No Değişmesin

22/03/2020, 06:14

Oğuz Türkyılmaz

Merhaba F_GelirListesi Formunda ID alanında çift tıklama ile ilgili kaydı ekrana getirdiğimde Form Tarih alanı üzerinde odaklanmış olarak açılıyor. Ben eğer fare ile Makbuz No alanı dışında güncellemek istediğim bir alan varsa onun üstüne tıklayıp değişiklik yaptığımda MakbuzNo alanındaki değer yazılı kodun gereği değişmeden kaydedip çıkabiliyorum. Fakat eğer Enter tuşu ile işlemi gerçekleştirirsem Kod gereği 4 nolu kaydın değeri GM-4 yeni no değeri alarak GM-11 oluyor.
MakbuzNo alanının Etkin olma özelliğini Hayır yapmadan ( Çok elzem bir durumda değiştirilebilsin Kontrol kullanıcının elinde olsun diye) çeşitli olay yordamlarında denememe rağmen Makbuz No alanının değerinin değişmesini engelleyemedim. Bu yüzden Kodla form açıldığında eğer bu alandaki değer 0 dan büyükse MakbuzNo alanındaki numarayı değiştirmeden GelirTürü alanına git demeyi beceremedim. Kod yazmadan yada kod ile en basit çözüm nasıl üretilebilir. Teşekkürler


b-

c-



Private Sub MakbuzNo_TXT_Enter()


If MakbuzNo_TXT.Value > 0 Then

'If MsgBox("Makbuz Numarasi Değiştirilecek , Onaylıyormusunuz ", vbExclamation + vbYesNo, "Dikkat") = vbNo Then Exit Sub


End If


End Sub

Private Sub MakbuzNo_TXT_Exit(Cancel As Integer)

MakbuzNo_TXT = "GM-" & Nz(DMax("clng(mid(MakbuzNo,4))", "T_HesapHareketleri"), 0) + 1

End Sub
22/03/2020, 11:17

berduş

Oğuz bey yazılan koda göre makbuz alanından çıkınca değer otomatik olarak geliyor, her hangi bir kontol yok ki eğer boşsa bu değer olsun doluysa değiştirme diye
22/03/2020, 12:13

Oğuz Türkyılmaz

(22/03/2020, 11:17)berduş yazdı: Oğuz bey yazılan koda göre makbuz alanından çıkınca değer otomatik olarak geliyor, her hangi bir kontol yok ki eğer boşsa bu değer olsun doluysa değiştirme diye


If
MakbuzNo_TXT.Value > 0 Then  bu kod ve benzerleri ile kontrolu sağlamaya çalıştım ama tamamını getiremedim. Dlookup la değeri alıp ordan kontrol ettirmeye çalışıyorum şu anda. Başka bir yöntem varsa sadece adını söyleyin ordan denemelere devam ederim.Teşekkürler.
22/03/2020, 12:16

berduş

If MakbuzNo_TXT.Value > 0 bu kod metin girişinde kontrol amaçlı var çıkşta kontrol yok otomatik olarak değer atama var
22/03/2020, 21:24

Oğuz Türkyılmaz

İstediğim  sonucu bu şekilde aldım. Mesaj Verdirip Numarayı değiştirmek isterse gerçekleştirsin diye düşünüyordum ama iyice düşününce numara değiştirilebilmesi sakınca doğuracaktır diye vazgeçtim. Teşekkürler.


Private Sub MakbuzNo_TXT_Exit(Cancel As Integer)


If IsNull(Me.MakbuzNo_TXT) Or Me.MakbuzNo_TXT = "" Then

MakbuzNo_TXT = "GM-" & Nz(DMax("clng(mid(MakbuzNo,4))", "T_HesapHareketleri"), 0) + 1

Else

'MsgBox("Makbuz Numarasi Deðiþtirilecek , Onaylýyormusunuz ", vbExclamation + vbYesNo, "Dikkat") = vbNo

End If
End Sub