Avatar billede puppetmaster Nybegynder
17. juni 2004 - 10:49 Der er 15 kommentarer og
1 løsning

Bruge [ctrl] [break] til at stoppe program

I mit program er der mulighed for at overføre data til Excel. Da det drejer sig om om til ca. 20.000 poster (og senere flere!), vil jeg gerne give brugerne en mulighed for at stoppe programmet i overførslen, men hvordan? Helst med [ctrl]+[break], men andre genvejstaster er også ok.
Avatar billede puppetmaster Nybegynder
17. juni 2004 - 10:50 #1
Hvis jeg bruger [ctrl]+[break], får jeg beskeden "Code execution has been interupted".
Det er fint nok til mig, men hvad når programmet skal afvikles på en Access XP Runtime???
Vil programmet så gå helt i ged?
17. juni 2004 - 10:51 #2
Du burde kunne klare det med error-handler i koden, som starter overførslen.
Hvordan ser koden ud?
Avatar billede puppetmaster Nybegynder
17. juni 2004 - 10:54 #3
Hmmm...det tror jeg nu ikke, for [ctrl]+[break] er ikke en error som sådan.
17. juni 2004 - 10:54 #4
Prøv med denne:

On Error Goto Err_OverførTilExcel
  'din kode
  'Docmd.TransferSpreadsheet......
  '...
  Exit Sub
Err_OverførTilExcel:
  Select Case Err
      Case else
          msgbox "Fejlkode: " & err & vbnewline & Err.description, vbcritical
  end select
End Sub
Avatar billede puppetmaster Nybegynder
17. juni 2004 - 10:56 #5
Yep, den viser intet.
Avatar billede puppetmaster Nybegynder
17. juni 2004 - 10:59 #6
Hmmm...nu gør den, selv når jeg ikke bruger ctrl+break.....der skal vist også debugges lidt... :(
17. juni 2004 - 11:00 #7
har du husket Exit Sub for error-handleren?
Avatar billede puppetmaster Nybegynder
17. juni 2004 - 11:04 #8
Nope! Men selv da viser den fejlmeddelelsen! :( (i gang med debuggeren)
Avatar billede puppetmaster Nybegynder
17. juni 2004 - 11:06 #9
rst.Close
  Set rst = Nothing
  Set dbs = Nothing
Err_OverførTilExcel:
  Select Case Err
      Case Else
          MsgBox "Fejlkode: " & Err & vbNewLine & Err.Description, vbCritical
  End Select
Exit Sub
End Sub


Efter linien  Set dbs = Nothing
springes der til linien  Select Case Err!!! :(
17. juni 2004 - 11:11 #10
ja, det er det jeg siger: Din Exit Sub skal stå FØR error-handleren. Dvs før linien Err_OverførTilExcel:

Således:
rst.Close
  Set rst = Nothing
  Set dbs = Nothing
  Exit Sub
Err_OverførTilExcel:
  Select Case Err
      Case Else
          MsgBox "Fejlkode: " & Err & vbNewLine & Err.Description, vbCritical
  End Select
End Sub



For ellers ved Access jo ikke, at den ikke skal fortsætte ned til Msgbox'en
Avatar billede puppetmaster Nybegynder
17. juni 2004 - 11:14 #11
AAARGGH!! Godnat. Det ER fredag i dag! (eller........)
17. juni 2004 - 11:15 #12
næsten :o)
Avatar billede puppetmaster Nybegynder
17. juni 2004 - 11:18 #13
Nå, men når der trykkes på ctrl-break, bliver koden i error-handleren IKKE afviklet.... :(
17. juni 2004 - 11:29 #14
hmm, så kom vi ikke så meget videre....

Men jeg tror så, at fejlen ikke længere opstår i Access, men i Excel eller i et mellemliggende program.
Jeg TROR derfor heller ikke at Runtime'en vil gå ned. Men jeg kan ikke garantere noget... :o(
Avatar billede puppetmaster Nybegynder
21. juni 2004 - 12:18 #15
Det må komme an på en test, tak for hjælpen i hvert tilfælde.
21. juni 2004 - 12:21 #16
tak for point - selvom du ikke fik løs problemet :o)
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
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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