Avatar billede fimo Seniormester
19. maj 2023 - 16:03 Der er 18 kommentarer og
1 løsning

dropdown "vælg her"

Hej,

Jeg har et dropdown textbox hvor jeg har lavet en liste men en tekst  øverst
i dropdown listen med teksten  "vælg her"

Og nedenunder i mit dropdown, har jeg lidt forskelle navne på personer som kan vælge deres navn og jeg har sat dette felt som et "skal udfyldes" felt.

Men jeg kan se at nogen folk glemmer at vælge deres navn men bare bruger min overskrift i dropdown "vælg her"  og på den måde kommer videre uden at angive fra min drop down vem de er,

Hvordan kan jeg have denne vælg her text stående øverst MEN tvinge folk til at vælge et navn fra min dropnavn liste

ved ikke om dette giver mening men håber at det kan forståes ?

:)
Avatar billede Gustav Ekspert
19. maj 2023 - 16:14 #1
Brug formularens BeforeUpdate event.
Check at comboboxen ikke har værdien for "Vælg her".
Hvis den har det, så sæt Cancel = True og pop en MsgBox, der fortæller brugeren, at han/hun skal vælge noget.
Avatar billede fimo Seniormester
19. maj 2023 - 18:52 #2
Tak igen Gustav, jeg vil også prøve denne løsning i løbet af weekenden og se om jag kan fixe det med mit begrænset kendskab til access :)
Avatar billede fimo Seniormester
22. maj 2023 - 10:47 #3
Hej igen Gustav,
Nu har jeg forsøgt i weekenden med mit begrænset kendskab til access men kan ikke helt finde ud af hvor / hvordan jeg skal indsætte ovennævnte data,
dette er mit test eksempel i min access, ved ikke om du udfra det kan forklare mig hvor jeg skal ændre henne, jeg har en table + en form som du kan se af disse foto men ved desværre ikke helt hvor/hvad jeg skal skrive hvor, håber du kan hjælpe mig lidt videre :)
https://postimg.cc/gallery/2yP4kFQ
Avatar billede Gustav Ekspert
22. maj 2023 - 14:57 #4
De er formularens opdatering, der skal stoppes, ikke comboboksens. Så:
Private Sub Form_BeforeUpdate(Cancel As Integer)
   
    If Me![Sales Person_Responsible].Value = "Vælg her" Then
        ' Intet valg foretaget.
        Cancel = True
    End If
   
    If Cancel = True Then
        MsgBox "Vælg først den salgansvarlige.", vbInformation + vbOKOnly, "Salgsansvarlig"
    End If

End Sub
Avatar billede fimo Seniormester
25. maj 2023 - 10:46 #5
Hej igen,

Nu tror jeg at jeg at ved at være i mål med denne del MEN er usikker på hvor jeg skal
indsætte "vælg her" i min formular, jeg TROR at det må være en af disse to muligheder men ved ikke om det er korrekt / hvilken af disse to jeg skal vælge....

https://postimg.cc/gallery/rp12ngZ
Avatar billede Gustav Ekspert
25. maj 2023 - 11:02 #6
Dem begge.
Avatar billede fimo Seniormester
25. maj 2023 - 11:54 #7
Hej igen,

Når jeg indsætter denne kode:
Private Sub Form_BeforeUpdate(Cancel As Integer)
   
    If Me![Sales Person_Responsible].Value = "Vælg her" Then
        ' Intet valg foretaget.
        Cancel = True
    End If
   
    If Cancel = True Then
        MsgBox "Vælg først den salgansvarlige.", vbInformation + vbOKOnly, "Salgsansvarlig"
    End If

End Sub

Så får jeg ikke en msgbox, når jeg står på "vælg her" og tester at trykke "enter", der ville jeg gerne kunne give denne text til dem som skal indtaste data her:
ligesom i koden:

MsgBox "Vælg først den salgansvarlige.", vbInformation + vbOKOnly, "Salgsansvarlig"


https://postimg.cc/gallery/Xn2Lxk7
Avatar billede fimo Seniormester
25. maj 2023 - 11:58 #8
Hej igen Gustav

glem ovennævnte :)

denne virker også nu YES YES !!!

Sikke en dejlig dag !

tak endnu engang
Avatar billede fimo Seniormester
25. maj 2023 - 12:03 #9
Lige en sidste ting,

