Avatar billede anderssk Nybegynder
20. februar 2006 - 22:18 Der er 6 kommentarer og
2 løsninger

Combobox indhold afhængigt af valg i anden combobox

Hej

Jeg har en Form1
I den vælger man via en combobox en afdeling (Afdeling. Listen kommer fra en forespørgsel.

Når man har valgt afdelingen skal man vælge en medarbejder (medarbejder), men jeg vil kun have vist medarbejdere fra den afdeling der blev valgt i den første combobox

Hvordan gør man det?
Avatar billede mugs Novice
20. februar 2006 - 22:27 #1
Me.CBOmedarbejder.RowSource = "SELECT * FROM TABEL WHERE AFDELING = " Me.CBOafdeling
Avatar billede fdata Forsker
21. februar 2006 - 00:29 #2
mugs >> Mangler et lille &-tegn og en Requery  :o)
Me.CBOmedarbejder.RowSource = "SELECT * FROM TABEL WHERE AFDELING = " & Me.CBOafdeling
Me.CBOmedarbejder.Requery
Avatar billede mugs Novice
21. februar 2006 - 05:19 #3
Hej fdata > Ja - Du har ret. Det var sent, og det kan ikke være lige godt hver gang :o)
Avatar billede anderssk Nybegynder
21. februar 2006 - 19:39 #4
Jeg har lavet om på det så det virker nu.
Den første combo hedder Afdeling den anden hedder Medarbejder
Jeg har lavet en forespørgsel med alle medarbejdere i alle afdelinger og dererter sat [Afdeling] ind som kretirie.
Når jeg har valgt Afdeling i første combo køres forespørgslen om da jeg har angivet [Afdeling] bliver jeg ikke bedt om at indtaste som jeg gør hvis jeg kører forespørgslen. Den benytter det jeg har valgt i comboboxen (den hedder jo Afdeling)

Så mangler jeg kun at finde ud af hvor jeg helt præcist skal sætte Requery ind for at opdaterer hvis man ændre i første combo.
Avatar billede fdata Forsker
21. februar 2006 - 22:22 #5
Hm.
Forespørgslen, der ligger bag Medarbejder, skal bare indeholde alle medarbejdere. Den bliver jo filtreret, når du kalder den med ".. WHERE Afdeling= .." som mugs beskriver.

Requery skal sættes ind præcis som vist: efter RowSource sætningen. Altså:
- Først ændres RowSource
- Derefter køres Requery, så comboboksen bruger den nye RowSource

OK?
Avatar billede anderssk Nybegynder
23. februar 2006 - 20:42 #6
Nu faldt 10-øren.
Jeg har droppet stort set alle mine forespørgsler og kører med sql i stedet for.
Der kommer jo nok bare nogle flere spørgsmål :-)

For eksempel.

Når jeg har valgt afdeling og medarbejder, men ændre afdeling igen, så bliver medarbejderens navn og står derved på den forkerte afdeling.

Jeg har prøvet

Private Sub Afdeling_Change()
Me.Medarbejder.Undo
End Sub

og
Private Sub Afdeling_Change()
Me.Medarbejder.Requery
End Sub

Hvad er det gyldne trick?
Avatar billede fdata Forsker
05. marts 2006 - 14:39 #7
Private Sub Afdeling_Change()
  Me.Medarbejder.RowSource = ....
  Me.Medarbejder.Requery
  Me.Medarbejder=Null
End Sub
Avatar billede fdata Forsker
13. februar 2008 - 23:01 #8
Takker for point ;o)
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