Avatar billede per2edb Guru
12. januar 2024 - 11:21 Der er 1 kommentar og
1 løsning

ProgressBar uden progress

Jeg har en Form benævnt ProgressBar
Når den kaldes "kører" den perfekt
Her er koderne i Formen ProgressBar

Dim l As Long
Dim lbarlnth As Long

Const Steplth = 15

Private Sub Form_Load()
On Error GoTo Err_Form_Load

lbarlnth = Me.Box21.Width - 30
l = 0

Exit_Form_Load:
  Exit Sub

Err_Form_Load:
    MsgBox Err.Description
    Resume Exit_Form_Load
End Sub

Private Sub Form_Timer()
On Error GoTo Err_Form_Timer

Do Until l >= lbarlnth
    Call RunProgressBar(l, "ProgressBar")
    l = l + Steplth
    Pause 0.01
Loop

Pause 2
DoCmd.Close acForm, Me.Name

Exit_Form_Timer:
  Exit Sub

Err_Form_Timer:
    MsgBox Err.Description
    Resume Exit_Form_Timer
End Sub

---------- mit Problem:
Progress virker ikke!

Jeg har en form med noget lagsomt startende (Dataark / Sql)
Jeg vil have progressBar til at køre "ovenover" for at vise det tager tid - Vent!

Jeg kalder:
Private Sub xxxxx_Click()
      DoCmd.OpenForm "ProgressBar"
      <=== Her ligger det "tunge"
end sub

Problemet er PrograssBar først starter efter "det tunge" er udført - altså ingen progress

Jeg har løst det med noget klude koder der kalder en timer - men der må være en bedre løsning
Avatar billede Gustav Ekspert
12. januar 2024 - 12:23 #1
Ikke rigtigt. Access er single-threaded, så der kører kun én ting ad gangen. Man kan så snyde lidt med timeren, og et kald af DoEvents kan hjælpe nogle gange, men det er det.
Avatar billede per2edb Guru
12. januar 2024 - 13:22 #2
Ja DoEvents har jeg prøvet. Det hjælper ikke
Timerløsningen bruger jeg nu men det er enkludeløsning

Jeg må nok fortsætte med den
Tak for svaret
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester