Değer girmeden kaydı kaydetme

1 2
15/05/2009, 15:19

okileturc

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
15/05/2009, 15:48

Seruz

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.
15/05/2009, 15:52

okileturc

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
15/05/2009, 15:58

Seruz

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.
15/05/2009, 16:01

okileturc

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ı
15/05/2009, 16:14

Seruz

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
1 2