Cách sao chép nhanh các bản ghi trong quyền truy cập của bạn

Chia sẻ ngay bây giờ:

Tìm hiểu cách bạn có thể tạo chức năng VBA cho phép bạn sao chép một số dữ liệu nhất định từ các bản ghi trước đó chỉ bằng một cú nhấp chuột. Không cần phải gõ đi gõ lại những thứ giống nhau.

Bạn đã bao giờ gặp phải trường hợp cần nhập một bản ghi mới trong Access có cùng bộ giá trị với bản ghi trước đó ngoại trừ một trường chưa? Nó có thể mệt mỏi, phải không? Hướng dẫn này sẽ hướng dẫn bạn cách tạo một hàm mà chỉ cần bấm nút, bạn có thể sao chép các giá trị nhất định của bản ghi trước đó – giúp bạn tiết kiệm thời gian không phải gõ lại. Chỉ cần làm theo các bước dưới đây.

Tải xuống Ngay

Nếu bạn muốn bắt đầu sử dụng tính năng này càng sớm càng tốt, bạn có thể:

Tải xuống cơ sở dữ liệu mẫu với mã VBA ngay bây giờ

Còn không, nếu bạn muốn DIY, bạn có thể đọc nội dung bên dưới.

Các bước để thêm chức năng 'Tạo bản sao bản ghi' trong Access

  1. Mở biểu mẫu của bạn trong dạng xem thiết kế.Mở biểu mẫu của bạn trong dạng xem thiết kế
  2. Thêm một nút lệnh. Bỏ qua trình hướng dẫn nút lệnh.
  3. Thêm Trong một cái nhấp chuột sự kiện đến nút.Thêm sự kiện khi nhấp chuột vào nút
  • Khi đang ở chế độ xem thiết kế, hãy chọn nút .
  • Mở bảng thuộc tính (ALT + Enter)
  • Chuyển đến tab Sự kiện > Khi nhấp chuột > …
  • Khi Chọn Người xây dựng menu bật lên, chọn Code Builder.
  • Nhấp vào OK.
  • Thao tác này sẽ mở Trình chỉnh sửa VBA.
    1. Sao chép đoạn mã sau và sửa đổi nó để phù hợp với nhu cầu của bạn. Sử dụng các ý kiến ​​​​làm hướng dẫ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. Bây giờ hãy kiểm tra mã nếu nó hoạt động.

Giải thích mã

Đoạn mã trên được sử dụng cho cơ sở dữ liệu của hiệu sách. Vì là sách theo bộ nên có những trường hợp tất cả thông tin chi tiết về sách (ví dụ: Tác giả, Quốc gia, Ngôn ngữ, v.v.) đều giống nhau ngoại trừ một trường – Tiêu đề. Vì vậy, sự cần thiết của mã.

Danh sách dưới đây hiển thị luồng chương trình.

  1. Kiểm tra xem người dùng đã chọn bản ghi để sao chép chưa. Thông báo lỗi sẽ bật lên nếu người dùng nhấp vào nút ngay sau khi nhấp vào nút Thêm bản ghi mới – làm cho ID rỗng.
If IsNull(BookID) Then
     MsgBox prompt:="Please select the record to copy first.", buttons:=vbExclamation
     Exit Sub
End If
  1. Lấy ID hoặc khóa chính của bản ghi hiện tại và gán nó làm giá trị cho ID hiện tại Điều này sẽ được sử dụng làm cơ sở cho các giá trị được sao chép.
currentID = BookID
  1. Thêm một bản ghi mới.
DoCmd.GoToRecord record:=acNewRec
  1. Đặt giá trị cho các trường nhất định dựa trên ID hiện tại Đây là nơi dữ liệu được sao chép từ bản ghi đã chọn.
'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. Đặt tiêu điểm vào trường mà người dùng có khả năng chỉnh sửa đầu tiên. Điều này giúp nâng cao trải nghiệm người dùng vì nó loại bỏ sự cần thiết người dùng phải tự chọn trường cần cập nhật.
 Title.SetFocus      ‘TO DO: change 'Title' with name of field that is going to be edited by the user

Sửa chữa cơ sở dữ liệu bị hỏng

Nếu vì một lý do không may nào đó, một ngày nào đó bạn thức dậy không thể mở được cơ sở dữ liệu của mình, bạn có thể thử các công cụ của bên thứ ba thực hiện truy cập sửa chữa. Nó hoạt động kỳ diệu.

Giới thiệu tác giả:

Jayme Stack là một chuyên gia phục hồi dữ liệu trong DataNumen, Inc., công ty hàng đầu thế giới về công nghệ khôi phục dữ liệu, bao gồm phục hồi sql và các sản phẩm phần mềm phục hồi excel. Để biết thêm thông tin, hãy truy cập www.datanumennăm

Chia sẻ ngay bây giờ:

Được đóng lại.