Results 1 to 3 of 3
  1. #1
    Star Lounger
    Join Date
    Jan 2008
    Posts
    51
    Thanks
    0
    Thanked 0 Times in 0 Posts
    I'm running a long process in Access 2003, and using acSysCmdSetStatus to update the status bar so the user knows the progress that's being made. Unfortunately, if Windows decides to stack the application icons in the taskbar or if the user decides to Alt-Tab to another application during processing, the status bar is no longer updated. Is there any way to force the status bar to refresh? The code I'm using is below; I pass a message (Msg) to a module indicating which record is being processed. It often gets stuck around record 20 when I'm processing over 1000 records. It's becoming really irritating to the user since they think processing has gotten stuck rather than just the status.

    Dim Temp As Variant
    If Not IsMissing(Msg) Then
    If Msg <> "" Then
    Temp = SysCmd(acSysCmdSetStatus, Msg)
    Else
    Temp = SysCmd(acSysCmdClearStatus)
    End If
    Else
    Temp = SysCmd(acSysCmdClearStatus)
    End If

  2. #2
    Plutonium Lounger
    Join Date
    Mar 2002
    Posts
    84,353
    Thanks
    0
    Thanked 29 Times in 29 Posts
    You might repeat the call to Syscms acSysCmdsetStatus, and intersperse it with DoEvents instructions.

  3. #3
    Super Moderator
    Join Date
    Aug 2001
    Location
    Evergreen, CO, USA
    Posts
    6,623
    Thanks
    3
    Thanked 60 Times in 60 Posts
    In order to make that work reliably, I think you will have to clear the status bar each time a record changes, and then do the set status. I've found that a small pop-up form with the text message displaying progress seems to behave better.
    Wendell

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •