473,385 Members | 1,356 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

Countdown Time Left before Idle Minutes Timeout

I have used Microsoft's instructions https://support.microsoft.com/en-us/kb/128814 and your threads http://bytes.com/topic/access/answer...off-idle-users and http://bytes.com/topic/access/answer...ime-inactivity to create an Application Quit procedure that opens a warning form. The user has an option to reset the timer and continue working (command button) or to Exit the application (another command button). If they do nothing for 5 minutes the application quits. This all works fine. My issue is that I want to show the countdown of the minutes and seconds left before the application quits. I am getting 00:00 for the countdown. Could you please look at my code (line 57) and tell me what I am doing wrong? Thank you.

Expand|Select|Wrap|Line Numbers
  1. Private Sub Form_Timer()
  2.     'IDLEMinutes determines how much idle time to wait before
  3.     'running the IdleTimeDetected Subroutine.
  4.     Const IDLEMINUTES = 1
  5.  
  6.     Static PrevControlName As String
  7.     Static PrevFormName As String
  8.     Static ExpiredTime
  9.  
  10.     Dim ActiveFormName As String
  11.     Dim ActiveControlName As String
  12.     Dim ExpiredMinutes
  13.  
  14.     On Error Resume Next
  15.  
  16.     'Get the active form and control name.
  17.     ActiveFormName = Screen.ActiveForm.Name
  18.     If Err Then
  19.         ActiveFormName = "No Active Form"
  20.         Err = 0
  21.     End If
  22.  
  23.     ActiveControlName = Screen.ActiveControl.Name
  24.     If Err Then
  25.         ActiveControlName = "No Active Control"
  26.         Err = 0
  27.     End If
  28.  
  29.     ' Record the current active names and reset ExpiredTime if:
  30.          '    1. They have not been recorded yet (code is running
  31.          '       for the first time).
  32.          '    2. The previous names are different than the current ones
  33.          '       (the user has done something different during the timer
  34.          '        interval).
  35.     If (PrevControlName = "") Or (PrevFormName = "") _
  36.         Or (ActiveFormName <> PrevFormName) _
  37.         Or (ActiveControlName <> PrevControlName) Then
  38.             PrevControlName = ActiveControlName
  39.             PrevFormName = ActiveFormName
  40.             ExpiredTime = 0
  41.     Else
  42.         ' ...otherwise the user was idle during the time interval, so
  43.         ' increment the total expired time.
  44.         ExpiredTime = ExpiredTime + Me.TimerInterval
  45.     End If
  46.  
  47.     ' Does the total expired time exceed the IDLEMINUTES?
  48.     ExpiredMinutes = (ExpiredTime / 1000) / 60
  49.     Debug.Print "Warning Expired Minutes: " & Format(ExpiredMinutes, "hh:nn")
  50.  
  51.     If ExpiredMinutes >= IDLEMINUTES Then
  52.         ' ...if so, then reset the expired time to zero...
  53.         ExpiredTime = 0
  54.         ' ...and call the IdleTimeDetected subroutine.
  55.         IdleTimeDetected ExpiredMinutes
  56.     Else
  57.         Me.txtTimeLeft = Format((IDLEMINUTES - ExpiredMinutes) / 3600, "hh:nn")
  58.         Debug.Print "Warning Time Left: " & Format((IDLEMINUTES - ExpiredMinutes) / 3600, "hh:nn")
  59.     End If
  60.  
  61. End Sub
May 26 '15 #1

✓ answered by jforbes

Try using 1440 instead of 3600 on Line 57:
24 hours * 60 Minutes = 1440 minutes per day.

You also might want to use Minutes and Seconds in the Format string, like:
Expand|Select|Wrap|Line Numbers
  1. Me.txtTimeLeft = Format((IDLEMINUTES - ExpiredMinutes) / 1440, "nn:ss")

4 2553
jforbes
1,107 Expert 1GB
Try using 1440 instead of 3600 on Line 57:
24 hours * 60 Minutes = 1440 minutes per day.

You also might want to use Minutes and Seconds in the Format string, like:
Expand|Select|Wrap|Line Numbers
  1. Me.txtTimeLeft = Format((IDLEMINUTES - ExpiredMinutes) / 1440, "nn:ss")
May 26 '15 #2
Rabbit
12,516 Expert Mod 8TB
A couple of things wrong.
  • The format string you are using is for datetime data types. What you have is a numeric data type.
  • You are doing 1 - expired minutes. Then dividing the minutes by 3600. Which doesn't make any sense because according to your first post, expired minutes can't exceed 5. So what you have is a very small number divided by a very large number. Basically, zero.
May 26 '15 #3
Thank you, jforbes. That did it.
May 26 '15 #4
Rabbit, thank you for the explanation. I appreciate knowing the answer and understanding what I was doing wrong.
May 26 '15 #5

Sign in to post your reply or Sign up for a free account.

Similar topics

0
by: bettina | last post by:
My Website works pretty good, except when it remains some minutes open without that any click will be made. For example, I'm in breweries.php (a subpage from index.php) and I make nothing except...
1
by: Michal Januszczyk | last post by:
I build some web aplication that needs to return some binary data using Response.BinaryWrite(byte data) All is fine, but one thing: the browser does not display "estimated time left" and the size of...
5
by: sam | last post by:
hi all, i continue to footle around on my spanking new ultra 20 (1.8GHz / Opteron Model 144), gradually trying to get to grips with python and unix both. the slow print time in IDLE had...
1
by: llucas | last post by:
How can I format a field track minutes and seconds?
1
by: nethajireddy | last post by:
Hello techies.. In my office one pc is there in that time will change automatically 30 minutes slow, OS is XP, I changed in Notification area time as well as in bios, same thing repeating, i...
3
omerbutt
by: omerbutt | last post by:
hi , i am making a post notices section where i have to show the notices that are still valid, at the time of posting the notice i save the time stamp and date in different columns now i have to...
1
by: mdthom08 | last post by:
I can't figure out the formula to convert military time all to minutes.
1
atksamy
by: atksamy | last post by:
Hi, I have a form with a few buttons which execute code when pressed like running validations on the database. some of these code could could run for a few minutes so is there any way to show the...
0
by: agam | last post by:
As I wrote before, Is there any possible way to return the expiration time of a pefeied cookie by JavaScript? What I read so far: 1) Create another cookie to hold the expire time. -I don't want...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.