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
- Buka borang anda dalam paparan reka bentuk.

- Tambahkan butang arahan. Langkau wizard butang arahan.
- Tambah Pada Klik acara ke 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.
-
- 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 - 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.
- 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
- 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
- Tambahkan rekod baru.
DoCmd.GoToRecord record:=acNewRec
- 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)
- 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
