Solved

Access Report - Calculates and Calculates and Calculates and.........

Posted on 2014-11-15
9
186 Views
Last Modified: 2014-11-16
Hello all
I've been away for awhile.  

I have a Report which will have several SubReports.  The primary SubReport is where I'm struggling.  It is based on a CrossTab query.  When I Open the Report it keeps recalculating and Recalculating and..... you get the idea.....

Anyway.

To see what I mean I've attached a stripped down db.  

To see what I mean and to open the Report.... Open frm_Testing.  Then in the "Select ShiftID" combobox select Shift Number 432.
Then click the Command Button to Open the Report.... You'll see what I mean......

I suspect that it has to do with the way I designed either the Crosstab query (which is cTabqry_LVLDetailEODSinceLastPullEachMach) OR it's one of the Queries that that CrossTab is based upon.....

I've opened and run each of the Queries and they all run fine but the Opening of the Report keeps calculating.... I'm stumped (the query doesn't keep calculating like that when I Run it??????????)

THANKING you Experts in Advance for any suggestions!!!
PullRecsSinceLastEvent.accdb
0
Comment
Question by:wlwebb
  • 4
  • 4
9 Comments
 
LVL 33

Expert Comment

by:Mike Eghtebas
ID: 40445123
In the past, I had a similar project and the report was taking about 30 minutes to be populated. I shortened it to instant response by making a temp table where all the calculated values were ready to be consumed,

This partially depends on the nature of the business. In my case we were dealing with historical data. Once it was calculated and kept in a temp table, it was good and valid data. Of course we were able once in a while refresh it overnight or on demand.

Refresh could include all of the data or surgically it could include one customer or a single day, etc.

I have to end may 10 hour work since this morning and run to the gym for a while. See if my suggestion is applicable in your case.

Mike
0
 
LVL 49

Expert Comment

by:Gustav Brock
ID: 40445396
If I click the button, the report opens in 3-4 seconds.
If I change the command to:

    DoCmd.OpenReport "sRpt_MachPull_Reconcile", acViewNormal, "", "", acNormal

it prints instantly.

All you may need is to compile and run a compact and repair.

/gustav
0
 

Author Comment

by:wlwebb
ID: 40445566
eghtebas & Gustav
Thank you for the responses.  I think my problem is in the query
qry_LVLDetailEODSinceLastPullEachMach

I have a field that is named [RptgShiftID] .  Since the data being selected to report on was actually input by a previous shift(s) but is needed to reconcile this shift's info reporting I have to populate a contrived field that I named [RptgShiftID].  To populate that field in the query, within the query I am calling the Public Variable that's in LVLSysVariable_Module GetlngMyShiftID.

If I have Visual Basic open I can see it flashing "Running" over and over again and it's like it's caught in a loop.  The only thing It is calling from what I can tell is that GetlngMyShiftID.

Any thoughts?????

PS.... Gustav.... I have the option set to always compact and repair on close so that should be being done every time I'm closing.
0
 

Author Comment

by:wlwebb
ID: 40445571
The SQL code for that qry_LVLDetailEODSinceLastPullEachMach query is

SELECT qry_LVLDetailsByShift.LVLInfoDtailID, qry_LVLDetailsByShift.LVLInfoID, qry_LVLDetailsByShift.LVLMachPollPositionID, qry_LVLDetailsByShift.LVLMachinePoll, qry_LVLDetailsByShift.AmtIn, qry_LVLDetailsByShift.AmtVal, qry_LVLDetailsByShift.ShiftID, qry_LVLDetailsByShift.ShiftTypeID, qry_LVLDetailsByShift.DayShiftSeqByType, qry_LVLDetailsByShift.BusDay, Val(GetlngMyShiftID()) AS RptgShiftID
FROM qry_LVLDetailsByShift
WHERE (((qry_LVLDetailsByShift.LVLInfoDtailID)>DLookUp("MaxofLVLInfoDtailID","qry_LastLVLDtailMachPullEachMach","LVLMachPollPositionID=" & [LVLMachPollPositionID])) AND ((qry_LVLDetailsByShift.ShiftTypeID)=3))
GROUP BY qry_LVLDetailsByShift.LVLInfoDtailID, qry_LVLDetailsByShift.LVLInfoID, qry_LVLDetailsByShift.LVLMachPollPositionID, qry_LVLDetailsByShift.LVLMachinePoll, qry_LVLDetailsByShift.AmtIn, qry_LVLDetailsByShift.AmtVal, qry_LVLDetailsByShift.ShiftID, qry_LVLDetailsByShift.ShiftTypeID, qry_LVLDetailsByShift.DayShiftSeqByType, qry_LVLDetailsByShift.BusDay, Val(GetlngMyShiftID())
HAVING (((qry_LVLDetailsByShift.DayShiftSeqByType)=DMax("DayShiftSeqByType","qry_LVLDetailsByShift","BusDay=#" & [BusDay] & "# AND LVLMachPollPositionID=" & [LVLMachPollPositionID])))
ORDER BY qry_LVLDetailsByShift.LVLMachPollPositionID;

Open in new window

0
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 
LVL 49

Expert Comment

by:Gustav Brock
ID: 40445577
You should (always) remove any ordering from the report queries.
Use the sorting and grouping in the report itself.

/gustav
0
 

Author Comment

by:wlwebb
ID: 40445581
Just made a change in the SubReport.......  In my footer I have Unbound Totals.....

Originally (in the upload) my formula in those fields was "DSum("[1],"cTabqry_LVLDetailEODSinceLastPullEachMach","[1]") etc...

I just changed those fields to =Sum([1]) etc....

It isn't recalculating all the time.....

Help me here.... I thought functions to access the data were faster than calculating based upon info on the form itself.??????? Am I wrong in what I understood?
0
 
LVL 49

Accepted Solution

by:
Gustav Brock earned 500 total points
ID: 40445620
Yes, Sum is faster as it uses data already present while DSum will start from scratch.

/gustav
0
 

Author Closing Comment

by:wlwebb
ID: 40445698
Thanks for the input....
0
 
LVL 49

Expert Comment

by:Gustav Brock
ID: 40445725
You are welcome!

/gustav
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

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

It took me quite some time to sort out all the different properties of combo and list boxes available from Visual Basic at run-time. Not that the documentation is lacking: the help pages are quite thorough and well written. The problem was rather wh…
Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

895 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now