Bạn có thể giữ cho cơ sở dữ liệu Microsoft Access của mình được sắp xếp và quản lý bằng cách định kỳ lưu trữ các bản ghi cũ hoặc không hiện hoạt. Bạn có thể lưu trữ tất cả các bảng trong cơ sở dữ liệu, bảng cụ thể hoặc chỉ các bản ghi cụ thể — ví dụ: các bản ghi cũ hơn một ngày cụ thể. Chủ đề này giải thích cách sử dụng ba tùy chọn khác nhau để lưu trữ dữ liệu trong cơ sở dữ liệu Access của bạn.
Trong bài viết này
Khi nào bạn nên xem xét lưu trữ?
Khi một cơ sở dữ liệu trên máy tính của bạn chứa dữ liệu mà bạn không dự định sử dụng nữa nhưng bạn muốn giữ cho dữ liệu đó tiện dụng trong trường hợp bạn không cần đến dữ liệu tại một thời điểm nào đó hoặc để đáp ứng chính sách duy trì dữ liệu, lưu trữ là một cách hay để giữ lại những dữ liệu đó. Lưu trữ cũng thường được sử dụng để giữ dữ liệu dựa trên điều kiện ngày, chẳng hạn như vào cuối tháng.
Các cách lưu trữ dữ liệu
Bảng sau đây liệt kê các phương pháp để lưu trữ dữ liệu, mô tả về phương pháp, giải thích về thời điểm bạn nên sử dụng từng phương pháp và những cân nhắc cụ thể khác đối với phương pháp.
Phương thức |
Mô tả |
Sử dụng khi... |
Những điều cần cân nhắc khác |
Định kỳ tạo một bản sao lưu trữ của một bảng cụ thể và thay thế bảng đó bằng một bản sao bảng trống mới. |
Tất cả các bản ghi trong bảng đều đáp ứng các điều kiện mà bạn sử dụng để xác định xem có lưu trữ hay không. VÍ DỤ: You have a table that stores daily temperature extremes. Hàng năm, bạn lưu trữ bảng và bắt đầu lại với một bảng trống. |
|
|
Định kỳ tạo bản sao lưu trữ của cơ sở dữ liệu phía sau, rồi thay thế cơ sở dữ liệu phía sau bằng một cơ sở dữ liệu mới, trống. Yêu cầu một cơ sở dữ liệu tách (một cơ sở dữ liệu bao gồm: một tệp cơ sở dữ liệu phía sau có chứa tất cả các bảng; và một tệp cơ sở dữ liệu phía trước có chứa tất cả các đối tượng cơ sở dữ liệu khác). |
Tất cả các bản ghi trong hầu hết các bảng trong cơ sở dữ liệu đều đáp ứng điều kiện bạn sử dụng để xác định xem có lưu trữ hay không. VÍ DỤ: Cơ sở dữ liệu của bạn bao gồm một vài bảng với các loại dữ liệu khí tượng khác nhau. Mỗi năm, bạn lưu trữ tất cả các bảng. |
|
|
Định kỳ chạy truy vấn chọn các bản ghi để lưu trữ và thêm dữ liệu vào bảng lưu trữ, sau đó bạn chạy truy vấn để chọn cùng một bản ghi (từ bảng ban đầu) và xóa chúng. |
Một số bản ghi trong bảng đáp ứng điều kiện mà bạn sử dụng để xác định có lưu trữ hay không. VÍ DỤ: Bạn muốn lưu trữ các giao dịch thư viện (kiểm xuất) nếu đã kiểm nhập Ngày ít nhất một năm. |
Cảnh báo: Nếu bạn cần sử dụng tham số trong truy vấn của mình, bạn nên tạo biểu mẫu để xử lý tham số. Nếu không, bạn sẽ có nguy cơ bị mất dữ liệu. |
Làm việc xung quanh tính toàn vẹn tham chiếu
Nếu các bản ghi mà bạn muốn lưu trữ có liên quan đến các bản ghi trong các bảng khác, bạn có thể phải làm việc xung quanh mối quan hệ. Nếu các bản ghi mà bạn muốn lưu trữ là các bản ghi "con" (chúng thuộc về phía "nhiều" của quan hệ một - nhiều ), bạn có thể lưu trữ chúng một cách an toàn mà không cần quan tâm. Nếu bản ghi mà bạn muốn lưu trữ là bản ghi "cha mẹ" (chúng thuộc về phía "một" của quan hệ một - nhiều ), khi bạn lưu trữ các bản ghi "con" liên quan của chúng có thể:
-
Ngăn không cho bạn xóa bản ghi "cha mẹ". Điều này có thể gây ra sự cố nếu bạn đã chắp thêm bản ghi "cha mẹ" vào bảng lưu trữ.
- Hoặc -
-
Trở thành "mồ côi" — bản ghi thuộc về "cha mẹ" không tồn tại. Điều này có thể gây ra vấn đề với tính toàn vẹn dữ liệu và chức năng trong cơ sở dữ liệu của bạn mà sử dụng các bản ghi "mồ côi".
Để tính toàn vẹn tham chiếu, hãy thực hiện các bước sau đây:
-
Xác định xem bản ghi "con" nào thuộc về các bản ghi mà bạn muốn lưu trữ. Ví dụ, để lưu trữ bản ghi tài sản cho vay tại thư viện, trước tiên hãy xác định xem có bất kỳ giao dịch nào đang mở trên những tài sản đó hay không, nghĩa là tài sản đã được kiểm xuất nhưng chưa được trả về.
-
Thực hiện một trong những thao tác sau:
-
Nếu các bản ghi "con" luôn có thể bị xóa an toàn, hãy đảm bảo rằng mối quan hệ bắt buộc tính toàn vẹn tham chiếu, với xóa xếp tầng. Điều này đảm bảo rằng tất cả các bản ghi "con" liên quan sẽ bị xóa.
-
Nếu không thể xóa an toàn các bản ghi "con", hãy cân nhắc lưu trữ tất cả các bảng trong cơ sở dữ liệu.
-
Create truy vấn chọn bản ghi "cha mẹ" không có bản ghi "con". Sau đó, sử dụng truy vấn đầu tiên đó để tạo truy vấn lưu trữ của bạn (xem mục Di chuyển định kỳ bản ghi vào bảng lưu trữ), thay vì sử dụng bảng "cha mẹ".
-
Định kỳ thay thế bảng
Nếu bạn muốn lưu trữ tất cả dữ liệu trong bảng, bạn có thể định kỳ thay thế bảng bằng một bản sao trống.
Quan trọng: Nếu bảng bạn lưu trữ có liên quan đến các bảng khác, bạn có thể cần phải tránh tính toàn vẹn tham chiếu.
-
Trong Ngăn Dẫn hướng, chọn bảng bạn muốn lưu trữ, nhấn CTRL+C, rồi nhấn CTRL+V.
-
Trong hộp thoại Dán Bảng Dưới dạng, bên dưới Tùy chọn Dán, chọn Chỉ Cấu trúc, rồi bấm OK.
Access đặt tên cho bản sao dưới dạng Bản sao của tên bảng gốc. -
Trong Ngăn Dẫn hướng, bấm chuột phải vào bảng ban đầu, rồi bấm vào Đổi tên trên menu lối tắt.
Đặt tên khác cho bảng để biểu thị nội dung trong bảng, chẳng hạn như "DailyTemperatureExtremes_archive_2019". -
Trong Ngăn Dẫn hướng, bấm chuột phải vào bản sao trống, rồi bấm vào Đổi tên trên menu lối tắt. Đổi tên bảng bằng tên bảng gốc.
Thay thế định kỳ tất cả các bảng
Nếu bạn sử dụng cơ sở dữ liệu tách, bạn có thể định kỳ thay thế tất cả các bảng bằng cách thay thế cơ sở dữ liệu phía sau bằng một bản sao trống.
Để làm điều này, trước tiên hãy chuẩn bị bản sao trống. Trừ khi thiết kế của cơ sở dữ liệu của bạn thay đổi, bạn có thể tái sử dụng bản sao trống này mỗi lần bạn lưu trữ. Để lưu trữ, chỉ cần đổi tên cơ sở dữ liệu phía sau hiện có để biểu thị rằng đó là một kho lưu trữ và lưu bản sao trống dưới dạng cơ sở dữ liệu phía sau mới.
Chuẩn bị một bản sao trống của cơ sở dữ liệu phía sau
Trước tiên, nhập định nghĩa bảng cho tất cả các bảng trong cơ sở dữ liệu phía sau.
-
Trên tab Tệp, bấm vào Mới, chọn Cơ sở dữ liệu trống, rồi bấm Create.
-
Đóng Bảng1.
-
Trên tab Dữ liệu Bên ngoài, trong nhóm Nhập & Nối kết , bấm Access.
-
Trong hộp thoại Lấy Dữ liệu Ngoài – Cơ sở dữ liệu Access, chọn Nhập bảng, truy vấn, biểu mẫu, báo cáo , macro và mô-đun vào cơ sở dữ liệu hiện tại, rồi bấm vào Duyệt.
-
Trong hộp thoại Mở Tệp, chọn cơ sở dữ liệu phía sau. Bấm Mở để đóng hộp thoại Mở Tệp, rồi bấm OK.
-
Trong hộp thoại Nhập Đối tượng, bấm vào Tùy chọn.
-
Bên dưới Nhập Bảng, chọn Chỉ Định nghĩa.
-
Trên tab Bảng , bấm Chọn Tất cả, bấm OK, rồi bấm Đóng.
Thêm dữ liệu vào bất kỳ bảng tra cứu nào trong bản sao trống
Đối với mỗi bảng tra cứu, hãy thực hiện các bước sau đây:
-
Liên kết đến bảng tra cứu trong cơ sở dữ liệu phía sau hiện có.
-
Create truy vấn chắp thêm tất cả bản ghi từ bản gốc vào bản sao.
Thay thế cơ sở dữ liệu phía sau bằng bản sao trống
Trước tiên, hãy đổi tên cơ sở dữ liệu phía sau hiện có để cho biết cơ sở dữ liệu hiện đã là kho lưu trữ. Sau đó, mở bản sao trống, rồi lưu bản sao bằng tên cơ sở dữ liệu phía sau ban đầu.
-
Bấm vào tab Tệp , rồi bấm vào Lưu Cơ sở dữ liệu Như. Bạn có thể được nhắc đóng tất cả các đối tượng đang mở; nếu có, hãy bấm OK. Hộp thoại Lưu Như sẽ mở ra.
-
Trong hộp Lưu trong (ở đầu hộp thoại Lưu Như), hãy đảm bảo rằng bạn đang lưu tệp vào vị trí giống như cơ sở dữ liệu phía sau ban đầu.
-
Trong hộp Tên Tệp , nhập tên của cơ sở dữ liệu phía sau ban đầu.
-
Trong hộp Lưu dưới dạng , chọn Cơ sở dữ liệu Access (*.accdb).
Di chuyển định kỳ bản ghi vào bảng lưu trữ
Quy trình này gồm bốn bước yêu cầu tạo một bản sao trống của bảng có chứa các bản ghi mà bạn muốn lưu trữ, tạo truy vấn chắp thêm để sao chép bản ghi từ bảng gốc vào bảng lưu trữ, tạo một truy vấn xóa để loại bỏ bản ghi đã lưu trữ khỏi bảng gốc và cuối cùng tạo macro để chạy cả hai truy vấn có thể chạy khi bạn muốn lưu trữ. Quá trình dường như phức tạp này có thể dễ dàng nếu bạn làm theo các bước theo thứ tự mà chúng được trình bày dưới đây:
Bước 2: Create truy vấn chắp thêm để sao chép dữ liệu vào bảng lưu trữ
Bước 3: Create truy vấn xóa để loại bỏ dữ liệu khỏi bảng gốc
Bước 4: Create macro để chạy cả truy vấn chắp thêm và xóa
Bước 1: Create bảng lưu trữ
Để giữ tất cả các bản ghi đã lưu trữ của bạn trong một bảng, hãy thực hiện bước này một lần. Bảng lưu trữ mà bạn tạo trong bước này sẽ giữ tất cả các bản ghi đã lưu trữ của bạn.
Để xóa bảng lưu trữ cũ khi bạn tạo bảng mới, thay vì thực hiện bước này, bạn có thể sử dụng truy vấn tạo bảng để sao chép dữ liệu vào bảng lưu trữ. Để thực hiện điều này, hãy chuyển đến Bước 2.
Để sử dụng bảng lưu trữ mới mỗi lần bạn lưu trữ, nhưng cũng giữ lại các bảng lưu trữ cũ, hãy đổi tên bảng lưu trữ cũ trước khi tạo bảng mới. Nếu bạn đang lưu trữ dựa trên ngày tháng, hãy cân nhắc đặt tên cho bảng lưu trữ cũ theo phạm vi ngày mà bảng đó đại diện.
-
Trong Ngăn Dẫn hướng, chọn bảng có bản ghi cần lưu trữ, nhấn CTRL+C, rồi nhấn CTRL+V.
-
Trong hộp Tên Bảng, xóa các từ Sao chép Của và chắp thêm một dấu gạch dưới và từ "lưu trữ" vào tên bảng hiện có, rồi bấm OK. Ví dụ: nếu bảng ban đầu có tên là Giao dịch thì bảng lưu trữ sẽ được đặt tên là Transactions_archive.
-
Trong hộp thoại Dán Bảng Dưới dạng , bên dưới Tùy chọn Dán, chọn Chỉ Cấu trúc.
Bước 2: Create truy vấn chắp thêm để sao chép dữ liệu vào bảng lưu trữ
-
Trên tab Tạo, trong nhóm Truy vấn, bấm Thiết kế Truy vấn.
-
Thêm bảng có các bản ghi bạn muốn lưu trữ.
-
Trong cửa sổ thiết kế truy vấn, bấm đúp vào dấu sao (*) trong bảng bạn vừa thêm. Tên bảng và dấu sao xuất hiện trong cột đầu tiên của lưới thiết kế truy vấn.
Lưu ý: Dấu sao cho biết rằng truy vấn nên bao gồm tất cả các trường từ bảng trong đầu ra truy vấn. Khi bạn sử dụng dấu sao, nếu các trường được thêm vào hoặc loại bỏ khỏi bảng, đầu ra truy vấn sẽ điều chỉnh theo đó.
-
Trong cửa sổ thiết kế truy vấn, bấm đúp vào trường bạn muốn sử dụng để xác định điều kiện mà bản ghi cần đáp ứng trước khi bạn lưu trữ. Ví dụ: nếu bảng Giao dịch của bạn có một trường được gọi là Ngày Kiểm nhập và bạn muốn lưu trữ tất cả các bản ghi có ngày đó cách đây hơn một năm, bạn bấm đúp vào trường và trường đó sẽ xuất hiện trong cột trống tiếp theo của lưới thiết kế truy vấn.
Lặp lại bước này nếu bạn muốn sử dụng tiêu chí với các trường bổ sung.
-
Sử dụng hàng Tiêu chí để xác định tiêu chí cho các trường mà bạn vừa thêm vào. Ví dụ: bạn có thể xác định rằng Ngày Đã kiểm nhập phải sớm hơn ngày 01/01/2019 bằng cách sử dụng biểu thức <#01/01/2019# trong hàng Tiêu chí.
Nếu giá trị tiêu chí của bạn thay đổi mỗi lần bạn lưu trữ, bạn nên yêu cầu truy vấn của mình yêu cầu đầu vào. Để thực hiện điều này, bạn sử dụng tham số trong hàng Tiêu chí để truy vấn yêu cầu đầu vào. Để sử dụng tham số, hãy sử dụng một biểu thức như bạn vẫn thường làm, nhưng thay vì một giá trị đã xác định, hãy sử dụng một câu hỏi ngắn gọn được đặt trong dấu ngoặc vuông. Ví dụ: bạn có thể sử dụng biểu thức< [Các giao dịch lưu trữ đã hoàn tất trước:], chẳng hạn như:
Để biết thêm thông tin về cách sử dụng tham số, hãy xem bài viết Giới thiệu về truy vấn.
Bạn cũng có thể muốn sử dụng hàng hoặc để xác định điều kiện thay thế. Để biết thêm thông tin về cách sử dụng tiêu chí, hãy xem bài viết Các ví dụ về tiêu chí truy vấn.
Mẹo: Nếu bạn đang sử dụng trường ngày để chỉ định tiêu chí và bạn muốn lưu trữ tất cả các bản ghi cũ hơn ngày hiện tại, hãy nhập <Date() vào hàng Tiêu chí cho trường ngày.
-
Thực hiện một trong những thao tác sau:
Nếu bạn đã tạo bảng lưu trữ, hãy sử dụng truy vấn chắp thêm để thêm các bản ghi đã xác định vào bảng đó:
-
Trên tab Thiết kế, trong nhóm Kiểu Truy vấn, hãy bấm Chắp thêm.
-
Trong hộp thoại Chắp thêm, trong hộp Tên Bảng , chọn tên của bảng lưu trữ, rồi bấm OK.
Trong lưới thiết kế truy vấn, hàng Chắp thêm Vào sẽ xuất hiện.
-
Bỏ chọn hàng Chắp thêm vào cho bất kỳ trường nào bạn đã sử dụng để chỉ định tiêu chí. (Chỉ dấu sao phải có giá trị gắn thêm vào.)
Nếu bạn chưa tạo bảng lưu trữ, hãy sử dụng truy vấn tạo bảng để tạo bảng lưu trữ bằng cách sử dụng các bản ghi đã xác định:
-
Trên tab Thiết kế, trong nhóm Loại Truy vấn, hãy bấm vào Tạo Bảng.
-
Trong hộp thoại Tạo Bảng, trong hộp Tên Bảng , nhập tên của bảng lưu trữ, rồi bấm OK.
-
-
Nhấn CTRL+S để lưu truy vấn.
Bước 3: Create truy vấn xóa để loại bỏ dữ liệu khỏi bảng gốc
-
Trên tab Tạo, trong nhóm Truy vấn, bấm Thiết kế Truy vấn.
-
Thêm bảng có các bản ghi bạn muốn lưu trữ.
-
Trong cửa sổ thiết kế truy vấn, bấm đúp vào dấu sao (*) trong bảng bạn vừa thêm. Tên bảng và dấu sao xuất hiện trong cột đầu tiên của lưới thiết kế truy vấn.
-
Trong cửa sổ thiết kế truy vấn, bấm đúp vào các trường tương tự mà bạn đã sử dụng để xác định điều kiện trong truy vấn chắp thêm.
-
Sử dụng hàng Tiêu chí để xác định tiêu chí cho các trường mà bạn vừa thêm vào. Để biết thêm thông tin về cách sử dụng tiêu chí, hãy xem bài viết Các ví dụ về tiêu chí truy vấn.
Quan trọng: Nếu truy vấn chắp thêm hoặc tạo bảng sử dụng tham số, hãy đảm bảo rằng truy vấn xóa của bạn cũng có. Ngoài ra, hãy nhớ rằng bạn nhập cùng một giá trị cho cả hai truy vấn. Nếu bạn nhập các giá trị tham số khác nhau, bạn có thể mất dữ liệu. Để giúp ngăn mất dữ liệu, hãy cân nhắc sử dụng biểu mẫu để thu thập các giá trị và yêu cầu các truy vấn yêu cầu biểu mẫu cung cấp giá trị đầu vào. Để biết thêm thông tin, hãy xem bài viết Giới thiệu về truy vấn.
-
Trên tab Thiết kế , trong nhóm Loại Truy vấn , bấm Xóa.
Hàng Xóa sẽ xuất hiện trong lưới thiết kế truy vấn.
-
Nhấn CTRL+S để lưu truy vấn.
Bước 4: Create macro để chạy cả truy vấn chắp thêm và xóa
-
Trên tab Tạo, trong nhóm Macro & Mã, bấm vào Macro.
-
Bấm vào mũi tên thả xuống bên cạnh Thêm Hành động Mới, rồi bấm OpenQuery.
Hành động OpenQuery xuất hiện và hiển thị các đối số của nó.
-
Trong hộp Tên Truy vấn, chọn truy vấn (gắn thêm hoặc tạo bảng) mà bạn đã tạo ở Bước 2.
-
Bấm vào mũi tên thả xuống bên cạnh Thêm Hành động Mới, rồi bấm OpenQuery.
Hành động OpenQuery xuất hiện và hiển thị các đối số của nó.
-
Trong hộp Tên Truy vấn , chọn truy vấn xóa bạn đã tạo ở Bước 3.
-
Nhấn CTRL+S để lưu macro.
Khi bạn muốn lưu trữ bản ghi, hãy chạy macro.