Chức năng DLookup

Quan trọng:  Bài viết này là dịch máy, hãy xem tuyên bố miễn trừ trách nhiệm. Bạn hãy tìm phiên bản tiếng Anh của bài viết này tại đây để tham khảo.

Trong cơ sở dữ liệu Access trên máy tính, bạn có thể dùng hàm DLookup để lấy giá trị của một trường cụ thể từ một tập hợp đã xác định các bản ghi (một miền). Sử dụng hàm DLookup trong Visual Basic cho ứng dụng (VBA) mô-đun, một macro, biểu thức truy vấn hoặc một điều khiển được tính toán trên một biểu mẫu hoặc báo cáo.

Ghi chú: Bài viết này không áp dụng cho các ứng dụng web Access.

Bạn có thể sử dụng hàm DLookup để hiển thị giá trị của một trường không có trong nguồn bản ghi cho biểu mẫu hoặc báo cáo của bạn. Ví dụ, giả sử bạn có một biểu mẫu dựa trên một bảng chi tiết đơn hàng. Biểu mẫu Hiển thị các trường OrderID, ProductID, UnitPrice, số lượng và chiết khấu. Tuy nhiên, trường Tên sản phẩm nằm trong một bảng khác, bảng sản phẩm. Bạn có thể sử dụng hàm DLookup trong điều khiển được tính toán để hiển thị tên sản phẩm trên cùng một biểu mẫu.

Cú pháp

DLookup ( expr, miền [tiêu chí] )

Cú pháp hàm DLookup có các đối số:

Đối số

Mô tả

expr

Bắt buộc. Biểu thức xác định các trường mà bạn muốn trả về giá trị. Nó có thể là một biểu thức chuỗi xác định một trường trong bảng hoặc truy vấn, hoặc nó có thể là biểu thức thực hiện một phép tính trên dữ liệu trong trường đó. Trong expr, bạn có thể bao gồm tên của một trường trong bảng, điều khiển trên biểu mẫu, hằng số hoặc một hàm. Nếu expr bao gồm một hàm, nó có thể được dựng sẵn hoặc người dùng xác định, nhưng miền tổng hợp hoặc SQL khác không hàm tổng hợp.

tên miền

Bắt buộc. Biểu thức chuỗi xác định bộ các bản ghi cấu thành tên miền. Nó có thể là một tên bảng hoặc tên truy vấn cho một truy vấn mà không yêu cầu tham số.

tiêu chí

Tùy chọn. Biểu thức chuỗi được dùng để giới hạn phạm vi dữ liệu mà hàm DLookup được thực hiện. Ví dụ, tiêu chí là thường tương đương với mệnh đề WHERE trong một biểu thức SQL, mà không có từ đó. Nếu tiêu chí được bỏ qua, thì hàm DLookup đánh giá expr đối với toàn bộ tên miền. Bất kỳ trường nào trong tiêu chí phải cũng là một trường trong tên miền; Nếu không, hàm DLookup trả về một Null.

Ghi chú

Các hàm DLookup trả về một giá trị trường dựa trên thông tin đã xác định trong tiêu chí. Mặc dù tiêu chí là một đối số tùy chọn, nếu bạn không cung cấp một giá trị tiêu chí, hàm DLookup trả về một giá trị ngẫu nhiên trong tên miền.

Nếu không có bản ghi đáp ứng tiêu chí hoặc nếu tên miền có chứa bản ghi không, hàm DLookup trả về một giá trị Null.

Nếu nhiều hơn một trường có đáp ứng tiêu chí, hàm DLookup trả về lần xuất hiện đầu tiên. Bạn nên xác định tiêu chí sẽ đảm bảo rằng trường giá trị trả về hàm DLookup duy nhất. Bạn có thể muốn sử dụng một giá trị khóa chính cho tiêu chí của bạn, chẳng hạn như [EmployeeID] trong ví dụ sau, để đảm bảo rằng hàm DLookup trả về một giá trị duy nhất:

Dim varX As Variant
varX = DLookup("[LastName]", "Employees", _
"[EmployeeID] = 1")

Cho dù bạn sử dụng hàm DLookup trong macro hoặc mô-đun, biểu thức truy vấn hoặc điều khiển được tính toán, bạn phải xây dựng đối số tiêu chí cẩn thận để đảm bảo rằng nó sẽ được đánh giá chính xác.

