voortgangsbalk

Status
Niet open voor verdere reacties.

scw

Gebruiker
Lid geworden
5 jun 2009
Berichten
530
Goedendag,

Ik probeer een voortgangsbalk (progress bar) te realiseren met de volgende code:

Code:
Private Sub CmdUpdate_Click()

Dim Counter As Integer

    MsgBox "Het updaten gaat beginnen.", vbExclamation, "Transport Cost Breakdown"
    If MsgBox("Ben je klaar om te updaten?", vbQuestion + vbYesNo, "voorbeeldDB") = vbNo Then
    Exit Sub
    Else
        DoCmd.SetWarnings False
        
        SysCmd acSysCmdInitMeter, "Aan het updaten: ", 1000
        For Counter = 1 To 1000
        SysCmd acSysCmdUpdateMeter, Counter

        
            DoCmd.OpenQuery "qryA"   'Nu bezig met het updaten van: Query A
            DoCmd.OpenQuery "qryB"   'Nu bezig met het updaten van: Query B
            DoCmd.OpenQuery "qryC"   'Nu bezig met het updaten van: Query C
            DoCmd.OpenQuery "qryD"   'Nu bezig met het updaten van: Query D
        
        Next Counter
        SysCmd acSysCmdRemoveMeter
        
        DoCmd.SetWarnings True
    End If

MsgBox "Het updaten is gelukt!", vbInformation + vbOKOnly, "voorbeeldDB"


Maar wat er nu gebeurt is dat de progress bar rechtsonder verschijnt in het Access venster. Is er ook een mogelijkheid dat Access zelf een messagebox genereert (dus liefst geen eigengemaakte form hiervoor!) met de progress bar. Ik vraag me dan ook af het mogelijk is om aan te geven in diezelfde messagebox met progress bar, waar die dan mee bezig is (zoals aangegeven in de code). Dus bijvoorbeeld eerst bezig met Query A, dan met Query B, etc.

Is dit mogelijk in VBA (niet in function)?

:thumb: bedankt voor de hulp,

scw
 
Gezien het feit dat je de Syscommands al hebt gevonden, weet je ongetwijfeld ook al dat je nu iets wilt dat niet kan. Aangezien je ook de formulieroptie al hebt afgewezen, heb je vrees ik de grenzen van Access nu bereikt!
Tenzij Access 2010 weer een echte progress bar heeft...
 
Laatst bewerkt:
Excuses, maar ik wist niet dat dit niet kon, vandaar m'n vraag. De Syscommands had ik gevonden met wat google-werk. Toch bedankt om te laten weten dat wat ik in gedachten heb niet mogelijk is.

N wil ik het graag zo houden en het werkt op zich goed: echter, de echte 'voortgangsbalk' rechtsonder in de hoek (die van Access zelf) die blijft zichtbaar. Nu zie ik eigenlijk tijdens het updaten alleen de 'originele' Access voortgangsbalk maar m'n eigen ingestelde voortgangsbalk wordt 'onderdrukt'. Dit weet ik omdat wanneer ik op ESC druk tijdens het draaien van die zware query, uiteindelijk de 'originele' voortgangsbalk verdwijnt en ik dan nog heel even m'n eigen gecodeerde voortgangsbalk bezig zie... dus hij doet het wel zeg maar.

Mijn vervolgvraag is: hoe kan ik de 'originele' voortgangsbalk onderdrukken? Is daar een mogelijkheid voor, zodat ik enkel en alleen 'mijn' voortgangsbalk zie?

Nogmaals dank,
:thumb: scw
 
Excusus zijn uiteraard niet nodig.... je stelt ook maar een vraag! Jammer genoeg weet ik daar het antwoord niet op, want dat progress bar verhaal vind ik eerlijk gezegd niet zo heel erg boeiend, dus daar heb ik nog maar weinig tijd in gestoken. Zelf zou ik met een aangepast formuliertje met een balk werken, als je wat wilt laten zien, met daarop wat er ondertussen wordt uitgevoerd. Lijkt mij een stuk fraaier dan een progress bar die je met een vergrootglas moet zoeken op je scherm...
 
Ik begrijp je punt. Zelf vind ik een eigen gefabriceerd formpje weer wat minder: ik probeer toch zoveel mogelijk de MS stijl aan te houden. Het is weliswaar een klein balkje, maar daar kan ik 'm'n gebruikers' wel op attenderen (immers ze moeten toch 0,5-1 uur naar eenzelfde scherm kijken).

Mogelijk heeft iemand anders wél suggesties om die Access voortgangsbalk te onderdrukken??? Heb voorlopig alleen het volgende gevonden:
HTML:
http://www.access-programmers.co.uk/forums/archive/index.php/t-95462.html
 
niemand?

Niemand (toevallig) ervaring hiermee?? :rolleyes:
 
stukje bij beetje

OK ik wilde laten weten dat ik een stukje verder gekomen ben hiermee:

ik heb de Docmd.Openquery vervangen door currentDB.execute.

Hiermee blijft de standaard voortgangsbalk achterwege, het enige is nu dat het me niet lukt om de voortgangsbalk goed te krijgen: de zelf geinitieerde voortgangsbalk verschijnt wel, maar gaat niet verder (schiet z'n doel een beetje voorbij dus :D). Mogelijk moet ik tussen iedere CurrentDB.Execute een code zetten of iets dergelijks???

Ik heb al een poging gewaagd, maar ik heb sterk het gevoel dat ik het niet goed doe. Hopelijk kunnen jullie nog suggesties doen wat ik kan proberen??

Code:
        DoCmd.SetWarnings False
        
        SysCmd acSysCmdInitMeter, "Aan het updaten: ", 1000
        For Counter = 1 To 1000
        SysCmd acSysCmdUpdateMeter, Counter

        
            CurrentDB.Execute "qryA"   'Nu bezig met het updaten van: Query A
            CurrentDB.Execute "qryB"   'Nu bezig met het updaten van: Query B
            CurrentDB.Execute "qryC"   'Nu bezig met het updaten van: Query C
            CurrentDB.Execute "qryD"   'Nu bezig met het updaten van: Query D
        
        Next Counter
        SysCmd acSysCmdRemoveMeter
        
        DoCmd.SetWarnings True
    End If

Bedankt,
:thumb: scw
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan