Cara Menduplikasi Rekod dengan Cepat di Akses Anda

Kongsi Sekarang:

Ketahui bagaimana anda boleh membuat fungsi VBA yang membolehkan anda menyalin data tertentu dari rekod sebelumnya hanya dengan satu klik butang. Tidak perlu berulang kali menaip perkara yang sama.

Pernahkah anda mempunyai pengalaman di mana anda perlu memasukkan rekod baru di Access yang mempunyai set nilai yang sama dengan rekod sebelumnya kecuali satu bidang? Ia boleh meletihkan, bukan? Tutorial ini akan mengajar anda bagaimana anda dapat membuat fungsi yang dengan satu klik butang, anda dapat menyalin nilai tertentu dari catatan sebelumnya - menjimatkan masa anda untuk menaip semula. Ikuti sahaja langkah di bawah.

Muat Turun Sekarang

Jika anda ingin mula menggunakan ciri ini secepat mungkin, anda boleh:

Muat turun Contoh Pangkalan Data dengan Kod VBA Sekarang

Jika tidak, jika anda mahu DIY, anda boleh membaca kandungannya di bawah.

Langkah Menambah Fungsi 'Buat Salinan Rekod' di Akses

  1. Buka borang anda dalam paparan reka bentuk.Buka Borang Anda dalam Paparan Reka Bentuk
  2. Tambahkan butang arahan. Langkau wizard butang arahan.
  3. Tambah Pada Klik acara ke butang.Tambah Acara Klik Pada Butang
  • Semasa dalam paparan reka bentuk, pilih butang.
  • Buka Helaian Hartanah (ALT + Enter)
  • Pergi ke tab Acara> Pada Klik>…
  • Apabila Pilih Pembina menu muncul, pilih Pembina Kod.
  • Klik OK.
  • Ini akan membuka Editor VBA.
    1. Salin kod berikut dan ubah mengikut keperluan anda. Gunakan komen sebagai panduan.
    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. Sekarang uji kodnya jika berfungsi.

Kod Diterangkan

Kod di atas digunakan untuk pangkalan data kedai buku. Kerana siri buku, terdapat beberapa keadaan di mana semua butiran buku (misalnya Pengarang, Negara, Bahasa, dll.) Sama kecuali satu bidang - Tajuk. Oleh itu, keperluan untuk kod.

Senarai di bawah menunjukkan aliran program.

  1. Periksa sama ada pengguna telah memilih rekod untuk disalin. Mesej ralat akan muncul jika pengguna mengklik butang tepat setelah mengklik butang Tambah Rekod Baru - menjadikan ID menjadi batal.
If IsNull(BookID) Then
     MsgBox prompt:="Please select the record to copy first.", buttons:=vbExclamation
     Exit Sub
End If
  1. Dapatkan ID atau kunci utama rekod semasa dan tetapkan sebagai nilai untuk currentID Ini akan digunakan sebagai asas untuk nilai-nilai yang akan disalin.
currentID = BookID
  1. Tambahkan rekod baru.
DoCmd.GoToRecord record:=acNewRec
  1. Tetapkan nilai untuk bidang tertentu berdasarkan pada currentID Di sinilah data disalin dari rekod yang dipilih.
'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. Tetapkan fokus kepada medan yang kemungkinan besar akan diedit terlebih dahulu oleh pengguna. Ini meningkatkan pengalaman pengguna kerana ia menghapuskan keperluan pengguna untuk memilih medan yang masih perlu dikemas kini secara manual.
 Title.SetFocus      ‘TO DO: change 'Title' with name of field that is going to be edited by the user

Membaiki Pangkalan Data yang rosak

Sekiranya atas sebab yang tidak diingini, suatu hari anda bangun tidak dapat membuka pangkalan data anda, anda boleh mencuba alat pihak ketiga yang berfungsi Pembaikan akses. Ia berfungsi dengan hebat.

Pengenalan Pengarang:

Jayme Stack adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk pemulihan sql dan produk perisian pemulihan yang unggul. Untuk maklumat lebih lanjut, lawati www.datanumen.com

Kongsi Sekarang:

Ruangan komen telah ditutup.