Wachttijd gebruiken VBA in Access

Status
Niet open voor verdere reacties.

voermanm

Gebruiker
Lid geworden
4 nov 2004
Berichten
36
:Hallo Mensen,

Ik ben bezig met een script dat het volgende doet (ik leg het toch even uit zodat jullie een idee hebben waar ik mee bezig ben).

Ik heb een tekening in Solidworks (is een geavanceerd tekenprogramma zoals autocad). Bij een tekening word eerst een zogenaamd drawing gemaakt (een soort plattegrond). Op deze plattegrond word een zogenoemde Bill Of Materials (BOM) table gemaakt waar alle onderdeeltjes van de tekening opstaan. Nu heb ik drie knoppen namelijk :

1: Drawing aanmaken
2: BOM table aanmaken:
3: BOM table uitlezen naar Access

Nu wil ik deze drie knoppen wijzigen naar 1 knop. Probleem is alleen dat als er een drawing word gemaakt er een x aantal seconden gewacht moet worden voordat er een BOM table aangemaakt kan worden.

Vandaar de vraag is er een functie in VBA die een script voor een x aantal seconden kan laten wachten, dus dat er een paar seconden gewacht word totdat het script verder uitgevoerd word !!

Ik hoop dat iemand iets weet

Bij voorbaat dank

Menno :D :o
 
Kijk even in de help van Acces naar de functie "Timer" Ik heb dat ooit eens gebruikt, maar weet nier meer de juiste code.
 
Ik heb nog iets terug gevonden dat ik toen gebruikt heb.Misschien kan je hieruit iets distileren. Dus maw. Dit staat bij formulier "front". Na 10 sec opent deze dan het formulier Hoodschakelbord.

Private Sub Form_Open(Cancel As Integer)
Me.TimerInterval = 10000
End Sub

Private Sub Form_Timer()
If Me.TimerInterval <> 0 Then
TimerInterval = 0
End If

DoCmd.OpenForm "Hoofdschakelbord"
DoCmd.Close acForm, "front"
End Sub
 

Je zet dus een integer als TimerInterval op 1000 (mili seconden)?
Alleen hoe krijg je het dan voor elkaar dat deze gaat aflopen ?. Moet je daar een aparte functie voor schrijven ??
 
Bij het openen van je formulier gaat de timer in werking (1° sub). Bij de eigenschappen van dit formulier selecteer de timer functie en kies daar voor "gebeurtenis" daar komt de code voor 2° sub. en dan zoverder en zoverder. Dat moet je uiteraard wel even uit proberen.
 
hoi,

is dit misschien iets???

Private Sub Knop0_Click()
Dim iWachttijd, iBegintijd, iEindtijd
Rem --> maak tekening
iWachttijd = 5
iBegintijd = Time()
iEindtijd = DateAdd("s", iWachttijd, iBegintijd)
Do Until Time() > iEindtijd
Loop
Rem --> doe de rest
End Sub

mvg,
Jan Hx.
 
Opgelost

Sorry mensen het duurde even voordat ik er weer mee bezig kon gaan. Het is nu opgelost en wel op de volgende manier :)

Me.timerinterval = 2000
Timerinterval is een standaardfunctie in access!, Over 2000 miliseconden oftewel 2 seconden word de procedure Private Sub Form_Timer() uitgevoerd

Dit is eerst voor mij genoeg :D:D

Hartelijk dank voor alle info !
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan