Tạo và chạy truy vấn cập nhật

Tạo và chạy truy vấn cập nhật

Bạn sử dụng truy vấn cập nhật trong cơ sở dữ liệu Access để thêm, thay đổi hoặc xóa thông tin trong bản ghi hiện có. Bạn có thể xem truy vấn cập nhật dưới dạng một biểu mẫu hiệu quả của hộp thoại Tìm kiếm và Thay thế. Bạn không thể sử dụng truy vấn cập nhật để thêm bản ghi mới vào cơ sở dữ liệu hay xóa bản ghi khỏi cơ sở dữ liệu.

Để thêm các bản ghi mới vào một cơ sở dữ liệu mà bạn dùng truy vấn chắp thêm và xóa toàn bộ các bản ghi khỏi cơ sở dữ liệu mà bạn dùng truy vấn xóa.

Ghi chú:  Bài viết này không áp dụng cho các ứng dụng web của Access – loại cơ sở dữ liệu bạn thiết kế bằng Access và phát hành trực tuyến.

Trong bài viết này

Tổng quan

Sử dụng truy vấn cập nhật

Cập nhật dữ liệu từ bảng này sang bảng khác

Ngăn không cho Chế độ Tắt chặn truy vấn

Phiên bản SQL: câu lệnh UPDATE

Tổng quan

Sau đây là những điểm tương tự và khác biệt giữa Tìm kiếm và thay thế và truy vấn cập nhật:

Giống như hộp thoại Tìm kiếm và thay thế, truy vấn cập nhật sẽ cho phép bạn xác định giá trị nào đang thay thế và giá trị mới là gì.

Không giống như hộp thoại Tìm kiếm và thay thế, truy vấn cập nhật cho phép bạn:

  • Dùng các tiêu chí không tùy thuộc vào giá trị mà bạn muốn thay thế.

  • Cập nhật nhiều bản ghi cùng lúc.

  • Thay đổi bản ghi trong nhiều bảng cùng một lúc.

Giới hạn đối với các trường có thể được cập nhật

Không thể sử dụng truy vấn cập nhật để cập nhật dữ liệu trong các kiểu trường sau:

  • Trường được tính toán    Giá trị trong trường được tính toán không tồn tại vĩnh viễn trong bảng. Chúng chỉ tồn tại trong bộ nhớ tạm thời của máy tính của bạn sau khi Access tính toán chúng. Vì trường được tính toán không có vị trí lưu trữ vĩnh viễn, bạn không thể cập nhật chúng.

  • Các trường từ truy vấn tổng hoặc truy vấn chéo    Giá trị trong các kiểu truy vấn này được tính toán, vì thế không thể được cập nhật bằng truy vấn cập nhật.

  • Trường AutoNumber    Theo thiết kế, các giá trị trong trường AutoNumber chỉ thay đổi khi bạn thêm bản ghi vào bảng.

  • Trường trong truy vấn giá trị duy nhất và truy vấn bản ghi duy nhất    Các giá trị trong các truy vấn này được tóm tắt. Một số giá trị biểu thị bản ghi đơn lẻ và những giá trị khác biểu thị nhiều bản ghi. Không thể cập nhật vì không xác định được bản ghi nào bị loại trừ dưới dạng bản lặp và vì vậy không thể cập nhật tất cả các bản ghi cần thiết. Giới hạn này áp dụng nếu bạn dùng một truy vấn cập nhật hoặc cố gắng cập nhật dữ liệu theo cách thủ công bằng cách nhập các giá trị vào một biểu mẫu hoặc biểu dữ liệu.

  • Trường trong truy vấn hợp    Bạn không thể cập nhật dữ liệu từ các trường trong truy vấn hợp, vì mỗi bản ghi xuất hiện trong hai hoặc nhiều nguồn dữ liệu chỉ xuất hiện một lần trong kết quả truy vấn hợp. Do các bản ghi trùng lặp bị loại bỏ khỏi kết quả, Access không thể cập nhật tất cả các bản ghi cần thiết.

  • Các trường là các khóa chính    Trong một số trường hợp, chẳng hạn như nếu trường khóa chính được dùng trong một mối quan hệ bảng, bạn sẽ không cập nhật được trường đó bằng cách dùng truy vấn trừ khi bạn đã thiết lập mối quan hệ từ trước để tự động xếp tầng cập nhật.

    Ghi chú: Khi bạn xếp tầng các cập nhật, Access sẽ tự động cập nhật các giá trị khóa ngoại khi bạn thay đổi giá trị khóa chính trong bảng chính.

