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

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