Bài viết này giải thích cách tạo và chạy truy vấn chắp thêm. Bạn sử dụng truy vấn chắp thêm khi cần thêm bản ghi mới vào bảng hiện tại bằng cách sử dụng dữ liệu từ các nguồn khác.
Nếu bạn cần thay đổi dữ liệu trong tập bản ghi hiện tại, chẳng hạn như cập nhật giá trị của một trường, bạn có thể sử dụng truy vấn cập nhật. Nếu bạn cần tạo bảng mới từ vùng chọn dữ liệu hoặc cần gộp hai bảng thành một bảng mới, bạn có thể sử dụng truy vấn tạo bảng. Để biết thêm thông tin về truy vấn cập nhật hoặc truy vấn tạo bảng hay để biết thông tin chung về các cách khác để thêm bản ghi vào cơ sở dữ liệu hoặc thay đổi dữ liệu hiện tại, hãy xem mục Xem Thêm.
Trong bài viết này
Tổng quan
Truy vấn chắp thêm chọn các bản ghi từ một hoặc nhiều nguồn dữ liệu và sao chép bản ghi được chọn vào bảng hiện tại.
Ví dụ: giả sử bạn nhận được cơ sở dữ liệu chứa bảng khách hàng mới tiềm năng và bạn đã có một bảng lưu trữ loại dữ liệu đó trong cơ sở dữ liệu hiện tại. Bạn muốn lưu trữ dữ liệu ở cùng một nơi nên quyết định sao chép dữ liệu từ cơ sở dữ liệu mới vào bảng hiện tại. Để không phải nhập thủ công dữ liệu mới, bạn có thể sử dụng truy vấn chắp thêm để sao chép bản ghi.
Lợi ích của việc sử dụng truy vấn chắp thêm
Khi sử dụng truy vấn để sao chép dữ liệu, bạn có thể:
-
Gắn thêm nhiều bản ghi trong một lượt Nếu bạn sao chép dữ liệu thủ công, bạn thường phải thực hiện nhiều thao tác sao chép/dán. Khi sử dụng truy vấn, bạn chọn tất cả dữ liệu cùng lúc, rồi sao chép.
-
Xem lại vùng chọn của bạn trước khi sao chép Bạn có thể xem vùng chọn ở dạng xem Biểu dữ liệu và có thể thực hiện điều chỉnh vùng chọn khi cần trước khi sao chép dữ liệu. Thao tác này có thể đặc biệt tiện lợi nếu truy vấn của bạn bao gồm các tiêu chí hoặc biểu thức và bạn cần thử nhiều lần để có vùng chọn phù hợp. Bạn không thể hoàn tác truy vấn chắp thêm. Nếu làm sai, bạn phải khôi phục cơ sở dữ liệu từ một bản sao lưu hoặc sửa lỗi theo cách thủ công hoặc bằng cách sử dụng truy vấn xóa.
-
Sử dụng tiêu chí để tinh chỉnh vùng chọn của bạn Ví dụ: có thể bạn chỉ muốn gắn thêm bản ghi của những khách hàng sống tại thành phố của bạn.
-
Gắn thêm bản ghi khi một số trường trong nguồn dữ liệu không tồn tại ở bảng đích Ví dụ: giả sử bảng khách hàng hiện tại của bạn có mười một trường và bảng mới mà bạn muốn sao chép chỉ có chín trong số mười một trường đó. Bạn có thể sử dụng truy vấn chắp thêm để sao chép dữ liệu từ chín trường khớp và để trống hai trường còn lại.
Các bước cơ bản để tạo truy vấn chắp thêm
Quy trình tạo truy vấn chắp thêm gồm những bước cơ bản sau:
-
Tạo truy vấn chọn Bạn bắt đầu bằng cách chọn dữ liệu mà bạn muốn sao chép. Bạn có thể điều chỉnh truy vấn chọn khi cần và chạy truy vấn bao nhiêu lần tùy ý để đảm bảo bạn đang chọn dữ liệu bạn muốn sao chép.
-
Chuyển đổi truy vấn chọn thành truy vấn chắp thêm Sau khi bạn chọn xong, hãy thay đổi kiểu truy vấn thành Gắn thêm.
-
Chọn trường đích cho từng cột trong truy vấn chắp thêm Trong một số trường hợp, Access sẽ tự động chọn trường đích cho bạn. Bạn có thể điều chỉnh trường đích hoặc chọn trường đích nếu Access không chọn.
-
Xem trước và chạy truy vấn để gắn thêm bản ghi Trước khi gắn thêm bản ghi, bạn có thể chuyển sang dạng xem Biểu dữ liệu để xem trước bản ghi được gắn thêm.
Quan trọng: Bạn không thể hoàn tác truy vấn chắp thêm. Hãy cân nhắc sao lưu cơ sở dữ liệu của bạn hoặc bảng đích.
Tạo và chạy truy vấn chắp thêm
Trong phần này
Bước 1: Tạo truy vấn để chọn bản ghi cần sao chép
-
Mở cơ sở dữ liệu có chứa bản ghi mà bạn muốn sao chép.
-
Trên tab Tạo, trong nhóm Truy vấn, bấm vào Thiết kế Truy vấn.
-
Hãy bấm đúp vào bảng hoặc truy vấn có chứa bản ghi bạn muốn sao chép, rồi bấm Đóng.
Bảng hoặc truy vấn sẽ xuất hiện như một hoặc nhiều cửa sổ trong trình thiết kế truy vấn. Mỗi cửa sổ sẽ liệt kê các trường trong bảng hoặc truy vấn. Hình này thể hiện một bảng điển hình trong trình thiết kế truy vấn.
1. Bảng tài nguyên hiển thị trong trình thiết kế truy vấn
2. Lưới thiết kế truy vấn
-
Bấm đúp vào từng trường mà bạn muốn gắn thêm. Các trường đã chọn hiển thị trong hàng Trường tại lưới thiết kế truy vấn.
Kiểu dữ liệu của các trường trong bảng nguồn phải tương thích với kiểu dữ liệu của các trường trong bảng đích. Trường văn bản tương thích với hầu hết các kiểu trường khác. Trường số chỉ tương thích với các trường số khác. Ví dụ, bạn có thể chắp thêm số vào trường văn bản nhưng bạn không thể chắp thêm văn bản vào trường số.
Bạn cũng có thể sử dụng một biểu thức làm trường — chẳng hạn như =Date() để tự động trả về ngày hôm nay — ngoài ra, bạn có thể sử dụng các biểu thức với bảng hoặc trường truy vấn trong lưới thiết kế để tùy chỉnh dữ liệu mà bạn chọn. Ví dụ: nếu bảng đích của bạn có trường lưu trữ năm có bốn chữ số và bảng nguồn có trường ngày/giờ thông thường, bạn có thể sử dụng hàm DatePart với trường nguồn để chỉ chọn năm.
Để thêm nhanh tất cả các trường trong bảng, hãy bấm đúp vào dấu sao (*) ở đầu danh sách của trường bảng. Hình này hiển thị lưới thiết kế với tất cả các trường đã được thêm.
-
Bạn có thể tùy chọn nhập một hoặc nhiều tiêu chí trong hàng Tiêu chí của lưới thiết kế. Bảng sau đây hiển thị một số tiêu chí mẫu và giải thích tác động của chúng đối với truy vấn.
Tiêu chí
Tác động
> 234
Trả về tất cả số lớn hơn 234. Để tìm thấy tất cả các số nhỏ hơn 234, dùng < 234.
>= "Callahan"
Trả về tất cả bản ghi từ Callahan tới cuối bảng chữ cái.
Between #02/02/2017# And #01/12/2017#
Trả về các ngày từ 02/02/2017 đến 01/12/2017 (ANSI-89). Nếu cơ sở dữ liệu của bạn dùng ký tự đại điện ANSI-92, hãy dùng dấu nháy đơn (') thay cho dấu thăng. Ví dụ: Between '02/02/2017' And '01/12/2017'.
Not "Nước Đức"
Tìm tất cả các bản ghi có nội dung chính xác của trường không chính xác bằng "Đức". Tiêu chí sẽ trả về các bản ghi có chứa các ký tự ngoài "Nước Đức", chẳng hạn như "Đức (euro)" hoặc "Châu Âu (Đức)".
Not "T*"
Tìm tất cả các bản ghi trừ những bản ghi bắt đầu bằng chữ T. Nếu cơ sở dữ liệu của bạn dùng tập ký tự đại diện ANSI-92, hãy dùng dấu phần trăm (%) thay cho dấu sao (*).
Not "*t"
Tìm tất cả các bản ghi không kết thúc bằng chữ t. Nếu cơ sở dữ liệu của bạn dùng tập ký tự đại diện ANSI-92, hãy dùng dấu phần trăm thay cho dấu sao.
In(Canada,UK)
Trong danh sách, tìm tất cả các bản ghi có chứa Canada hoặc Vương quốc Anh.
Like "[A-D]*"
Trong trường Văn bản, tìm tất cả các bản ghi bắt đầu từ chữ A tới chữ D. Nếu cơ sở dữ liệu của bạn dùng tập ký tự đại diện ANSI-92, hãy dùng dấu phần trăm thay cho dấu sao.
Like "*ar*"
Tìm tất cả các bản ghi bao gồm chuỗi chữ "ar". Nếu cơ sở dữ liệu của bạn dùng tập ký tự đại diện ANSI-92, hãy dùng dấu phần trăm thay cho dấu sao.
Like "Maison Dewe?"
Tìm tất cả các bản ghi bắt đầu bằng từ "Maison" và chứa chuỗi ký tự thứ hai có 5 chữ cái trong đó 4 chữ cái đầu tiên là "Dewe" và chữ cuối cùng chưa biết (được thể hiện bằng dấu hỏi). Nếu cơ sở dữ liệu của bạn dùng tập ký tự đại diện ANSI-92, hãy dùng dấu gạch dưới (_) thay cho dấu hỏi.
#02/02/2017#
Tìm tất cả các bản ghi của 02/02/2017. Nếu cơ sở dữ liệu của bạn sử dụng tập ký tự đại diện ANSI-92, hãy đặt ngày trong dấu nháy đơn thay vì dấu thăng (#). Ví dụ: '02/02/2017'.
< Date() - 30
Trả về tất cả các ngày đã quá 30 ngày.
Date()
Trả về tất cả bản ghi chứa ngày hôm nay.
Between Date() And DateAdd("M", 3, Date())
Trả về tất cả bản ghi từ ngày hôm nay đến ba tháng kể từ ngày hôm nay.
Is Null
Trả về tất cả các bản ghi có chứa một giá trị null (trống hoặc chưa được xác định).
Is Not Null
Trả về tất cả bản ghi chứa giá trị.
""
Trả về tất cả các bản ghi có chứa chuỗi độ dài bằng 0. Bạn hãy dùng chuỗi độ dài bằng không khi cần thêm một giá trị vào trường bắt buộc nhưng bạn không biết giá trị đó là gì. Ví dụ, một trường có thể yêu cầu số fax nhưng một số khách hàng của bạn có thể không có máy fax. Trong trường hợp đó, bạn hãy nhập một cặp dấu ngoặc kép không có dấu cách ở giữa ("") thay vì một số.
-
Trên tab Thiết kế Truy vấn, trong nhóm Kết quả , hãy bấm Chạy .
-
Xác minh rằng truy vấn đã trả về các bản ghi mà bạn muốn sao chép. Nếu bạn cần thêm hoặc loại bỏ trường khỏi truy vấn, hãy chuyển về cửa sổ Thiết kế và thêm trường như đã mô tả trong bước trước đó hoặc chọn trường mà bạn không muốn và nhấn DELETE để loại bỏ chúng khỏi truy vấn.
Bước 2: Chuyển đổi truy vấn chọn thành truy vấn chắp thêm
-
Trên tab Trang chủ, trong nhóm Dạng xem, hãy bấm Dạng xem, rồi bấm Dạng xem Thiết kế.
-
Trên tab Thiết kế Truy vấn , trong nhóm Loại Truy vấn , bấm Chắp thêm.
Hộp thoại Gắn thêm sẽ xuất hiện.
-
Tiếp theo, hãy chỉ định bạn muốn gắn thêm bản ghi vào bảng trong cơ sở dữ liệu hiện tại hay vào bảng trong một cơ sở dữ liệu khác.
Thực hiện một trong những thao tác sau:
-
Trong hộp thoại Gắn thêm, bấm vào Cơ sở dữ liệu Hiện tại, chọn bảng đích từ hộp tổ hợp Tên Bảng, rồi bấm vào OK.
-hoặc-
-
Trong hộp thoại Gắn thêm, bấm vào Cơ sở dữ liệu Khác.
-
Trong hộp Tên Tệp, nhập vị trí và tên cơ sở dữ liệu đích.
-
Trong hộp tổ hợp Tên Bảng, nhập tên bảng đích, rồi bấm vào OK.
-
Bước 3: Chọn trường đích
Cách bạn chọn trường đích sẽ tùy thuộc vào cách bạn đã tạo truy vấn chọn trong Bước 1.
Nếu bạn đã... |
Access... |
---|---|
Thêm tất cả trường từ bảng nguồn hoặc truy vấn của bạn |
Thêm tất cả trường trong bảng đích vào hàng Chắp thêm vào trong lưới thiết kế |
Thêm từng trường riêng lẻ vào truy vấn hoặc dùng biểu thức và tên trường trong bảng nguồn và bảng đích khớp với nhau |
Tự động thêm các trường đích khớp vào hàng Chắp thêm vào trong truy vấn |
Thêm từng trường riêng lẻ hoặc dùng biểu thức và bất kỳ tên nào trong bảng nguồn và bảng đích không khớp |
Thêm các trường khớp và để trống các trường không khớp |
Nếu Access để trống trường, bạn có thể bấm vào một ô trong hàng Chắp thêm vào và chọn trường đích.
Hình này minh họa cách bạn bấm vào ô trong hàng Chắp thêm vào và chọn trường đích.
Lưu ý: Nếu bạn để trống trường đích, truy vấn sẽ không chắp thêm dữ liệu vào trường đó.
Bước 4: Xem trước và chạy truy vấn chắp thêm
-
Để xem trước các thay đổi của bạn, hãy chuyển sang dạng xem Biểu Dữ liệu.
Mẹo: Để chuyển nhanh dạng xem, hãy bấm chuột phải vào tab ở trên cùng của truy vấn, rồi bấm vào dạng xem mong muốn.
-
Quay lại dạng xem Thiết kế, rồi bấm vào Chạy để chắp thêm bản ghi.
Lưu ý: Khi chạy một truy vấn trả về lượng dữ liệu lớn, bạn có thể nhận được thông báo lỗi cho biết bạn sẽ không thể hoàn tác truy vấn. Hãy thử tăng giới hạn trên phân đoạn bộ nhớ lên 3MB để cho phép truy vấn đi qua.
Ngăn không cho Chế độ Tắt chặn truy vấn
Nếu bạn tìm cách chạy truy vấn chắp thêm và dường như không có gì xảy ra, hãy kiểm tra thanh trạng thái của Access xem có thông báo sau đây không:
Chế độ Tắt đã chặn hành động hoặc sự kiện này.
Để khắc phục lỗi này, bấm vào Bật Nội dung trong Thanh Thông báo để bật truy vấn.
Lưu ý: Khi bạn bật truy vấn chắp thêm, bạn cũng bật tất cả nội dung cơ sở dữ liệu khác.
Nếu bạn không thấy Thanh Thông báo, thanh này có thể bị ẩn. Bạn có thể hiển thị Thanh Thông báo, trừ khi thanh cũng bị tắt. Nếu Thanh Thông báo bị tắt, bạn có thể bật thanh này.