Solved

Cross tab report totals

Posted on 2013-06-02
9
503 Views
Last Modified: 2013-06-08
Hi, I have an access 2007 cross tab report that I am building at run time. I noticed that the total column does not add correctly. I have done the math several times and cannot see where it may be getting these amounts from. I have attached a sample below. I did not include the columns headings but the last column is supposed to add the columns.

Any help would be appreciated. The report is due tomorrow.
SampleReport.PNG
0
Comment
Question by:smolbeck367
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 3
9 Comments
 
LVL 48

Expert Comment

by:Dale Fye (Access MVP)
ID: 39214708
What code are you using to achieve this report?

I assume you are using the report Open or
Load event to assign columns to the control source of your controls.  What code are you using fot the control source of your totals column?  Are you using the NZ function!
0
 

Author Comment

by:smolbeck367
ID: 39214715
I am using the code below to generate the columns and total. I am not using NZ. I took this from Office help on creating dynamic cross tab reports.

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
   
   Dim intX As Integer
   Dim lngRowTotal As Long

   '  If PrintCount is 1, initialize rowTotal variable.
   '  Add to column totals.
   If Me.PrintCount = 1 Then
      lngRowTotal = 0
       
      For intX = 2 To intColumnCount
         '  Starting at column 2 (first text box with crosstab value),
         '  compute total for current row in the "Detail" section.
         lngRowTotal = lngRowTotal + Me("Col" + Format(intX))

         '  Add crosstab value to total for current column.
         lngRgColumnTotal(intX) = lngRgColumnTotal(intX) + Me("Col" + Format(intX))
      Next intX
       
      '  Put row total in text box in the "Detail" section.
      Me("Col" + Format(intColumnCount + 1)) = lngRowTotal
      '  Add row total for current row to grand total.
      lngReportTotal = lngReportTotal + lngRowTotal
   End If
End Sub
0
 
LVL 48

Expert Comment

by:Dale Fye (Access MVP)
ID: 39214752
It looks like your columns are constant, since you are not doing anything with the other columns in this code.  If that is the case, I think I would use the form load event, and rather than compute the value of the totals column, would define a string that would become the control source of the totals column, something like (from my iPad so may contain typos).

Assuming your field names are like Col1, Col2, Col3, then try something like.

For intX =2 to intcolumncount.
    strCS = strCS & "+ NZ([col" & intX & "])"
Next
StrCS = mid(strCS, 2)
Me("col" + (intColUmnCount +1)).controlsource = strCS
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:smolbeck367
ID: 39214773
I built the report to accept the largest number of associates we have on a team. In our case that would be 11.  Those are my column names.  How would I adjust the code I have not to create the total column and replace it with your code. I am really new to cross tab reports and building them dynamically. I appreciate your patience and guidance.
0
 
LVL 48

Expert Comment

by:Dale Fye (Access MVP)
ID: 39214902
Can you provide me a sample of the output of your Cross-tab query?  Output the query to Excel and change the row and column names as you see appropriate.  That way, I can simply import that into the example crosstab report database I have.  If you need to change the column headings that will be fine, you will get the idea.
0
 

Author Comment

by:smolbeck367
ID: 39214923
Here it is. This is one teams query results. I really appreciate your help.
Sample.xlsx
0
 

Accepted Solution

by:
smolbeck367 earned 0 total points
ID: 39216294
Is there anyone else that may be able to assist me with this question? The report is due this afternoon. I have take the steps to export to excel and update that way for today but I am really hoping that the managers will be able to run their team reports some time very soon. Thanks for the help.
0
 

Author Comment

by:smolbeck367
ID: 39216626
Closing Request - issue resolved.
0
 

Author Closing Comment

by:smolbeck367
ID: 39231330
I was able to find the answer to my question.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question