Microsoft KB Archive/97000

= ACC: Incorrect Results Received with DSum Function =

Article ID: 97000

Article Last Modified on 1/18/2007

-

APPLIES TO


 * Microsoft Access 1.0 Standard Edition
 * Microsoft Access 1.1 Standard Edition
 * Microsoft Access 2.0 Standard Edition
 * Microsoft Access 95 Standard Edition
 * Microsoft Access 97 Standard Edition

-



This article was previously published under Q97000



Moderate: Requires basic macro, coding, and interoperability skills.



SYMPTOMS
When you run a DSum function, you receive incorrect results.



CAUSE
The DSum function returns a set of values in a specified set of records (domain). Typically, you use this function in a text box control on a report to total the values from a field in a table or query.

If you omit the surrounding quotation marks from the expression argument, you don't see the expected error message. Instead, you see a value that is derived by taking the last value of the field from the report and summing it x number of times (once for each record in the table or query).



RESOLUTION
Surround each argument in the Dsum function with quotation marks.



STATUS
This behavior is by design.



Steps to Reproduce Behavior
The following example is based on the sample database Northwind.mdb (or NWIND.MDB in version 1.x or 2.0)

 Create a new form based on the Orders table and save it as MyTestForm.  Add the following text boxes to the detail section of the form.

     Text Box: Name: Incorrect ControlSource: =DSum([Freight],&quot;Orders&quot;) Text Box Name: Correct ControlSource: =DSum(&quot;[Freight]&quot;,&quot;Orders&quot;) Text Box Name: FreightField ControlSource: =[freight]  View the form in Form view. The amount showing in the control &quot;Incorrect&quot; is the amount of the Freight field, multiplied by the total number of records in the Orders table. The amount in the &quot;Correct&quot; control is the correct sum of all the freight in the Orders table.

<div class="references_section">