11-06-2012, 15:15
(En son düzenleme: 12-06-2012, 13:45 furkan_68200.)
Bildiğiniz üzere tabloya kayıt yaptığınız veriler arasında gezinti yapmanızı sağlayan "Gezinti Düğmeleri" vardır.
Normal Geri Butonu:
Normal İleri Butonu:
Kodları böyledir. Buraya kadar normal. Asıl sorun "1.kayıta geldiğinde veya son kayıta geldiğinde" ileri-geri butonlarına basıldığında
Bu kolay bir sorundur. Fakat kullanıcı için kötü bir durumdur.
Bu durumun en kolay düzeltilmesi de ekteki örnekte. 
Örneğimde uyguladığım mantık şu:
Önceki Butonunun Yeni Mantığı: Eğer verilen kaydın "id numarası"/Otomatik Sayısı 1 ise beni en son kayıta götür.
Bunuda şu şekilde yapabiliriz..
Sonraki butonunun mantığı ise şöyle:
Bunun için öncelikle kaç kaydın olduğunu bilmem için bir metin kutusu daha eklemem gerekiyor..
Say adlı kutunun "Denetim Kaynağına"
yazdım. Yani Say adlı metin kutusu bana kaç tane kayıt olduğunu gösterdi.
Şimdi sonraki butonunun koduna geçtim.
Eğer "İd numara/otomatik sayı" Say'a eşitse ilk kayda götür.Değilse ileriki kayıta götür.
Bunuda şöyle yapabiliriz:
Normal Geri Butonu:
Visual Basic
- DoCmd.GoToRecord , , acPrevious
Normal İleri Butonu:
Visual Basic
- DoCmd.GoToRecord , , acNext
Kodları böyledir. Buraya kadar normal. Asıl sorun "1.kayıta geldiğinde veya son kayıta geldiğinde" ileri-geri butonlarına basıldığında
Alıntı: Run-Time Error: '2105':hatasının yada
Alıntı: MsgBox olarakuyarısının gelmesidir.
Belirtilen Kayda Gidemezsin
Bu kolay bir sorundur. Fakat kullanıcı için kötü bir durumdur.
Bu durumun en kolay düzeltilmesi de ekteki örnekte. 
Örneğimde uyguladığım mantık şu:
Önceki Butonunun Yeni Mantığı: Eğer verilen kaydın "id numarası"/Otomatik Sayısı 1 ise beni en son kayıta götür.
Bunuda şu şekilde yapabiliriz..
Visual Basic
- If Me.Id.Value = "1" Then
- DoCmd.GoToRecord , , acLast
- Else
- DoCmd.GoToRecord , , acPrevious
- End If
Sonraki butonunun mantığı ise şöyle:
Bunun için öncelikle kaç kaydın olduğunu bilmem için bir metin kutusu daha eklemem gerekiyor..
Say adlı kutunun "Denetim Kaynağına"
Kod:
=Say([Id])Şimdi sonraki butonunun koduna geçtim.
Eğer "İd numara/otomatik sayı" Say'a eşitse ilk kayda götür.Değilse ileriki kayıta götür.
Bunuda şöyle yapabiliriz:
Visual Basic
- If Me.Id.Value = Me.say.Value Then
- DoCmd.GoToRecord , , acFirst
- Else
- DoCmd.GoToRecord , , acNext
- End If
Alıntı: Bilgi: Bu kodlarda olan "Id" ve "Say" ı kendinize göre değiştirin.
Benimkisi sadece mantık. Örnekte ekte.
İleri-Geri Butonu Düzenlemesi.rar (Boyut: 16,13 KB / İndirilme: 151)
Karşılaştırın..
Ayrıca ileri-geri butonlarının bu benim yaptığım düzenleme ile "Yeni Kayıt" yapılması da engellenmiş oldu birnevi..


) çözümünüz için teşekkürler.