Đầu Trang

Dùng truy vấn cập nhật

Theo kinh nghiệm tốt nhất khi tạo một truy vấn cập nhật, đầu tiên hãy tạo một truy vấn chọn dùng để xác định các bản ghi mà bạn muốn cập nhật, sau đó chuyển truy vấn đó sang một truy vấn cập nhật mà bạn có thể chạy để cập nhật các bản ghi. Bằng cách chọn dữ liệu trước tiên, bạn có thể kiểm tra và đảm bảo rằng bạn đang cập nhật các bản ghi mà bạn muốn trước khi thay đổi bất kỳ dữ liệu thực tế nào.

Mẹo: Sao lưu cơ sở dữ liệu trước khi bạn chạy truy vấn cập nhật. Bạn không thể hoàn tác kết quả của truy vấn cập nhật và sao lưu sẽ giúp đảm bảo rằng bạn có thể đảo ngược những thay đổi của mình nếu bạn đổi ý.

Cách sao lưu cơ sở dữ liệu

  1. Bấm vào Tab Tệp, rồi bấm vào Lưu Như. Lưu ý, nếu bạn đang sử dụng Access 2010, hãy bấm vào tab Tệp, rồi bấm vào Lưu & Phát hành. Nếu bạn đang sử dụng Access 2007, hãy bấm vào Microsoft Office Button > Quản lý > Sao Lưu Cơ sở dữ liệu.

  2. Ở bên phải, bên dưới Nâng cao, bấm Sao lưu Cơ sở Dữ liệu.

  3. Trong hộp thoại Lưu Bản sao dưới dạng, hãy chọn tên và vị trí cho bản sao lưu rồi sau đó bấm Lưu.

    Access đóng tệp gốc, tạo một bản sao lưu rồi sau đó mở lại tệp gốc.

    Để trở lại bản sao lưu, hãy đóng và đổi tên tệp gốc để bản sao lưu có thể dùng tên của phiên bản gốc. Gán tên của phiên bản gốc cho bản sao lưu và mở bản sao lưu đã đổi tên trong Access.

Trong phần này

Bước 1: Tạo một truy vấn chọn để xác định các bản ghi cần cập nhật

Bước 2: Cập nhật bản ghi

