Applies ToAccess cho Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

Ví dụ: bạn có thể sử dụng hàm DSum trong biểu thức trường được tính toán trong truy vấn để tính toán tổng doanh thu của một nhân viên cụ thể trong một khoảng thời gian. Hoặc bạn có thể sử dụng hàm DSum trong điều khiển tính toán để hiển thị tổng doanh thu hiện có cho một sản phẩm cụ thể.

Cú pháp

DSum ( expr , domain [, criteria] )

pháp hàm DSum có các đối số sau đây:

Đối số

Mô tả

expr

Bắt buộc. Một biểu thức xác định trường số mà bạn muốn tính tổng các giá trị. Nó có thể là một biểu thức chuỗi nhận dạng một trường trong một bảng hoặc truy vấn hoặc nó 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, nó có thể là tích hợp sẵn hoặc do người dùng xác định, nhưng không phải là một hàm tổng hợp miền khác hoặc hàm tổng hợp SQL.

miền

Bắt buộc. Một biểu thức chuỗi xác định tập hợp các bản ghi cấu thành miền. Đó 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. Biểu thức chuỗi được sử dụng để hạn chế phạm vi dữ liệu thực hiện hàm DSum . Ví dụ: tiêu chí thường tương đương với mệnh đề WHERE trong một biểu thức SQL, không có từ WHERE. Nếu đối số criteria bị bỏ qua, hàm DSum sẽ đánh giá expr so với toàn bộ tên miền. Bất kỳ trường nào được bao gồm trong tiêu chí cũng phải là một trường trong miền; nếu không, hàm DSum trả về giá trị Null.

Chú thích

Nếu không có bản ghi nào thỏa mãn đối số criteria hoặc nếu miền không chứa bản ghi nào, hàm DSum trả về giá trị Null.

Cho dù bạn sử dụng hàm DSum trong macro, mô-đun, biểu thức truy vấn hay đ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 tham đối đó sẽ được đánh giá chính xác.

Bạn có thể sử dụng hàm DSum để chỉ định tiêu chí trong hàng Tiêu chí của truy vấn, trong trường được tính toán trong biểu thức truy vấn hoặc trong hàng Cập nhật thành của một truy vấn truy vấn cập nhật.

Lưu ý: Bạn có thể sử dụng hàm DSumhoặc Sum trong một biểu thức trường được tính toán ở truy vấn tổng. Nếu bạn dùng hàm DSum, các giá trị được tính toán trước khi dữ liệu được nhóm lại. Nếu bạn sử dụng hàm Sum , dữ liệu sẽ được nhóm trước các giá trị trong biểu thức trường được đánh giá.

Bạn có thể muốn sử dụng hàm DSum khi cần hiển thị tổng của một tập hợp giá trị từ 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 mình. Ví dụ: giả sử bạn có một biểu mẫu hiển thị thông tin về một sản phẩm cụ thể. Bạn có thể sử dụng hàm DSum để duy trì tổng doanh thu hiện có của sản phẩm đó trong điều khiển được tính toán.

mẹo

Nếu bạn cần duy trì tổng hiện có trong điều khiển trên báo cáo, bạn có thể sử dụng thuộc tính RunningSum của điều khiển đó, nếu trường mà điều khiển dựa trên đó được bao gồm trong nguồn bản ghi cho báo cáo. Sử dụng hàm DSum để duy trì tổng hiện có trên biểu mẫu.

Lưu ý: Những thay đổi không được lưu đối với các 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 DSum 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 lưu Bản ghi trong nhóm Bản ghi trên tab Trang đầu, di chuyển tiêu điểm đến một bản ghi khác hoặc bằng phương pháp Cập nhật.

Ví dụ

Sử dụng hàm DSum trong một biểu thức    Bạn có thể sử dụng hàm miền (chẳng hạn như DSum) trong hàng Cập nhật thành của truy vấn cập nhật. Ví dụ: giả sử bạn muốn theo dõi doanh số hiện tại theo sản phẩm trong bảng Sản phẩm. Bạn có thể thêm trường mới có tên là SalesSoFar vào bảng Sản phẩm và chạy truy vấn cập nhật để tính giá trị chính xác và cập nhật bản ghi. Để thực hiện điều này, hãy tạo một truy vấn mới dựa trên bảng Sản phẩm và trên tab Thiết kế, trong nhóm Loại Truy vấn, bấm Cập nhật. Thêm trường SalesSoFar vào lưới truy vấn và nhập thông tin sau vào hàng Cập nhật thành :

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

Khi bạn chạy truy vấn, Access sẽ tính tổng doanh thu cho từng sản phẩm, dựa trên thông tin từ bảng Chi tiết Đơn hàng. Tổng doanh thu của mỗi sản phẩm sẽ được thêm vào bảng Sản phẩm.

Sử dụng DSum trong mã VBA    

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.

Ví dụ sau đây tính tổng các giá trị từ trường Cước_phí cho các đơn hàng được vận chuyển đến Vương quốc Anh. Miền là bảng Đơn hàng. Đối số criteria giới hạn tập hợp bản ghi kết quả ở những bản ghi mà ShipCountryRegion bằng vương quốc Anh.

Dim curX As CurrencycurX = DSum("[Freight]", "Orders", _    "[ShipCountryRegion] = 'UK'")

Ví dụ tiếp theo sẽ tính tổng bằng cách dùng hai tiêu chí riêng biệt. Lưu ý rằng dấu nháy đơn (') và dấu số (#) được đưa vào biểu thức chuỗi để khi ghép nối các chuỗi, ký tự chuỗi được đặt trong dấu nháy đơn và ngày được đặt trong dấu thăng.

Dim curX As CurrencycurX = DSum("[Freight]", "Orders", _    "[ShipCountryRegion] = 'UK' AND _    [ShippedDate] > #1-1-95#")

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.