Kerinst,
There is a simpler way to do this that requires less programming and only uses a single view. I tested this using the sample Customers database, using "City" where you would be using "Description", and using "Numerical" where I think you have Quantity. But I have changed the names below to be closer match to your application:
1. Build a report
2. Add an "unbound" value element to the "Group Header". Call it "eReset".
3. Add a value element to the "Group Body". Bind it to "Description". Call it eDescription. Make it invisible.
4. Add a value element to the "Group Body". Bind it to "Quantity". Call it "eQuantity". Make it invisibile.
5. Add an "unbound" value element to the "Group Footer". Call it "eLabel".
6. Add an "unbound" value element to the "Group Footer". Call it "eTotal".
7. Add the following programming:
in Global Code:
var vTotal as double
var vOldNumber as double
var vOldDescription as string
vTotal = 0
vOldNumber = 0
In eReset On Print
vTotal = 0
vOldDescription = vDescription
In vDescription On Print
vTotal = vTotal + vOldNumber
vOldNumber = eQuantity
in eLabel On Print
eLabel = vOldDescription
eTotal = vTotal
vOldDescription = eDescription
8. By right clicking on the title above the "Group Body" column, set the "Break Element" to eDescription with a break code of zero.
9. When running the report, you *must* sort by "Description" - so it is a good idead to attach the sort spec to the report.
This approach will run through your result set (that has already been sorted by "Description"), as it wants to print each and every description, it totals up the "Quntity" - the description does not print because it is invisible. But when when the description changes a break happens, allowing the code to print the description as a label and print the running total. It then resets the running total for the next "group".
Part of the trick to learning how to program is to pretend that you are doing the task you are asking the program to do. In this case, pretend you are the report writer. You get handed a card on which is written the fields in each of your records. They get handed to you in sorted order. You have pen and paper so you can take notes and keep running totals (setting and incrementing variables), and after you have been handed each of the cards you write down your results (the report itself) labeling your totals as necessary.