Hvis jeg står på "vælg her" så kommer der nu en msgbox som siger vælg, men
hvis jeg vælger at lade være med at indtaste noget og vil lukke min form ned, så får jeg denne fejl, kan man på en eller anden måde få lov at lukke en form når man står på "vælg her" men IKKE har indtastet nogen data ?

https://postimg.cc/bdtX2cJg
Avatar billede fimo Seniormester
25. maj 2023 - 12:05 #10
Avatar billede Gustav Ekspert
25. maj 2023 - 12:31 #11
Den vil nok ikke gemme en halvfærdig post.
Tryk Esc én eller et par gange for at fortryde forsøget på at oprette en post.
Avatar billede fimo Seniormester
25. maj 2023 - 14:19 #12
Undskyld igen igen, men nu ville jeg flytte min test database hvor koden virkede lige før til min rigtige database men nu kan jeg ikke få den til at vise msgboxen når man bara står på en NY rekord feltet viser "vælg her", der sker ikke noget når jeg trykker som en test på enter knappen...
Men hvis jeg med musen flytter ned i dropdown vinduet og vælger et navn for siden at gå tilbage i dropdown igen, og vælger "vælg her", så kommer den med en warning som den skal

men jeg ville jo helst at den kom frem med texten fra msgboxen når en brugere står på en ny rekord som har default value "vælg her" og hvis personen så bare bruger tab elelr enter for at komme videre uden at vælge noget, så skulel den komme fram med teksten fra msgboxen....
ved du hvad som kan være sket siden den ikke vil vise teksten når man står på en ny rekord og vil forsøge at skippe at vælge en navn fra min dropdown ?

https://ibb.co/5BD1kZb
https://ibb.co/yXG2br2
https://ibb.co/NKbpRSk
https://ibb.co/F8x7Z2R
Avatar billede Gustav Ekspert
25. maj 2023 - 14:47 #13
Svært at sige, men en eller anden forskel er der.
Der er ikke andet at gøre end at kigge egenskaber og kode slavisk igennem og sammenligne.
Avatar billede fimo Seniormester
25. maj 2023 - 15:19 #14
Det vil jeg prøve MEN for at være helt sikkert inden jeg fortsætter med at lede efter min fejl , så er det ikke mig som husker forkert vedr din kode ?
Din kode skulle vise en msgbox selv når en bruger bare står på en ny record og den viser "vælg her" i dropdown vinduet og brugeren prøver at klikke på ENTER eller TAB knappen, så burde den komme ud med en warning "Vælg først den salgansvarlige"
uden de har indtastet, valg noget i dropdown vinduet eller har jeg misforstået hvad koden kan ?

:)
Avatar billede Gustav Ekspert
25. maj 2023 - 15:29 #15
Brugeren skal taste et eller andet først. Ellers står han/hun bare på en ny post, og den kan/skal man kunne bladre væk fra uden videre.
Avatar billede fimo Seniormester
25. maj 2023 - 15:40 #16
Jamen så giver det jo mening, ingen fejl bare mig som misforstod :)

Tak igen !
Avatar billede fimo Seniormester
09. juni 2023 - 10:12 #17
Hej igen,

Undskyld at jeg sprøg i denne tråd igen , ved ikke om det har noget med hinanden at gøre men ligeså snart at jeg lægger ovennævnte kode ind og forsøger at bruge min macro "delete" knap på en record, så får jeg en runtime error som jeg ikke ved hvad betyder / om det har noget med koden at gøre men de virker fint hver for sig, men ikke samtidig altså delete macro knap og koden ?

https://ibb.co/d7Xnpcj
https://ibb.co/cXY2c83
Avatar billede Gustav Ekspert
09. juni 2023 - 11:05 #18
Du kan indsætte en linje:
Private Sub Form_Current()

    On Error Resume Next
    RecCountBox = Me.Recordset.AbsolutePosition + 1 & " of " & Me.Recordset.RecordCount
   
End Sub
Men det kan ikke stå alene, for bagefter vil din rutine vise fx "7 af 12", mens Access viser det rigtige: "7 af 11".
Man kunne så tro, du kunne hente det rigtige tal i AfterDelete med samme kode, men det er kun halvvejs, for den vil vise "0 af 11". Så der skal noget mere fancy kodning til, som jeg vil overlade til din egen fornøjelse.
Avatar billede fimo Seniormester
09. juni 2023 - 11:08 #19
Tak endnu engang :)
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