We help IT Professionals succeed at work.

difficult query calculation (tweak needed)

verpit
verpit asked
on
397 Views
Last Modified: 2013-11-27
The latest revision is at http://www.dropio.com/tasksdb.  I am in need of a better calculation or elimination of unneeded values.  The qryCalcActive is supposed to note the time span for each 'period of activity' in a field called ActiveTimes which it does do.  The problem is that it also reports other data as active when it really isn't.  Hnasr states that Active=False "somewhere?" should fix it.  I'm going to look for this next.  Much thanks to anyone who can take a look at the database and chime in.
Comment
Watch Question

Author

Commented:
Added the criteria to qryCalcActive field ActiveTimes as Active=False seems empty the query.  What could I be doing wrong?

Author

Commented:
some renames...  qryCalcActiveDurations and now MinutesActive that is not reporting minutes active but also some unecessary minutes.  Help requested.   update posted http://www.dropio.com/tasksdb
OK, I'm looking at qryCalcActiveDurations.

Help me zero in on the problem.  the results are shown in the attached file.

What should they look like instead?

Thanks.

   


qryCalcActiveDurations-Results.GIF

Author

Commented:
It's difficult to tell because I am not sure what you left active and for how long.  
If you clear the records in the tables, perform the following.
Leave only one item open for say 5 minutes or so.
Then, deactivate it by unchecking the active check box in frmAddTasks
You will notice that the day field of the frmAddTasks itself now shows No Active Task!
This is what you want.  
Now you should be able to look at qryActiveDurations and see some values that should not be there.  Ideally, if only one task and one duration was in active status for 5 minutes, then only that task and that duration should show the value.
I downloaded the DB as you posted it and changed no data.

Would something in it be changing the data just by virtue of opening the DB?

Author

Commented:
Not that I know of....  I just clear the records in the two main tables and run a task for 5 minutes through frmAddTasks.  I then make that task inactive and check the query.  Should only be one number 5.  I'm doing it again now to try and nail down the specifics.

Author

Commented:
This is very odd!  In the database I just uploaded, I was about to write saying I made a mistake and that it works perfectly.  Notice in the query, that it now shows 18 values for nearly every task at at least one point.  I started clicking them at random, which has the effect of activating them and deactivation whatever came before.  I clicked done on a few and reactivated some of them randomly.  Nothing has been open for more than 15 minutes (including the pear which has an extra 3 minutes added).
So is the problem believed to be in the CAPTURE of the data, or the REPORTING of the data?

I was looking at the reporting side ...

Author

Commented:
I think it could be in the CAPTURE of the data.  This thread here denotes some changes to the table that GrayL is saying need to be fixed first.   Can you read it here https://www.experts-exchange.com/Microsoft/Development/MS_Access/Access_Architecture-Design/Q_23791933.html?cid=239#a22661151 and give me your perspective?
Hamed NasrRetired IT Professional
CERTIFIED EXPERT

Commented:
Modified version taking seconds into account, check and report!

database-v1-3-5c-x.mdb

Author

Commented:
That's excellent!

Version uploaded as version 5e.  It looks like it calculates correctly and I can't get the query to do anything other than behave perfectly!

Interestingly, it also calculates time that was 'inactive' which is not desired.  Perhaps that time could be shown as a 0 or something?  Also, the time in the query should perhaps report in format min:sec .  This will make for an easier comparison down the road with reporting and with timer repair.

What do you think?


Hamed NasrRetired IT Professional
CERTIFIED EXPERT

Commented:
<Interestingly, it also calculates time that was 'inactive' which is not desired>
Checking
Hamed NasrRetired IT Professional
CERTIFIED EXPERT

Commented:
Are you talking about calculations in the query?
We are excluding that in the query that is used in the timing "qryCalcLifeSpan"
"qryCalcActiveDurations" query is intermediate and you can nest it later in the used query. But do that in a tidy up stage.

Author

Commented:
I'd rather get the query right first.  I see seconds for inactivity which is undesired.  The desire is to see only "active" seconds and preferably represented in min:sec

Author

Commented:
I may not be following you entirely.  If qryCalcActiveDurations is intermediate, then the goal would be to report the totals in qryCalcLifeSpan, correct?  This is great!

Even so, the periods of 'inactivity' should show as zeros and the reporting should still be min:sec.
Hamed NasrRetired IT Professional
CERTIFIED EXPERT

Commented:

Author

Commented:
Looks better....  How to represent in min:sec ?

Author

Commented:
I spoke too soon..  Version F uploaded.   The longest task is the one named "second task" which was open for over 3 minutes and shows zero's in every active slot.  This is partially why it needs to show min:sec so that I can more easily troubleshoot.
Retired IT Professional
CERTIFIED EXPERT
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION

Author

Commented:
OK... thanks for the min:sec calculation...  this helps.

Notice the screenshot.  I have uploaded the database here (version 5g) so you can see it in action.  There is still a problem somewhere?

1.png
Hamed NasrRetired IT Professional
CERTIFIED EXPERT

Commented:
I see that, and it is because of completing the task then reactivating!
Looking into that!

Author

Commented:
you are amazing!


thank you for hanging in there...
Hamed NasrRetired IT Professional
CERTIFIED EXPERT

Commented:
Looks easy, but may not.  
The idea is not to have two consquative inactives. This situation happens if task b is active, and you activate task a then task b becomes inactive, when clicking complete of task b, it is recorded as inactive for a second time.
Checking later when time allows!

Author

Commented:
I appreciate it very much....  I'll look forward to your reply.
Hamed NasrRetired IT Professional
CERTIFIED EXPERT

Commented:
Hello again,
Please test this version.
database-v1-3-5g-x.mdb

Author

Commented:
I can't respond to this post here https://www.experts-exchange.com/Programming/Languages/SQL_Syntax/Q_23790442.html?cid=239#a22668278 because there is no submit button when using it from work.  I sent you an email with lenghty detail.  

Here is what I found in short:

1. Unchecked active box shows active time, the good news is that 'inactive time' isn't shown but unchecked is not desired.

2. The done button (which used to move completed items to the bottom of the form no longer works leaving each task always incomplete and in the top of the form.

Author

Commented:
np

Author

Commented:
hnasr...  grayl might be on to something here...  What do you think about this?

Author

Commented:
closed in interest of clarity
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.