04. juli 2006 - 11:19Der er
13 kommentarer og 1 løsning
Makro kørsler / VBA
Jeg har en tabel kaldet Kørsler. I denne tabel er der 4 kolonner:
1) Programnr (et 4 cifret id nr.) 2) Starttid 3) Sluttid 4) Makronavn (dette er Access makro'er)
Jeg har så fremfundet nedenstående VBA kode. Jeg har så lavet en formular der fortløbende viser samtlige post, problemet er så bare at koden kun fungere når den pågældende post er i fokus på starttidspunktet. Hvordan kan jeg få den til at tjekke om der er andre "makroer" der skal køre?
Private Sub Form_Timer() Dim StartTimeA As Date Dim StopTimeA As Date
If Time >= StartTimeA And Time < StopTimeA Then ' Run macro. Debug.Print "Run Macro..." DoCmd.RunMacro (Me!Makronavn) Else 'Don't run macro. Debug.Print "Don't run Macro..." End If
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Slettet bruger
04. juli 2006 - 11:35#1
Du er vel nød til at loope dig igennem alle poster!~)
but why do you need to run a macro for all records in a timer event?
Synes godt om
Slettet bruger
04. juli 2006 - 11:59#11
Ja, hvad skal den macro...
Synes godt om
Slettet bruger
04. juli 2006 - 12:26#12
Det er bliver på et tidspunkt til mange forskellige forspørgelser og forsendelser. Samt for at holde styr på hvad der køre hvornår. Grunden til jeg har oprettet tablen var for at skabe et bedre overblik istedet for at have en 10 km lang VBA kode og for at det var nemmere at rette, slette og tilføje kørsler.
Jeg har løst problemet ved at lave en ekstra kolonne der hedder findtid. Her skriver jeg det tidspunkt der ligger 5 sekunder før og har indsat efter DIM'erne følgende: Forms!Kørsler1!Findtid.SetFocus DoCmd.FindRecord Time
Den færdig kode ser således ud:
Private Sub Form_Timer() Dim StartTimeA As Date Dim StopTimeA As Date
Forms!Kørsler1!Findtid.SetFocus DoCmd.FindRecord Time
If Time >= StartTimeA And Time < StopTimeA Then ' Run macro. Debug.Print "Run Macro..." DoCmd.RunMacro (Me!Makronavn) Else 'Don't run macro. Debug.Print "Don't run Macro..." End If
End Sub
DET VIRKER :-)
Men tak for jeres hurtige kommentarer og svar.
Synes godt om
Slettet bruger
04. juli 2006 - 12:26#13
Terry, selvom jeg ikke har brugt din løsning synes jeg du skal have nogle point.
well as they say "If it works then dont touch it (change it)) :o)
thanks a lot for the points, have a nice "sunny" day
Synes godt om
Ny brugerNybegynder
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.