26. januar 2011 - 10:18Der er
9 kommentarer og 1 løsning
Formular : valgmulighed i et felt afhængigt af valgt værdi i et andet felt
Jeg har en formular, hvor jeg i 2 felter skal foretage listevalg, dels for at vælge forvaltning (felt 1) og dels for at vælge afdeling (felt 2).
Jeg vil gerne begrænse valgmulighederne i felt 2 ud fra mit valg i felt 1, forstået på den måde at jeg i felt 2 kun kan vælge blandt de afdelinger, der findes i den forvaltning, som jeg har valgt i felt 1. - HVORDAN GØR MAN DET ?
Så lægger du en smule kode i AfterUpdate hændelsen for den første dropdown:
Private Sub Drop1_AfterUpdate() Me.Drop2.RowSource = "SELECT DinTabel.Felt1, DinTabel.Felt2 FROM DinTabel WHERE Afdeling=" & Me.Drop1.Value & ";" End Sub
Mange tak for svaret - som jeg har bøvlet noget med - uden at få det til at virke.
Her er koden - i den tilrettede form - som jeg har sat ind som en updatehændelse på det første dropdown-felt i formularen:
Private Sub Forvaltning_Stab_AfterUpdate() Me.Afdeling_Kompetencecenter.RowSource = "SELECT FD_Forvaltning_Afdeling.Forvaltning, FD_Forvaltning_Afdeling.Afdeling FROM FD_Forvaltning_Afdeling WHERE Forvaltning= " & Me.Forvaltning_Stab.Value & ";" End Sub
Når jeg har indtastet/valgt en værdi i felt1(Forvaltning_Stab)og placerer cursoren i Felt2(Afdeling_Kompetencecenter), så får jeg fejlmeddelelsen: "Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "Forvaltning=Arbejdsmarked og Voksen"." - og jeg ser ingen liste med afdelinger ?? - Hvad gør jeg forkert ???
Det skulle egentlig også gerne virke tilsvarende, når der opdateres direkte i tabellen eller forespørgselen, som formularen trækker på. - Er det muligt ???
Hm. Dine Forvaltning_Stab værdier er tilsyneladende tekststrenge. Så skal du have nogle apostroffer med: ... WHERE Afdeling='" & Me.Drop1.Value & "';" (det er lidt svært at se; men der er en apostrof efter lighedstegnet og før semikolonet)
Din afsluttende kommentar er jeg ikke helt med på. Dropdowns og AfterUpdate hændelser er fænomener på formularer. Prøv lige at forklare, hvad det er du forestiller dig, "når der opdateres direkte i tabellen".
Fantastisk fdata ! - 1000 tak for hjælpen. Et par apostrofer rigtigt placeret gjorde underværker. Nu fungerer det betingede listevalg i min formular.
Syntaksen blev således :
Private Sub Forvaltning_Stab_AfterUpdate() Me.Afdeling_Kompetencecenter.RowSource = "SELECT FD_Forvaltning_Afdeling.Afdeling, FD_Forvaltning_Afdeling.Forvaltning FROM FD_Forvaltning_Afdeling WHERE Forvaltning= '" & Me.Forvaltning_Stab.Value & "';" End Sub
Tillægsspørgsmålet: - Er det muligt at lave tilsvarende på den tabel/forespørgsel, som formularen trækker på. Det jeg mener er, at i forespørgselen kan jeg indtaste direkte, og der har jeg de samme felter (Forvaltning, Afdeling)med liste valg,og her er det begge steder de fulde lister, som man kan vælge værdier i. - er det overhovedet muligt, i forespørgselen, at lade valget af afdeling, afhænge af den valgte værdi i feltet Forvaltning ? - eller er det udelukkende en mulighed, som man får gennem en formular ?
En opfølgning til mit spørgsmål angående "valgmulighed i et felt afhængigt af valgt værdi i et andet felt"
Tabellen med forvaltninger og afdelinger er sorteret efter Forvaltning (s) og Afdelinger (s), og når der i Afdelingsfeltet i formularen åbnes for listen med de mulige valg af afdeling (uden først at have valgt forvaltning), så vises afdelinger sorteret korrekt efter forvaltning og afdeling. Når der først er valgt forvaltning, så vises den delmængde af afdelinger der findes i den pågældende forvaltning; men sorteringen er røget ??
Kan der sættes noget kode ind, så afdelingerne kommer i alfabetisk rækkefølge
Yep. Du skal bare tilføje ORDER BY Felt1,Felt2,...
Altså noget i stil med: Me.Afdeling_Kompetencecenter.RowSource = "SELECT FD_Forvaltning_Afdeling.Afdeling, FD_Forvaltning_Afdeling.Forvaltning FROM FD_Forvaltning_Afdeling WHERE Forvaltning= '" & Me.Forvaltning_Stab.Value & "' ORDER BY FD_Forvaltning_Afdeling.Forvaltning, FD_Forvaltning_Afdeling.Afdeling;"
Det kører bare. - Havde forsøgt med en ORDER BY; men fik problemer med syntaksen - kløjs simpelthen i plinger og dobbeltplinger .
Synes godt om
Ny brugerNybegynder
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.