Hàm DAvg

Áp dụng cho
Access cho Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Bạn có thể dùng hàm DAvg để tính trung bình của một tập hợp các giá trị trong một bộ bản ghi đã xác định (một tên miền). Sử dụng hàm DAvg trong mô-đun Visual Basic for Applications (VBA), trong macro, trong biểu thức truy vấn hoặc trong điều khiển được tính toán.

Ví dụ: bạn có thể sử dụng hàm DAvg trong hàng tiêu chí của một truy vấn chọn về chi phí cước phí để hạn chế kết quả trong những bản ghi có chi phí cước phí vượt quá mức trung bình. Hoặc bạn có thể sử dụng một biểu thức bao gồm hàm DAvg trong một điều khiển được tính toán và hiển thị giá trị trung bình của các đơn hàng trước đó bên cạnh giá trị của một đơn hàng mới.

Cú pháp

DAvg(expr, domain [, criteria] )

Cú pháp của hàm DAvg có những đối số sau:

Đối số Mô tả
expr Bắt buộc. Một biểu thức xác định trường chứa dữ liệu số mà bạn muốn tính trung bình. Đây có thể là một biểu thức chuỗi xác định một trường trong một bảng hoặc truy vấn, hoặc có thể là một biểu thức thực hiện tính toán trên dữ liệu trong trường đó. Trong expr, bạn có thể đưa tên của trường vào bảng, điều khiển trên biểu mẫu, hằng số hoặc hàm. Nếu expr bao gồm một hàm, thì nó có thể là hàm dựng sẵn hoặc do người dùng xác định, nhưng không phải là hàm tổng hợp miền hoặc hàm tổng hợp SQL khác.
miền Bắt buộc. Một biểu thức chuỗi định danh tập hợp các bản ghi cấu thành miền. Đây có thể là tên bảng hoặc tên truy vấn cho truy vấn không yêu cầu tham số.
tiêu chí Không bắt buộc. Một biểu thức chuỗi dùng để hạn chế phạm vi dữ liệu mà hàm DAvg được thực hiện. Ví dụ: tiêu chí thường tương đương với mệnh đề WHERE trong biểu thức SQL, mà không có từ WHERE. Nếu bỏ qua criteria , hàm DAvg sẽ đánh giá expr cho toàn bộ tên miền. Bất kỳ trường nào được đưa vào tiêu chí cũng phải là một trường trong miền; nếu không, hàm DAvg trả về giá trị Null.

    

Chú thích

Các bản ghi chứa giá trị Null không được đưa vào phép tính trung bình.

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

Bạn có thể sử dụng hàm DAvg để chỉ định tiêu chí trong hàng Tiêu chí của truy vấn. Ví dụ: giả sử bạn muốn xem danh sách tất cả sản phẩm được đặt hàng với số lượng cao hơn số lượng đặt hàng trung bình. Bạn có thể tạo truy vấn trên các bảng Đơn hàng, Chi tiết Đơn hàng và Sản phẩm, đưa vào trường Tên Sản phẩm và trường Số lượng, với biểu thức sau đây trong hàng Tiêu chí bên dưới trường Số lượng:

>DAvg("[Quantity]", "Orders")

Bạn cũng có thể sử dụng hàm DAvg trong biểu thức trường được tính toán trong truy vấn hoặc trong hàng Cập nhật thành của truy vấn cập nhật.

Lưu ý

Bạn có thể sử dụng hàm DAvg hoặc Avg trong biểu thức trường được tính toán trong một truy vấn tổng. Nếu bạn sử dụng hàm DAvg , các giá trị được tính trung bình trước khi nhóm dữ liệu. Nếu bạn sử dụng hàm Avg , dữ liệu sẽ được nhóm trước khi tính giá trị trung bình cho biểu thức trường.

Sử dụng hàm DAvg trong điều khiển tính toán khi bạn cần chỉ định các tiêu chí để hạn chế phạm vi dữ liệu mà hàm DAvg được thực hiện. Ví dụ: để hiển thị chi phí cước vận chuyển trung bình cho các lô hàng được gửi đến California, hãy đặt thuộc tính Nguồn Điều khiển của hộp văn bản theo biểu thức sau:

=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Nếu bạn chỉ muốn tính trung bình tất cả các bản ghi trong miền, hãy sử dụng hàm Avg .

Bạn có thể sử dụng hàm DAvg trong một mô-đun hoặc macro hay trong điều khiển được tính toán trên biểu mẫu nếu trường bạn cần hiển thị không nằm trong nguồn bản ghi mà biểu mẫu của bạn dựa trên đó. Ví dụ: giả sử bạn có một biểu mẫu dựa trên bảng Đơn hàng và bạn muốn đưa vào trường Số lượng từ bảng Chi tiết Đơn hàng để hiển thị số lượng mục trung bình do một khách hàng cụ thể đặt hàng. Bạn có thể sử dụng hàm DAvg để thực hiện tính toán này và hiển thị dữ liệu trên biểu mẫu của mình.

Mẹo

  • Nếu bạn sử dụng hàm DAvg trong điều khiển tính toán, bạn có thể muốn đặt điều khiển trên đầu trang hoặc chân trang của biểu mẫu để giá trị cho điều khiển này không bị tính toán lại mỗi khi bạn di chuyển sang một bản ghi mới.
  • Nếu kiểu dữ liệu của trường mà expr được lấy là một số, hàm DAvg sẽ trả về kiểu dữ liệu Double. Nếu bạn sử dụng hàm DAvg trong điều khiển tính toán, hãy đưa hàm chuyển đổi kiểu dữ liệu vào biểu thức để cải thiện hiệu suất.
  • Mặc dù bạn có thể sử dụng hàm DAvg để xác định trung bình các giá trị trong một trường trong bảng ngoại nhưng có thể hiệu quả hơn nếu bạn tạo một truy vấn có chứa tất cả các trường bạn cần, rồi tạo biểu mẫu hoặc báo cáo của bạn dựa trên truy vấn đó.

Lưu ý

Những thay đổi chưa lưu cho bản ghi trong miền sẽ không được bao gồm khi bạn sử dụng hàm này. Nếu bạn muốn hàm DAvg được dựa trên các giá trị thay đổi, trước tiên bạn phải 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 đến một bản ghi khác hoặc sử dụng phương pháp Cập nhật .

Ví dụ

Lưu ý

Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, chọn Tham khảo dành cho Nhà phát triển trong danh sách thả xuống cạnh Tìm kiếm, rồi nhập một hoặc nhiều từ vào hộp tìm kiếm.

Hàm sau đây trả về chi phí cước vận chuyển trung bình cho các đơn hàng được vận chuyển vào hoặc sau một ngày cho trước. Miền là một bảng Đơn hàng. Đối số tiêu chí hạn chế tập bản ghi kết quả dựa trên ngày vận chuyển và quốc gia/vùng lãnh thổ đã cho. Lưu ý rằng từ khóa AND được đưa vào chuỗi để phân tách nhiều trường trong tham đối criteria . Tất cả các bản ghi có trong tính toán hàm DAvg sẽ có cả hai tiêu chí này.

Public Function AvgFreightCost _
    (ByVal strCountryRegion As String, _
     ByVal dteShipDate As Date) As Double
    AvgFreightCost = DAvg("[Freight]", "Orders", _
        "[ShipCountryRegion] = '" & strCountryRegion & _
        "'AND [ShippedDate] >= #" & dteShipDate & "#")
End Function

Để gọi hàm, hãy sử dụng dòng mã sau trong cửa sổ Tức thời:

:AvgFreightCost "UK", #1/1/96#