Avatar billede martens Guru
17. juni 2017 - 00:40 Der er 15 kommentarer og
1 løsning

Underlig manglende kørsel af VBA-kode

Har lavet en lille test-db
én tabel
én forespørgsel
to formularer ( main og sub )

på main er der en knap ( cmb_search) der VIRKER med denne kode

Private Sub cmb_search_Click()
Me.results.Requery
End Sub

-----------------------------
men hvorfor pokker kan jeg ikke kalde selvsamme kode via nedenstående, der køres på KeyDown i event på textboksen ???
-----------------------------
Private Sub searcher_001_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = vbKeyDelete Then
    MsgBox "Du trykkede på Delete"
  Else
    MsgBox "OK"
Me.results.Requery

  End If
End Sub

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

mvh martens
Avatar billede bvirk Guru
17. juni 2017 - 18:38 #1
Der er nogle betingelser for at eventen virker og dem kan man læse om, ved at trykke F1 når markøren står på eventen i egenskabsarket i formens design view.

Mvh Benny
Avatar billede fdata Forsker
19. juni 2017 - 17:53 #2
men hvorfor pokker kan jeg ikke kalde selvsamme kode

Hvad sker der, når du prøver? Får du en fejl eller hvad?
Avatar billede martens Guru
19. juni 2017 - 18:11 #3
fdata : Der sker intet .. ingen fejl eller noget..

Jeg sad og rodede med det i går .. og når jeg går data ( værdierne ) igennem, ser det ud som om at selve ændringen i tekstboksen ikke sker før tekstboksen forlades og der sættes fokus ét andet sted....  ( så "ol" er det samme som "ole" , indtil teksboksen mister fokus..)
Avatar billede fdata Forsker
20. juni 2017 - 10:41 #4
... og det er jo netop fordi feltet ikke opdateres "internt" før det forlades - eller tvinges til at opdatere. Du kan prøve med med en "Me.Refresh" inden din Requery

NB: En Refresh flytter markøren, hvilket du formodentlig ikke er interesseret i. I så fald kan du måske placere den igen via Me.<Ditfelt>.SelStart og Me.<Ditfelt>.SelLength. Bare en idé. ;O)
Avatar billede terry Ekspert
20. juni 2017 - 11:24 #5
any chance of seeing the dB so I can play around with exactly what your playing around with.
Avatar billede martens Guru
20. juni 2017 - 13:57 #6
Sure Terry ...
Jeg uploader den med de idéer jeg har.. (og som jeg ikke kan få til at "spille")
Avatar billede martens Guru
20. juni 2017 - 13:58 #7
Så kan fdata også lege med..:)
Avatar billede terry Ekspert
20. juni 2017 - 14:18 #8
Where is it?
Avatar billede martens Guru
20. juni 2017 - 15:48 #9
Avatar billede terry Ekspert
20. juni 2017 - 16:10 #10
Thanks. Probably be first tomorrow before I get time, off out kayaking now ;-)
Avatar billede fdata Forsker
20. juni 2017 - 17:05 #11
Iflg. min tidligere kommentar:

Private Sub searcher_001_KeyUp(KeyCode As Integer, Shift As Integer)
  Dim Husk As Integer
 
  Husk = Me.searcher_001.SelStart 'Husk cursorpos.
 
  If KeyCode = 37 Then Exit Sub 'Venstre pil
  If KeyCode = 39 Then Exit Sub 'Højre pil
 
  Me.Refresh
  Me.results.Requery
  Me.antal_hits.Requery
 
  Me.searcher_001.SetFocus
  If Len(Me.searcher_001) > 0 Then
    Me.searcher_001.SelStart = Husk
    Me.searcher_001.SelLength = 0
  End If
End Sub
Avatar billede martens Guru
20. juni 2017 - 17:12 #12
hej fdata


GENIALT !
Det virker som jeg gerne vil have det.....

må jeg komme med et tillægsspørgsmål ( kan det lade sig gøre at acceptere MELLEMRUM ? altså så det også er muligt at søge "Ole P" etc, ?
Avatar billede fdata Forsker
20. juni 2017 - 18:17 #13
Prøv at tilføje:
  If KeyCode = 32 Then Exit Sub 'Mellemrum
sammen med de andre undtagelser
Avatar billede terry Ekspert
21. juni 2017 - 12:11 #14
Not sure where we are with this but changing criteria in query to

Like [Formularer]![frm_searcher]![searcher_001].[text] & "*"
then a Me.results.Requery in searcher_001_KeyUp

should give you what you want
Avatar billede fdata Forsker
22. juni 2017 - 11:29 #15
Smart, Terry !!!

.[Text] indeholder altså den "uopdaterede" værdi af feltet.

(You live and you learn)
Avatar billede terry Ekspert
22. juni 2017 - 12:05 #16
;-)
(You live and you learn)  yes, that's what we are here for, and its never too late
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