Erişiminizde Kayıtları Hızlıca Nasıl Çoğaltabilirsiniz?

Şimdi paylaş:

Sadece bir düğmeyi tıklayarak önceki kayıtlardan belirli verileri kopyalamanıza izin veren bir VBA işlevini nasıl oluşturabileceğinizi öğrenin. Aynı şeyleri tekrar tekrar yazmaya gerek yok.

Access'te bir alan dışında önceki bir kayıtla tam olarak aynı değer kümesine sahip yeni bir kayıt girmeniz gereken bir deneyim yaşadınız mı? Yorucu olabilir, değil mi? Bu öğretici size, bir düğmeyi tıklatarak önceki bir kaydın belirli değerlerini kopyalayabileceğiniz bir işlevi nasıl oluşturabileceğinizi öğretecek ve yeniden yazmaktan zaman kazanmanızı sağlayacaktır. Aşağıdaki adımları takip ediniz.

Hemen İndir

Bu özelliği mümkün olan en kısa sürede kullanmaya başlamak istiyorsanız, şunları yapabilirsiniz:

VBA Kodları ile Örnek Veritabanını Şimdi İndirin

Aksi takdirde, DIY yapmak istiyorsanız aşağıdaki içeriği okuyabilirsiniz.

Access'te 'Kayıt Kopyası Oluştur' İşlevselliği Ekleme Adımları

  1. Formunuzu tasarım görünümünde açın.Formunuzu Tasarım Görünümünde Açın
  2. Bir komut düğmesi ekleyin. Komut düğmesi sihirbazını atlayın.
  3. Ekle Tıklamada düğmeye olay.Düğmeye Tıklama Etkinliği Ekleme
  • Tasarım görünümündeyken düğmesini seçin.
  • Özellik Sayfasını açın (ALT + Enter)
  • Etkinlik sekmesine gidin > Tıklandığında > …
  • Zaman Builder'ı seçin menüsü açılır, Code Builder'ı seçin.
  • Tamam 'ı tıklatın.
  • Bu, VBA Editörünü açacaktır.
    1. Aşağıdaki kodu kopyalayın ve ihtiyaçlarınıza göre değiştirin. Yorumları kılavuz olarak kullanın.
    Private Sub Command24_Click()
        Dim currentID As Long
     
        'TO DO: change all instances of 'BookID' with the actual name of your table's ID or primary key
     
        If IsNull(BookID) Then
            MsgBox prompt:="Please select the record to copy first.", buttons:=vbExclamation
            Exit Sub
        End If
     
        currentID = BookID
        DoCmd.GoToRecord record:=acNewRec
     
        'TO DO: set the fields to be copied (those that most likely will have the same values)
        'FORMAT: fieldName = Dlookup("fieldname", "tableName", "primaryKeyField=" & currentID)
     
         Author = DLookup("Author", "Books", "BookID=" & currentID)
         Country = DLookup("Country", "Books", "BookID=" & currentID)
         Language = DLookup("Language", "Books", "BookID=" & currentID)
         Genre = DLookup("Genre", "Books", "BookID=" & currentID)
         Publisher = DLookup("Publisher", "Books", "BookID=" & currentID)
     
         Title.SetFocus ‘TO DO: change 'Title' with name of field that is going to be edited by the user
     
    End Sub
  1. Şimdi çalışıyorsa kodu test edin.

Açıklanan Kod

Yukarıdaki kod bir kitapçının veri tabanı için kullanıldı. Kitap serileri nedeniyle, bir alan olan Başlık dışında tüm kitap ayrıntılarının (örn. Yazar, Ülke, Dil vb.) aynı olduğu durumlar vardır. Böylece, kod ihtiyacı.

Aşağıdaki liste program akışını göstermektedir.

  1. Kullanıcının kopyalanacak bir kayıt seçip seçmediğini kontrol edin. Kullanıcı Yeni Kayıt Ekle düğmesini tıkladıktan hemen sonra düğmeyi tıklarsa, kimliği boş yapan bir hata mesajı açılır.
If IsNull(BookID) Then
     MsgBox prompt:="Please select the record to copy first.", buttons:=vbExclamation
     Exit Sub
End If
  1. Geçerli kaydın kimliğini veya birincil anahtarını alın ve bunu değer olarak atayın. akım kimliği Bu, kopyalanacak değerler için temel olarak kullanılacaktır.
currentID = BookID
  1. Yeni bir kayıt ekleyin.
DoCmd.GoToRecord record:=acNewRec
  1. Belirli alanlar için değerler ayarlayın. akım kimliği Bu, verilerin seçilen kayıttan kopyalandığı yerdir.
'FORMAT: fieldName = Dlookup("fieldname", "tableName", "primaryKeyField=" & currentID)

Author = DLookup("Author", "Books", "BookID=" & currentID)
Country = DLookup("Country", "Books", "BookID=" & currentID)
Language = DLookup("Language", "Books", "BookID=" & currentID)
Genre = DLookup("Genre", "Books", "BookID=" & currentID)
Publisher = DLookup("Publisher", "Books", "BookID=" & currentID)
  1. Kullanıcının ilk olarak düzenleme olasılığı en yüksek olan alana odaklanın. Bu, kullanıcının henüz güncellenmemiş alanı manuel olarak seçme ihtiyacını ortadan kaldırdığı için kullanıcı deneyimini iyileştirir.
 Title.SetFocus      ‘TO DO: change 'Title' with name of field that is going to be edited by the user

Bozuk Bir Veritabanını Onarın

Talihsiz bir nedenle, bir gün veritabanınızı açamazsanız, performans gösteren üçüncü taraf araçlarını deneyebilirsiniz. Erişim onarımı. Harikalar yaratıyor.

Yazar Tanıtımı:

Jayme Stack, veri kurtarma uzmanıdır. DataNumendahil olmak üzere veri kurtarma teknolojilerinde dünya lideri olan , Inc. sql kurtarma ve excel kurtarma yazılımı ürünleri. Daha fazla bilgi için ziyaret edin www.datanumen.com

Şimdi paylaş:

Yoruma kapalı.