Bạn có thể dùng hàm DLookup để xác định tiêu chí trong hàng tiêu chí của truy vấn, trong một biểu thức trường được tính toán trong truy vấn, hoặc trong hàng Cập Nhật vào trong một truy vấn cập nhật.

Bạn cũng có thể dùng hàm DLookup trong một biểu thức trong một điều khiển được tính toán trên biểu mẫu hoặc báo cáo nếu trường mà bạn cần hiển thị không có trong nguồn bản ghi mà biểu mẫu hoặc báo cáo của bạn được dựa trên. Ví dụ, giả sử bạn có một biểu mẫu chi tiết đơn hàng dựa trên một bảng chi tiết đơn hàng với một hộp văn bản được gọi là ProductID Hiển thị trường ProductID. Để tìm kiếm tên sản phẩm từ một bảng sản phẩm dựa trên giá trị trong hộp văn bản, bạn có thể tạo một hộp văn bản khác và đặt thuộc tính nguồn điều khiển của biểu thức sau đây:

=DLookup("[ProductName]", "Products", "[ProductID] =" & Forms![Order Details]!ProductID)

Mẹo

  • Mặc dù bạn có thể sử dụng hàm DLookup để hiển thị một giá trị từ một trường trong một bảng phụ, nó có thể có hiệu quả hơn để tạo một truy vấn có chứa các trường mà bạn cần từ cả hai bảng và sau đó để tạo biểu mẫu hoặc báo cáo trên truy vấn đó.

  • Bạn cũng có thể dùng trình hướng dẫn tra cứu để tìm giá trị trong bảng ngoại.

Ghi chú: Các thay đổi với bản ghi trong tên miền không được bao gồm khi bạn sử dụng hàm này. Nếu bạn muốn hàm DLookup được dựa trên các giá trị đã thay đổi, bạn phải trước tiên lưu các thay đổi bằng cách bấm vào Lưu bản ghi bên dưới bản ghi trên tab dữ liệu , di chuyển tiêu điểm vào bản ghi khác, hoặc bằng cách dùng phương pháp Cập Nhật .

Ví dụ

Ghi chú: Ví dụ dưới đây minh họa sử dụng hàm này trong Visual Basic for Applications (VBA) mô-đun. Để biết thêm thông tin về cách làm việc với VBA, chọn Nhà phát triển tham chiếu trong danh sách thả xuống bên cạnh Tìm kiếm và nhập một hoặc nhiều thuật ngữ trong hộp tìm kiếm.

Ví dụ sau trả về tên thông tin từ trường CompanyName của bản ghi đáp ứng tiêu chí. Tên miền là bảng chủ hàng. Đối số criteria giới hạn kết quả bộ bản ghi với những người mà ShipperID bằng 1.

Dim varX As Variant
varX = DLookup("[CompanyName]", _
"Shippers", "[ShipperID] = 1")

Ví dụ tiếp theo từ bảng chủ hàng sử dụng điều khiển biểu mẫu ShipperID để cung cấp các tiêu chí cho hàm DLookup . Lưu ý rằng tham chiếu đến điều khiển không có trong dấu ngoặc kép biểu thị các chuỗi. Điều này đảm bảo rằng mỗi khi hàm DLookup được gọi là, Access sẽ có được giá trị hiện tại từ điều khiển.

Dim varX As Variant
varX = DLookup("[CompanyName]", "Shippers", _
"[ShipperID] = " & Forms!Shippers!ShipperID)

Ví dụ tiếp theo sử dụng một biến số, intSearch, để lấy giá trị.

Dim intSearch As Integer
Dim varX As Variant
intSearch = 1
varX = DLookup("[CompanyName]", "Shippers", _
"[ShipperID] = " & intSearch)

Ghi chú: Tuyên bố miễn trừ trách nhiệm Dịch Máy: Bài viết này do một hệ thống máy tính dịch mà không có sự can thiệp của con người. Microsoft cung cấp những bản dịch máy này để giúp người dùng không nói tiếng Anh hiểu nội dung về các sản phẩm, dịch vụ và công nghệ của Microsoft. Do bài viết này được dịch máy nên có thể có các lỗi về từ vựng, cú pháp hoặc ngữ pháp.

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.

×