VBA Kayıt Kümelerine Erişin - Aç, Say, Döngü ve Daha Fazlası

Bu eğitimde, bir Recordset'i açmayı, Recordset'teki kayıt sayısını saymayı, Recordset'te döngü yapmayı, bir kayıt eklemeyi, bir kaydı güncellemeyi, bir kayıttan bir değer okumayı ve bir kaydı silmeyi öğreneceğiz.

Aşağıda gösterilen ProductsT adlı bir Erişim Tablomuz var:

Kayıt Kümesini Açma

İlk önce kullanmayı düşündüğümüz veritabanını kurmamız gerekiyor, bu durumda o şu anda açık olan veritabanıdır. Daha sonra Recordset'imizi açmak/oluşturmak için CurrentDB.OpenRecordSet yöntemini kullanabiliriz.

ProductsT adlı tablodaki verileri işlememize izin verecek bir Kayıt Kümesi oluşturmak için aşağıdaki kodu kullanırdık:

1 CurrentDb.OpenRecordset ("ÜrünlerT")

VBA kullanarak Kayıt sayısını sayma

Bir Kayıt Kümesi oluşturduktan sonra, büyük olasılıkla onunla yararlı bir şeyler yapmak veya içindeki verileri bir şekilde değiştirmek isteyeceksiniz. Aşağıdaki kodu kullanarak veri kümenizdeki (bu durumda ÜrünlerT adlı tablo) kayıt sayısını sayabilirsiniz:

1 MsgBox CurrentDb.OpenRecordset("ÜrünlerT").RecordCount

VBA kullanarak bir RecordSet üzerinden döngü yapmak

Aşağıdaki kod, RecordSet'imiz boyunca döngü halindedir:

1234567891011121314 Alt RecordSet_Loop ()Veritabanı Olarak Veritabanımızı DimKayıt Kümemizi Kayıt Kümesi Olarak KarartınOurDatabase = CurrentDb olarak ayarlayınOurRecordset = ourDatabase.OpenRecordset("ProductsT") olarak ayarlayınBizimRecordset.EOF'a Kadar YapınMsgBox bizimRecordset!ProductIDbizimRecordset.MoveNextDöngüAlt Bitiş

RecordSet'e kayıt ekleme

RecordSet'e yeni bir kayıt eklemek için Recordset.AddNew yöntemini kullanın:

1234567891011121314 Alt RecordSet_Add()CurrentDb.OpenRecordset("ProductsT") ile.Yeni ekle![ÜrünKimliği] = 8![ÜrünAdı] = "Ürün HHH"![ÜrünFiyatPerBirim] = 10![ProductCategory] = "Oyuncaklar"![BirimInStock] = 15.Güncellemeİle bitmekAlt Bitiş

Sonuç:

Kayıt Kümesini Güncelleme

Recordset.AddNew veya Recordset.Edit yöntemini kullanmanız gerekir. Bu ifadeden sonra değişiklikleri korumak için Recordset.Update yöntemini kullanmanız gerekir.

Bir Kayıttan Değer Okuma

Geçerli kaydı bir kayıt yapmak için Recordset.FindFirst yöntemini kullanmanız gerekir. Ardından, hangi alana bakılacağını belirtmek için Recordset.Fields kullanmanız gerekir.

12345678910111213141516 Sub RecordSet_ReadValue ()Veritabanı Olarak Veritabanımızı DimKayıt Kümemizi Kayıt Kümesi Olarak KarartınOurDatabase = CurrentDb olarak ayarlayınOurRecordset = ourDatabase.OpenRecordset("ProductsT", Type:=RecordsetTypeEnum.dbOpenDynaset) olarak ayarlayınKayıt Setimiz ile.FindFirst "ÜrünAdı = " & "'Ürün CCC'si'"Eğer .NoMatch iseMsgBox "Eşleşme Bulunamadı"BaşkaMsgBox ourRecordset.Fields("ÜrünKategori")Bitirİle bitmekAlt Bitiş

Sonuç:

Kayıt Kümesinden Kayıt Silme

Bir Recordset'ten bir kaydı silmek için önce onu Recordset.FindFirst yöntemini kullanarak mevcut kayıt yapmanız gerekir. Daha sonra Recordset.Delete yöntemini kullanarak silebilirsiniz. Aşağıdaki kod, veri kümesindeki 2. kaydın nasıl silineceğini gösterir:

1234567891011121314151617181920212223 Alt RecordSet_DeleteRecord ()Veritabanı Olarak Veritabanımızı DimKayıt Kümemizi Kayıt Kümesi Olarak KarartınOurDatabase = CurrentDb olarak ayarlayınOurRecordset = ourDatabase.OpenRecordset("ProductsT", Type:=RecordsetTypeEnum.dbOpenDynaset) olarak ayarlayınKayıt Setimiz ile.FindFirst "ÜrünAdı = " & "'Ürün BBB'si'"Eğer .NoMatch iseMsgBox "Eşleşme Bulunamadı"BaşkabizimRecordset.SilBitirİle bitmek'Tabloyu Yeniden AçınDoCmd.Close acTable, "ÜrünlerT"DoCmd.OpenTable "ÜrünlerT"Alt Bitiş

Sonuç:

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave