Arkadaşlar,
Bir kayıt formunda üç adet denetim var ve hepsinde varsayılan bir değer
var. Varsayılan değerlerin yeterli olduğu durumda ( yeni bir değer girmeden )
"Enter" ile kayıt etmesini istiyorum ( buton veya check box kullanılmayacak , sadece enter dan sonra kaydı kaydetip alt satıra geçmesini istiyorum
Yardımlarınız için tşk
Sadece 1. denetim'de Tab Stop olsun, diğerlerini no yapın.
Böylece enter'a bastığında, diğer denetimlere uğramadan direkt kaydetmesi lazım.
1.Denetim'in after update'ine bir kontrol koyup,
bu alandaki değer değiştirilmişse, 2.denetime setfocus yapın.
Aynı şekilde 2.Denetim'in after update'ine bir kontrol koyup,
bu alandaki değer değiştirilmişse, 3.denetime setfocus yapın.
Örnek olmadığı için deneyemedim ama sürekli form olduğunu varsayarak,
mantıken böyle yapılabiliyor olması lazım.
Tam da problemim bu yeni veri girmediğim zaman ( tüm alanlarda
varsayılan değerler var ) default verileri yeterli gördüğümde enter la
cursor satırda geziyor ne kayıt ediyor ne de alt satıra geçiyor
ben "enter" eylemine kayıt et ve yeni kayda git diyebilrimiyim
Tşk
Hocam haklısınız örnek ekledim
3 alanın da varsayılan değeri "ok"
ben yeni bir değer girmezsem enter satırda geziyor
oysa ben ilk enter dan sonra kayıt etsin istiyorum
Dediğim şekilde denediniz mi?
Olmadıysa, sizin de bildiğiniz gibi, sadece o formu ve ilgili tabloyu yeni bir mdb'ye aktarın ve gönderin.
Öyle bir bakalım.
gönderdim hocam, üzgünüm
İlave not : elbette satıra bir buton koyup kaydı kaydet
diyebiliriz ancak bunu kasadaki kişi kullanıyor ve klavyeden mouse a
geçtiği için vakit kaybediyor
resimdeki gibi
Nakit default
Banka "0 Boş" default
ve Tutar fişlerden okunup geldiği
için o da bir anlamda default
şimdi kasiyer hiç bir yeni veri girmeden
enter la kaydedip geçmeli
Bu da pratik açıklaması
Denetimlerdeki Default value olayını kaldırıp, koda koydum.
Alan2 ve Alan3'ün tab stop'unu kaldırdım.
Aslında alanın değişip değişmediğini .oldvalue ile yapmıştım ama
if de false oluyor nedense, "Ok" ile kontrol ettim mecburen.
Kod:
Private Sub ALAN1_AfterUpdate()
If Me.ALAN1.Value <> "Ok" Then
Me.ALAN2.SetFocus
End If
End Sub
Private Sub ALAN2_AfterUpdate()
If Me.ALAN2.Value <> "Ok" Then
Me.ALAN3.SetFocus
End If
End Sub
Private Sub Form_Current()
If Me.NewRecord Then
Me.ALAN1 = "Ok"
Me.ALAN2 = "Ok"
Me.ALAN3 = "Ok"
End If
End Sub