Gå til innhold

Anbefalte innlegg

Hei alle sammen!

 

Har et problem når musepekeren skal skifte utsende til timeglass(hourglass) i VB.

Nemlig, alt virket perfekt da jeg brukte orinære knapper(button-kontoller) med å aktivere en sql spørring.

Sånn ser koden ut:

-----------------------------------------------------------------------------------------

Dim db AS DAO.Database

 

Private Sub Command1_Click()

 

Set db = CurrentDb()

DoCmd.Hourglass(True)

sql = "INSERT INTO arbeider(id, navn, dato) SELECT id, name, date FROM Employer"

db.Execute(sql)

 

DoCmd.Hourglass(False)

 

End Sub

------------------------------------------------------------------------------------------

 

Som dere ser er dette et enkelt sak. En enkel spørring kjøres og det er det.

Problemet oppstod da jeg bestemte meg å bruke bilder som jeg lagde i paintshop(gif) i stedet for knapper til å klikke på. Sqlen kjøres men muspekeren skifter ikke utsende. Hvis man komenterer bort 'DoCmd.Hourglass(False), skifter musepekeren utsende etter at sqlen er blitt kjørt.

Jeg har prøvd å bruke Screen.MousePointer = 11 til ingen nytte. :(

Jeg sitter virkelig fast her og trenger deres hjelp!

På forhånd takk

Lenke til kommentar
Videoannonse
Annonse

Ettersom jeg ikke aner hvilken kontroll/klasse DoCmd i dette tilfellet er, kan jeg ikke teste ut koden, men jeg skulle tro problemet kan løses ved å legge DoEvents etter den første Hourglass-linjen. Da burde musepekeren oppdateres.

Lenke til kommentar

Jeg programmerer i MS Access med vba. Der kan en skrive i en subprosedyre DoCmd.Hourglass(True) og muspekeren skifter tilstand til å se ut som en timeglass. I dette tilfellet skulle timeglasset vises etter at jeg har trykket på en knapp(Command1). Etter at en spørring ble kjørt vil muspekeren gå tilbake til sin originale utsende.

Kan du gi en eksempel på en DoEvent i tillfellet du tror at de kan løse problemet? Jeg begynte å programmere med vb nylig.

Lenke til kommentar

Fant løsningen. Man må bare tvinge pekeren til å vise hourglass vha

Private Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long

Private Declare Function LoadCursor Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...