Skip to main content

AccessTr.neT


Liste kutusu işlem yapma ekleme silme de sorun

Liste kutusu işlem yapma ekleme silme de sorun

#5
(28/11/2016, 22:07)alpeki99 yazdı: Vb ile kod yazmadan bu işlerin içinden çıkamazsınız. Hatasız, hızlı, versiyonlar arası en az uyum sorunu için Vb kodu şart. Ben size tüm butonlar için örnek kodları yazacağım bunları tecrübe edin, takıldığınız yeri sorun.

Öncelikle liste kutusunun özelliklerinden Veri sekmesi Denetim Kaynağı alanındaki yazıları silmelisiniz. Liste kutusunun değerleri zaten hemen bir alttaki Satır Kaynağı alanındaki Sql sorgusundan geliyor.

Yeni butonunun tıklanma olayı:

Private Sub btn_yeni_Click()

   ' Yeni bir kayıt için hazır ol
   DoCmd.GoToRecord , , acNewRec
   
   ' Ürün grubu yazmak için kutuya odaklan
   Me.mtn_urungrubu.SetFocus

End Sub


Kaydet butonunun tıklanma olayı:

Private Sub btn_ekle_Click()

   ' Kaydet
   DoCmd.RunCommand acCmdSaveRecord
   
   ' Listeyi Yenile
   Me.lst_urungrubu.Requery
   
   ' Yeni bir kayıt için hazır ol
   DoCmd.GoToRecord , , acNewRec
   
   ' Ürün grubu yazmak için kutuya odaklan
   Me.mtn_urungrubu.SetFocus

End Sub


Liste kutusunun tıklanma olayı:

Private Sub lst_urungrubu_Click()

' Kayıtları tutacak bir değişken tanımlıyoruz ve ismine rs diyoruz
Dim rs As Object

 ' rs değişkenine değerleri bu formun kayıtlarını atadık
 Set rs = Me.Recordset.Clone
 
 ' rs içinde formdaki kayıtlar vardı. Bu kayıtlar içinde arama yapacağız ve ilk bulduğumuzu filtreleme için kullanacağız.
 ' Filtrelemek istediğimiz alan adı tablodaki Otomatik Sayı olan alan adı yani Kimlik
 ' Kimlik = liste kutusunda Kimlik değeri hangi sütunda ise o kolonun indeksi
 rs.FindFirst "[Kimlik]=" & Me.lst_urungrubu.Column(0)
 
 ' Eğer son kayıt değilse bu formun bookmarkı ile seçilen kaydın bookmarkı aynı olsun yani kayıt gösterilsin
 If Not rs.EOF Then Me.Bookmark = rs.Bookmark

End Sub


Kayıt silme butonunun tıklanma olayı:

Private Sub btn_sil_Click()

   ' Silme işleminden önce kullancıdan onay isteyelim. Eğer evet butonuna basacak olursa alta dallanacak ve kodları uygulayacak
   If MsgBox("Bu kayıt geri döndürülemeyecek şekilde silinecek." & vbCrLf & vbCrLf & "Bu işlemi yapmak istediğinize emin misiniz?", vbQuestion + vbYesNo, "Uyarı") = vbYes Then
   
       ' Accessin kayıt silme uyarısını pasif yapalım çünkü biz üstteki satırda zaten onay aldık
       DoCmd.SetWarnings False
       
       ' kayıt silme komutu
       DoCmd.RunCommand acCmdDeleteRecord
       
       ' listeyi yenile
       Me.lst_urungrubu.Requery
       
       ' yeni kayıta git
       DoCmd.GoToRecord , , acNewRec
       
       ' ürün kodu yazmak için metin kutusuna odaklan
       Me.mtn_urungrubu.SetFocus
       
       ' kapattığımız uyarıları tekrar aktif ettik
       DoCmd.SetWarnings True
   
   End If

End Sub


Bu şekilde işlemlerinizi gerçekleştirebilirsiniz.

Verdiğiniz örnekleme ve aydınlatıcı tavsiyeler için teşekkür ederim. Bir tane formda denedim hepsini tek tek ufak tefek hatalar verdi ama sonunda mantığı az çok anladım sanırım yada ben öyle umuyorum. Şimdi elimde bir sürü form var ve için için yanıyorum Icon_rolleyes Hepsini tek tek değiştirmek zorunda kalacağım. Genede emin olmak için sorayım bütün formlarda bu şekilde mi yapmalıyım?

Sorunumda tam olarak giderildi bu sayede. Tekrar teşekkürler.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Cvp: Liste kutusu işlem yapma ekleme silme de sorun - Yazar: nightashes - 28/11/2016, 22:39
Task