Ö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.