Avatar billede mbpedersen Nybegynder
24. september 2008 - 20:38 Der er 14 kommentarer og
1 løsning

"Nulstilling" af combobox

Når jeg har indtastet en værdi fx. K i en combobox og valgt en af de efterfølgende muligheder ved at bruge piletasterne og <Enter>, står cursoren igen klar til at modtage en ny værdi i comboboxen. Problemet er, at den ikke reagerer på nye indtastninger. Hvis jeg derimod starter med at taste <Backspace> og så efterfølgende indtaster et vilkårligt bogstave, så fungerer comboboxen fint igen. Hvordan får jeg den til at være klar til en ny indtastning uden at skulle taste <Backspace>?
Avatar billede terry Ekspert
25. september 2008 - 08:14 #1
If you have entered data then how does Access know that you intend entering new data?. You can erase the old data and then start entering new, or you can press the drop downn button and select from list.
Avatar billede fdata Forsker
25. september 2008 - 12:29 #2
Private Sub Kombinationsboks1_AfterUpdate()
  Kombinationsboks1 = Null
End Sub
Avatar billede fdata Forsker
25. september 2008 - 12:30 #3
(sorry, det var en joke)
Det giver jo ingen mening at Nulle den med de samme, med mindre du foretager en eller anden handling inden du sætter den til Null  ;o)
Avatar billede mbpedersen Nybegynder
25. september 2008 - 15:14 #4
Tak for svarene. Når jeg har skrevet en værdi, vælger en af udfaldene ved med piletasterne, at gå ned og vælge den ønskede værdi - så nulstiller comboboxen sig - dvs. der står ingen tegn i comboboxen - den burde med andre ord være klar til at indtaste en ny værdi. Det er den så desværre ikke.

Hvis jeg derimod vælger værdien med musen, så er comboboxen klar til at indtaste en ny værdi uden først at skulle trykke på <Backspace>.
Avatar billede fdata Forsker
25. september 2008 - 19:33 #5
Hvad mener du med "så nulstiller comboboxen sig"? Ligger der kode under comboboxen?
Normalt vil comboboxen jo vise den værdi, der er valgt (det er jo ligesom ideen med den).
Avatar billede mbpedersen Nybegynder
25. september 2008 - 20:42 #6
Ja, der ligger en underliggende kode på "Efteropdatering" - der sletter det visuelle indhold af comboboxen. Så comboboxen bliver brugt som et søgefelt.

Her er koden - præfixet txt kan narre - det burde have været cbo:

If Me.txtSøgKlientnr <> "" Then
    Me.Telefon.Visible = True
    Me.Telefon.SetFocus
    DoCmd.FindRecord Me.txtSøgKlientnr, acEntire, False, acSearchAll, False, acCurrent, True
    Me.txtSøgKlientnr.SetFocus
    Me.txtSøgKlientnr = ""
    gvSøg = ""
    NulStilPatientFelter
End If

If Me.Telefon <> "" Then
    FieldsKlientVisible
    Me.txtBynavn = DLookup("[Bynavn]", "tblPostnr", "[Postnr] = """ & Forms!frmJournalKart!Postnummer & """")
    UdfyldPatient
Else
    FieldsKlientNotVisible
End If

Derudover har jeg kode på "Ved ikke på liste" og "Ved tast op" Comboboxen reagerer som sagt forskelligt, når en værdi vælges med <Enter> eller med musen. Jeg arbejder på en 2003 udgave af accesss.
Avatar billede fdata Forsker
25. september 2008 - 21:51 #7
Aha! Så var min kommentar jo ikke helt dum.
Prøv at erstatte
  Me.txtSøgKlientnr = ""
med
  Me.txtSøgKlientnr = Null
Det kunne jo være så enkelt.
Avatar billede mbpedersen Nybegynder
26. september 2008 - 08:18 #8
Desværre - det er prøvet uden succes.
Avatar billede terry Ekspert
26. september 2008 - 08:41 #9
if its possible fo r you to send a copy of the dB or part of then maybe I can see the problem.

ekspertenATsanthell.dk
AT = @

I'm off out for a couple of hours will look again later.
Avatar billede mbpedersen Nybegynder
26. september 2008 - 09:49 #10
Jeg har forsøgt at sende backspace til comboboxen via SendKeys - I princippet virker det. Dvs. sender jeg fx et k via sendkeys og efterfølgende et backspace, så sletter den godt nok k'et, men den "nulstiller" ikke cbo-feltet.

Det, der sker er, at sende jeg backspace til den - så skal jeg efterfølgende taste fysisk 2 gange på backspace, så er den nulstillet. Sende jeg 2*backspace, skal jeg fysisk trykke på backspace tasten 3 gange osv.

Jeg tror, at comboboxen beholder mit <Enter> tegn, og at det er det jeg sletter ved at taste backspace, hvorefter comboboxen nulstilles.
Avatar billede terry Ekspert
26. september 2008 - 11:35 #11
26/09-2008 08:41:05
Avatar billede fdata Forsker
28. september 2008 - 19:14 #12
Det er jo besynderligt, at du ikke i "EfterOpdatering" kan sætte den til Null.
Har du prøvet at sætte den til f.eks. "k" (i stedet for Null). Virker det?
Avatar billede mbpedersen Nybegynder
30. september 2008 - 21:14 #13
Der er ingen problemer i at sætte comboboxen til null eller for den sags skyld k. Problemstillingen er, at når en ny værdi indtastes i comboboxen, så reagerer den ikke på det indtastede, som sagt fordi den formentlig ikke er nulstillet/resat eller hvad jeg nu skal kalde det - først efter backspace er comboboxen klar til en ny indtastning.
Avatar billede fdata Forsker
01. oktober 2008 - 22:50 #14
I'm lost, trækker mig :o(
Avatar billede mbpedersen Nybegynder
02. oktober 2008 - 21:47 #15
Langt om længe har jeg fundet løsningen. I keyup hændelsen håndterer den også det <Enter> der kommer ved valg af værdien i comboboxen. Det <Enter> har drillet hele tiden, men jeg har nu fjernet det med følgende kode i Keyup:

If KeyCode = 13 Then
    Exit Sub
End If

Hvorved den efterfølgende kode ikke håndterer <Enter>

Jeg takker for kommentarerne.
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