Bước 1: Tạo một truy vấn chọn để xác định các bản ghi định cập nhật

  1. Mở cơ sở dữ liệu có chứa bản ghi mà bạn muốn cập nhật.

  2. Trên tab Tạo, trong nhóm Truy vấn, bấm vào Thiết kế Truy vấn. Lưu ý, nếu bạn đang sử dụng Access 2007, trên tab Tạo, trong nhóm Khác, bấm vào Thiết kế Truy vấn.

    Trình thiết kế truy vấn mở ra và hộp thoại Hiện bảng xuất hiện.

  3. Bấm tab Bảng.

  4. Chọn bảng có chứa các bản ghi mà bạn muốn cập nhật, bấm Thêm rồi bấm Đóng.

    Các bảng xuất hiện dưới dạng một hoặc nhiều cửa sổ trong trình thiết kế truy vấn và các cửa sổ liệt kê tất cả các trường trong mỗi bảng. Hình này hiển thị trình thiết kế truy vấn với bảng đặc trưng.

    Bảng trong trình thiết kế truy vấn

    1. Bảng hiển thị trong trình thiết kế truy vấn

    2. Lưới thiết kế truy vấn

  5. Bấm đúp vào các trường mà bạn muốn cập nhật trong cửa sổ bảng. Các trường được chọn sẽ xuất hiện trong hàng Trường trong lưới thiết kế truy vấn.

    Bạn có thể thêm một trường bảng trên mỗi cột trong lưới thiết kế truy vấn.

    Để thêm tất cả các trường vào bảng một cách nhanh chóng, hãy bấm đúp vào dấu sao (*) ở đầu danh sách các trường bảng trong cửa sổ bảng. Hình này hiển thị lưới thiết kế truy vấn cùng với tất cả các trường đã thêm vào:

    Truy vấn đã thêm tất cả các trường bảng.

  6. Để giới hạn kết quả truy vấn dựa trên các giá trị trường, trong lưới thiết kế truy vấn, trong hàng Tiêu chí, nhập các tiêu chí mà bạn muốn dùng để giới hạn kết quả.

    Bảng tiêu chí mẫu

    Bảng sau hiển thị các tiêu chí mẫu và giải thích ảnh hưởng của những tiêu chí này lên kết quả của truy vấn.

    Ghi chú: Nhiều ví dụ trong bảng này sử dụng các ký tự đại diện để làm cho truy vấn trở nên linh hoạt hoặc hiệu quả hơn.

    Tiêu chí

    Hiệu ứ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.

    >="Cajhen"

    Trả về tất cả bản ghi từ Cajhen tới cuối bảng chữ cái

    Giữa #02/02/2017# Và #01/12/2017#

    Trả về các ngày từ 2-Thg2-17 tới 1-Thg12-17 (ANSI-89). Nếu cơ sở dữ liệu của bạn sử dụng bộ ký tự đại diện ANSI-92, hãy sử dụng dấu nháy đơn (') thay cho dấu thăng (#). Ví dụ: Giữa '02/02/2017' Và '01/12/2017'.

    Not "Nước Đức"

    Tìm tất cả các bản ghi mà nội dung chính xác của trường không phải là "Nước Đức." Tiêu chí sẽ trả về các bản ghi có chứa các ký tự ngoài từ "Nước Đức" như "Nước Đức (châu âu)" hay "Châu Âu (Nước Đứ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 sử dụng bộ ký tự đại diện ANSI-92, hãy sử dụng dấu phần trăm (%) thay vì 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 sử dụng bộ ký tự đại diện ANSI-92, hãy sử dụng dấu phần trăm (%) thay vì 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 sử dụng bộ ký tự đại diện ANSI-92, hãy sử dụng dấu phần trăm (%) thay vì 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 sử dụng bộ ký tự đại diện ANSI-92, hãy sử dụng dấu phần trăm (%) thay vì 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 thứ hai có 5 chữ trong đó 4 chữ đầu tiên là "Dewe" chữ cuối cùng không rõ. Nếu cơ sở dữ liệu của bạn dùng bộ ký tự đại diện ANSI-92, hãy dùng dấu gạch dưới (_) thay vì dấu hỏi (?).

    #02/02/2017#

    Tìm toàn bộ bản ghi cho 02/02/2017. Nếu cơ sở dữ liệu của bạn sử dụng bộ 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

    Dùng hàm Date để trả về tất cả các ngày tháng nhiều hơn 30 ngày về trước.

    Date()

    Dùng hàm Date để trả về tất cả các bản ghi chứa ngày hôm nay.

    Between Date() And DateAdd("M", 3, Date())

    Dùng hàm Date và hàm DateAdd để trả về tất cả các bản ghi giữa ngày hôm nay và 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 dùng chuỗi độ dài bằng 0 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ị thực 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ụm dấu ngoặc kép không kèm theo dấu cách giữa chúng ("") thay vì số.

  7. Trên tab Thiết kế, trong nhóm Kết quả, bấm Chạy.

  8. Kiểm tra xem truy vấn có trả về các bản ghi mà bạn muốn cập nhật hay không.

  9. Để xóa bất kỳ trường nào mà bạn đưa vào thiết kế truy vấn, chọn các trường rồi sau đó nhấn DELETE.

  10. Để thêm bất kỳ trường nào mà bạn muốn đưa vào thiết kế truy vấn, hãy kéo các trường bổ sung vào lưới thiết kế truy vấn.

Bước 2: Cập nhật bản ghi

  1. Trên tab Thiết kế, trong nhóm Kiểu Truy vấn, bấm Cập nhật.

    Quy trình này cho bạn biết cách đổi một truy vấn chọn thành truy vấn cập nhật. Khi bạn thực hiện điều này, Access sẽ thêm hàng Cập nhật thành trong lưới thiết kế truy vấn. Hình sau biểu thị một truy vấn cập nhật cho kết quả là tất cả các tài sản đã mua sau mùng 5 tháng 1 năm 2005 và đổi vị trí thành "Nhà kho 3" cho tất cả các bản ghi đáp ứng tiêu chí trên.

    Truy vấn cập nhật với tiêu chí cập nhật đơn lẻ

  2. Định vị trường có chứa dữ liệu mà bạn muốn thay đổi, sau đó nhập biểu thức (tiêu chí thay đổi của bạn) trong hàng Cập nhật thành cho trường đó.

    Bạn có thể dùng biểu thức hợp lệ bất kỳ trong hàng Cập nhật thành.

    Bảng biểu thức mẫu

    Bảng này thể hiện một số biểu thức mẫu và giải thích cách chúng thay đổi dữ liệu.

    Biểu thức

    Kết quả

    "Nhân_viên_bán_hàng"

    Trong trường Văn bản, đổi giá trị văn bản thành Salesperson.

    #10/08/17#

    Trong trường Ngày/Giờ, thay đổi giá trị ngày thành 10-Thg8-17.

    Yes

    Trong trường Yes/No, đổi giá trị No thành Yes.

    "PN" & [PartNumber]

    Thêm "PN" vào đầu mỗi số bộ phận đã xác định.

    [UnitPrice] * [Quantity]

    Nhân giá trị trong các trường có tên là UnitPrice và Quantity.

    [Freight] * 1,5

    Tăng các giá trị trong trường có tên Freight thêm 50 phần trăm.

    DSum("[Quantity] * [UnitPrice]",
    "Order Details", "[ProductID]=" & [ProductID])

    Nếu các giá trị của ProductID trong bảng hiện tại khớp với giá trị của ProductID trong bảng có tên là Order Details, biểu thức này cập nhật tổng doanh số bán hàng bằng cách nhân các giá trị trong trường có tên Quantity với giá trị trong trường UnitPrice. Biểu thức dùng hàm DSum vì nó có thể áp dụng cho nhiều bảng và nhiều trường bảng.

    Right([ShipPostalCode], 5)

    Rút ngắn (xóa) các ký tự ngoài cùng bên trái trong mỗi chuỗi văn bản hoặc số và để lại 5 ký tự ngoài cùng bên phải.

    IIf(([UnitPrice]), 0, [UnitPrice])

    Đổi giá trị null (không rõ hoặc không xác định) thành giá trị không (0) trong trường có tên là UnitPrice.

  3. Trên tab Thiết kế, trong nhóm Kết quả, bấm Chạy.

    Một thông báo cảnh báo xuất hiện.

  4. Để chạy truy vấn và cập nhật dữ liệu, bấm Yes.

    Ghi chú: Khi bạn chạy truy vấn, bạn có thể nhận thấy rằng một số trường bị thiếu trong phần kết quả. Nếu truy vấn của bạn có chứa các trường mà bạn không cập nhật, Access sẽ không hiển thị những trường đó trong kết quả theo mặc định. Ví dụ, bạn có thể thêm các trường ID từ hai bảng nhằm giúp đảm bảo rằng truy vấn của bạn xác định và cập nhật các bản ghi chính xác. Nếu bạn không cập nhật các trường ID đó, Access sẽ không hiển thị chúng trong phần kết quả.

Đầu Trang

Cập nhật dữ liệu từ bảng này sang bảng khác

Khi bạn cần cập nhật dữ liệu từ bảng này sang bảng khác, hãy chú ý quy tắc sau: các kiểu dữ liệu trong các trường nguồn và đích phải trùng khớp hoặc tương thích với nhau.

Hơn nữa, khi bạn cập nhật dữ liệu từ bảng này sang bảng khác và dùng các kiểu dữ liệu tương thích thay vì kiểu dữ liệu trùng khớp, Access sẽ chuyển đổi các kiểu dữ liệu của các trường đó trong bảng đích. Do vậy, một số dữ liệu trong các trường đích có thể bị cắt cụt (xóa). Phần Hạn chế khi chuyển đổi kiểu dữ liệu sẽ liệt kê các cách mà bạn có thể và không thể chuyển đổi kiểu dữ liệu. Bảng trong phần này cũng giải thích khi nào chuyển đổi một kiểu dữ liệu có thể thay đổi hoặc loại bỏ một số hoặc tất cả các dữ liệu trong một trường và có thể loại bỏ dữ liệu nào.

Quy trình cập nhật dữ liệu từ bảng này sang bảng khác sẽ bao gồm các bước chính sau:

  1. Tạo một truy vấn cập nhật và thêm cả hai bảng nguồn và đích vào truy vấn.

  2. Kết hợp các bảng đó trên những trường có chứa thông tin liên quan.

  3. Thêm tên của các trường đích vào hàng Trường của lưới thiết kế truy vấn.

  4. Thêm tên của các trường nguồn vào hàng Cập nhật thành trong lưới thiết kế truy vấn bằng cách dùng cú pháp sau: [source_table].[source_field].

Các bước trong phần này giả định dùng hai bảng tương tự. Trong ví dụ này, bảng Clients nằm trong cơ sở dữ liệu mà bạn được thừa hưởng và có chứa nhiều dữ liệu cập nhật hơn bảng Customers. Bạn có thể nhận thấy rằng một số tên và địa chỉ của người quản lý đã được thay đổi. Vì vậy, bạn quyết định cập nhật bảng Customers với dữ liệu từ bảng Clients.

Bảng Clients

Client ID

Tên

Địa chỉ

Thành phố

Tiểu bang/Tỉnh

Mã bưu điện

Quốc gia/Vùng lãnh thổ

Điện thoại

Liên hệ

1

Bảo tàng Khoa học Baldwin

1 Main St.

New York

NY

12345

Hoa Kỳ

(505) 555-2122

Josh Barnhill

2

Blue Yonder Airlines

52 1st St.

Boston

MA

23456

Hoa Kỳ

(104) 555-2123

Waleed Heloo

3

Coho Winery

3122 75th Ave. S.W.

Seattle

WA

34567

Hoa Kỳ

(206) 555-2124

Pica Guido

4

Contoso Pharmaceuticals

1 Contoso Blvd.

London

Bucks

NS1 EW2

Anh

(171) 555-2125

Zoltan Harmuth

5

Fourth Coffee

Calle Smith 2

Thành phố Mê-xi-cô

56789

Mexico

(7) 555-2126

Julian Price

6

Consolidated Messenger

3123 75th St. S.

Seattle

WA

34567

Hoa Kỳ

(206) 555-2125

Miles Reid

7

Viện Thiết kế Đồ họa

1587 Office Pkwy

Tampa

FL

87654

Hoa Kỳ

(916) 555-2128

Tzipi Butnaru

8

Litware, Inc.

3 Microsoft Way

Portland

HOẶC

31415

Hoa Kỳ

(503) 555-2129

Brian Smith

9

Tailspin Toys

4 Microsoft Way

Portland

HOẶC

31415

Hoa Kỳ

(503) 555-2233

Phil Gibbins

Bảng Customers

Customer ID

Tên

Địa chỉ

Thành phố

Tiểu bang/Tỉnh

Mã bưu điện

Quốc gia hoặc Khu vực

Điện thoại

Người quản lý

1

Bảo tàng Khoa học Baldwin

1 Main St.

New York

NY

12345

Hoa Kỳ

(505) 555-2122

Steve Riley

2

Blue Yonder Airlines

52 1st St.

Boston

MA

23456

Hoa Kỳ

(104) 555-2123

Waleed Heloo

3

Coho Winery

3122 75th Ave. S.W.

Seattle

WA

34567

Hoa Kỳ

(206) 555-2124

Pica Guido

4

Contoso Pharmaceuticals

1 Contoso Blvd.

London

Bucks

NS1 EW2

Anh

(171) 555-2125

Zoltan Harmuth

5

Fourth Coffee

Calle Huevos 134

Thành phố Mê-xi-cô

56789

Mexico

(7) 555-2126

Julian Price

6

Consolidated Messenger

3123 75th St. S.

Seattle

WA

34567

Hoa Kỳ

(206) 555-2125

Christine Hughes

7

Viện Thiết kế Đồ họa

67 Big St.

Tampa

FL

87654

Hoa Kỳ

(916) 555-2128

Dana Birkby

8

Litware, Inc.

3 Microsoft Way

Portland

HOẶC

31415

Hoa Kỳ

(503) 555-2129

Jesper Aaberg

9

Tailspin Toys

4 Microsoft Way

Portland

HOẶC

31415

Hoa Kỳ

(503) 555-2233

Phil Gibbins

Khi bạn tiếp tục, hãy nhớ rằng mặc dù các kiểu dữ liệu của mỗi trường bảng không cần phải trùng khớp nhưng chúng phải tương thích. Access phải có thể chuyển đổi dữ liệu trong bảng nguồn thành một kiểu dữ liệu mà bảng đích có thể dùng. Trong một vài trường hợp, quy trình chuyển đổi có thể xóa một số dữ liệu. Để biết thêm thông tin về những hạn chế khi chuyển đổi kiểu dữ liệu, hãy xem phần Hạn chế khi chuyển đổi kiểu dữ liệu.

Tạo và chạy truy vấn cập nhật

Ghi chú: Các bước sau giả định dùng hai bảng mẫu trước đó. Bạn có thể điều chỉnh các bước cho phù hợp với dữ liệu của bạn.

  1. Trên tab Tạo, trong nhóm Truy vấn, bấm vào Thiết kế Truy vấn. Lưu ý, nếu bạn đang sử dụng Access 2007, trên tab Tạo, trong nhóm Khác, bấm vào Thiết kế Truy vấn.

  2. Trong hộp thoại Hiện Bảng, hãy bấm tab Bảng.

  3. Bấm đúp vào các bảng nguồn và bảng đích rồi sau đó thêm chúng vào truy vấn, sau đó bấm Đóng. Mỗi bảng xuất hiện trong một cửa sổ trong trình thiết kế truy vấn.

  4. Trong hầu hết trường hợp, Access sẽ tự động kết hợp các trường liên quan trong một truy vấn. Để kết hợp một cách thủ công các trường có chứa thông tin liên quan, hãy kéo trường có liên quan từ bảng này sang trường tương ứng trong bảng còn lại.

    Ví dụ, nếu bạn dùng các bảng mẫu hiển thị trước đó, hãy kéo trường ID Khách mua vào trường ID Khách hàng. Access tạo mối quan hệ giữa các trường này trong hai bảng và dùng mối quan hệ đó để kết hợp các bản ghi liên quan bất kỳ.

  5. Trên tab Thiết kế, trong nhóm Kiểu Truy vấn, bấm Cập nhật.

  6. Trong bảng đích, bấm đúp vào các trường mà bạn muốn cập nhật. Mỗi trường xuất hiện trong hàng Trường trong lưới thiết kế truy vấn.

    Nếu bạn dùng bảng mẫu, bạn hãy thêm tất cả các trường trừ trường ID Khách hàng. Chú ý rằng tên của bảng đích sẽ xuất hiện trong hàng Bảng của lưới thiết kế.

  7. Trong hàng Cập nhật thành của truy vấn, trong từng cột chứa trường đích, hãy thêm tên của bảng nguồn và trường đó trong bảng nguồn tương ứng với trường trong bảng đích và đảm bảo bạn dùng cú pháp sau: [Table].[Field], trong đó bạn đóng mở tên bảng và trường bằng dấu ngoặc vuông và bạn phân tách tên bảng và trường bằng dấu chấm.

    Hình này thể hiện một phần lưới thiết kế có dùng các bảng mẫu. Chú ý phần cú pháp của bảng và tên trường trong hàng Cập nhật thành.

    Truy vấn cập nhật một bảng với dữ liệu từ một bảng khác

    Khi bạn tiếp tục, hãy nhớ rằng bạn phải viết đúng tên các trường và bảng trong hàng Cập nhật thành và bạn phải khớp các dấu chấm câu bất kỳ trong các tên bảng và trường gốc. Tuy nhiên, bạn không phải khớp cách viết hoa.

  8. Trên tab Thiết kế, trong nhóm Kết quả, bấm Chạy.

  9. Khi được yêu cầu xác nhận cập nhật, hãy bấm Yes.

Hạn chế khi chuyển đổi kiểu dữ liệu

Bảng sau liệt kê các kiểu dữ liệu mà Access cung cấp, giải thích bất kỳ giới hạn nào khi chuyển đổi kiểu dữ liệu và mô tả ngắn gọn bất kỳ tình trạng mất dữ liệu nào có thể xảy ra trong suốt quá trình chuyển đổi.

Chuyển thành kiểu này

Từ kiểu này

Thay đổi hoặc hạn chế

Văn bản

Bản ghi nhớ

Access xóa tất cả trừ 255 ký tự đầu tiên.

Số

Không có giới hạn.

Ngày/Giờ

Không có giới hạn.

Tiền tệ

Không có giới hạn.

Số Tự động

Không có giới hạn.

Có/Không

Giá trị 1 (Yes trong trường Yes/No) chuyển thành Yes. Giá trị 0 (No trong trường Yes/No) chuyển thành No.

Siêu kết nối

Access cắt cụt các nối kết dài hơn 255 ký tự.

Bản ghi nhớ

Văn bản

Không có giới hạn.

Số

Không có giới hạn.

Ngày/Giờ

Không có giới hạn.

Tiền tệ

Không có giới hạn.

Số Tự động

Không có giới hạn.

Có/Không

Giá trị 1 (Yes trong trường Yes/No) chuyển thành Yes. Giá trị 0 (No trong trường Yes/No) chuyển thành No.

Siêu kết nối

Không có giới hạn.

Số

Văn bản

Văn bản phải bao gồm chữ số, tiền tệ và dấu tách thập phân. Số lượng ký tự trong trường Văn bản phải nằm trong giới hạn kích cỡ dành cho trường Số.

Bản ghi nhớ

Trường Bản ghi nhớ chỉ được chứa văn bản và tiền tệ hợp lệ và dấu tách thập phân. Số lượng ký tự trong trường Bản ghi nhớ phải nằm trong giới hạn kích cỡ dành cho trường Number.

Number nhưng với kích cỡ và độ chuẩn trường khác nhau

Các giá trị không được lớn hơn hoặc nhỏ hơn giá trị mà trường mới có thể lưu trữ. Thay đổi độ chuẩn xác có thể khiến cho Access làm tròn một vài giá trị.

Ngày/Giờ

Các ngày mà bạn có thể chuyển đổi tùy thuộc vào kích cỡ của trường số. Hãy nhớ rằng Access lưu trữ tất cả các ngày tháng dưới dạng các ngày theo thứ tự và lưu trữ các giá trị ngày làm số nguyên động chính xác kép.

Access sử dụng ngày 30 tháng 12 năm 1899 làm ngày số 0. Những ngày nằm ngoài phạm vi ngày 18 tháng 4 năm 1899 và ngày 11 tháng 9 năm 1900 sẽ vượt quá kích cỡ của trường Byte. Những ngày nằm ngoài phạm vi ngày 13 tháng 4 năm 1810 và ngày 16 tháng 9 năm 1989 sẽ vượt quá kích cỡ của trường Integer.

Để cho phép tất cả các ngày có thể tạo, hãy đặt thuộc tính Kích cỡ Trường của trường Số thành Long Integer hoặc lớn hơn.

Tiền tệ

Các giá trị không được vượt quá (hoặc thấp dưới) giới hạn kích cỡ của trường. Ví dụ, bạn có thể chuyển một trường Tiền tệ thành một trường Integer chi khi những giá trị đó lớn hơn 255 và không vượt quá 32.767.

Số Tự động

Các giá trị phải nằm trong giới hạn kích cỡ của trường.

Có/Không

Giá trị "Yes" chuyển thành -1. Giá trị "No" chuyển thành 0.

Ngày/Giờ

Văn bản

Văn bản gốc phải là ngày hoặc ngày/giờ có thể nhận diện được. Ví dụ, 18 tháng 1 năm 2007.

Bản ghi nhớ

Văn bản gốc phải là ngày hoặc ngày/giờ có thể nhận diện được. Ví dụ, 18 tháng 1 năm 2007.

Số

Giá trị phải nằm trong khoảng -657.434 và 2.958.465,99998843.

Tiền tệ

Giá trị phải nằm trong khoảng -$657.434 và $2.958.465,9999.

Số Tự động

Giá trị phải lớn hơn -657.434 và nhỏ hơn 2.958.466.

Có/Không

Giá trị -1 (Yes) chuyển thành ngày 29 tháng 12 năm 1899. Giá trị 0 (No) chuyển thành nửa đêm (0:00).

Tiền tệ

Văn bản

Văn bản phải bao gồm chữ số và dấu tách hợp lệ.

Bản ghi nhớ

Văn bản phải bao gồm chữ số và dấu tách hợp lệ.

Số

Không có giới hạn.

Ngày/Giờ

Không có giới hạn nhưng Access không làm tròn giá trị

Số Tự động

Không có giới hạn.

Có/Không

Giá trị -1 (Yes) chuyển thành $1 và giá trị 0 (No) chuyển thành 0$.

Số Tự động

Văn bản

Không được phép nếu trường Tự động Đánh số được dùng làm khóa chính.

Bản ghi nhớ

Không được phép nếu trường Tự động Đánh số được dùng làm khóa chính.

Số

Không được phép nếu trường Tự động Đánh số được dùng làm khóa chính.

Ngày/Giờ

Không được phép nếu trường Tự động Đánh số được dùng làm khóa chính.

Tiền tệ

Không được phép nếu trường Tự động Đánh số được dùng làm khóa chính.

Có/Không

Không được phép nếu trường Tự động Đánh số được dùng làm khóa chính.

Có/Không

Văn bản

Văn bản gốc chỉ được bao gồm Yes, No, True, False, On hoặc Off.

Bản ghi nhớ

Văn bản gốc chỉ được bao gồm Yes, No, True, False, On hoặc Off.

Số

Số 0 hoặc Null chuyển thành No, tất cả các giá trị khác chuyển thành Yes.

Ngày/Giờ

Null hoặc 0:00:00 chuyển thành No, tất cả các giá trị khác chuyển thành Yes.

Tiền tệ

Không hoặc Null chuyển thành No, tất cả các giá trị khác chuyển thành Yes.

Số Tự động

Tất cả các giá trị chuyển thành Yes.

Siêu kết nối

Văn bản

Nếu văn bản gốc chứa một địa chỉ Web hợp lệ, chẳng hạn như adatum.com, www.adatum.com hoặc http://www.adatum.com , Access sẽ chuyển văn bản thành siêu kết nối. Access cố gắng chuyển đổi các giá trị khác, nghĩa là bạn sẽ thấy văn bản được gạch dưới và con trỏ thay đổi khi bạn trỏ vào nối kết nhưng các nối kết đều không hoạt động. Văn bản có thể chứa bất kỳ giao thức Web hợp lệ nào, bao gồm http://, gopher://, telnet://, ftp://, and wais://.

Bản ghi nhớ

Xem mục nhập trước. Các giới hạn tương tự được áp dụng.

Số

Không được phép khi trường Number là một phần của mối quan hệ. Nếu giá trị gốc có dạng địa chỉ Giao thức Internet (IP) hợp lệ (bốn bộ ba số được phân tách bằng dấu chấm: nnn.nnn.nnn.nnn) và các số lại vô tình trùng với địa chỉ Web, việc chuyển đổi sẽ tạo ra một nối kết hợp lệ. Nếu không, Access sẽ nối http:// vào đầu mỗi giá trị và nối kết được tạo ra không hợp lệ.

Ngày/Giờ

Access nối http:// vào đầu mỗi địa chỉ nhưng các nối kết được tạo ra gần như không hoạt động được.

Tiền tệ

Access nối http:// vào đầu mỗi giá trị, nhưng giống như ngày, các nối kết được tạo ra gần như không hoạt động được.

Số Tự động

Không được phép khi trường Tự động Đánh số là một phần của mối quan hệ. Access nối http:// vào đầu mỗi giá trị nhưng các nối kết được tạo ra gần như không hoạt động được.

Có/Không

Access chuyển tất cả các giá trị Yes thành -1 và tất cả các giá trị No thành 0 và nối http:// vào đầu mỗi giá trị. Các nối kết được tạo ra không hoạt động được.

Đầu Trang

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 hành động và dường như không có vấn đề gì xảy ra, hãy kiểm tra thanh trạng thái của Access để xem thông báo sau đây:

Chế độ Tắt đã chặn hành động hoặc sự kiện này.

Theo mặc định, Access tắt tất cả các truy vấn hành động (cập nhật, nối, xóa hoặc thực hiện các truy vấn bảng) trừ khi cơ sở dữ liệu của bạn nằm ở vị trí đáng tin cậy hoặc cơ sở dữ liệu được ký và đáng tin cậy. Nếu bạn không thực hiện bất kỳ hành động nào trong số những hành động này, bạn vẫn có thể bật truy vấn cho phiên cơ sở dữ liệu hiện tại bằng cách bấm Bật Nội dung trên Thanh Thông báo.

Đầu Trang

Phiên bản SQL: câu lệnh UPDATE

Nếu bạn có thể làm việc với SQL, bạn cũng có thể viết câu lệnh UPDATE bằng cách dùng dạng xem SQL. Để dùng dạng xem SQL, hãy tạo một truy vấn trống mới rồi sau đó chuyển dạng xem SQL.

Phần này trình bày cú pháp và ví dụ về một câu lệnh UPDATE.

Cú pháp

UPDATE bảng SET giá trị mới WHERE tiêu chí;

Câu lệnh UPDATE có các phần sau:

Phần

Mô tả

bảng

Tên của bảng chứa dữ liệu mà bạn muốn sửa đổi.

giá_trị_mới

Một biểu thức xác định giá trị định chèn vào một trường cụ thể trong các bản ghi cập nhật.

tiêu chí

Một biểu thức xác định sẽ cập nhật bản ghi nào. Chỉ có các bản ghi thỏa mãn biểu thức mới được cập nhật.

Chú thích

Câu lệnh UPDATE đặc biệt hữu ích khi bạn muốn thay đổi nhiều bản ghi hoặc khi các bản ghi mà bạn muốn thay đổi nằm trong nhiều bảng.

Bạn có thể thay đổi một vài trường cùng lúc. Ví dụ sau tăng giá trị Order Amount 10 phần trăm và các giá trị Freight lên 3 phần trăm đối với người chuyển hàng ở United Kingdom:

UPDATE Orders

SET OrderAmount = OrderAmount * 1.1,

Freight = Freight * 1.03

WHERE ShipCountry = 'UK';

Đầu Trang

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×