Avatar billede morientes Nybegynder
15. april 2004 - 13:46 Der er 9 kommentarer og
1 løsning

@thomasjepsen vedr. dynamisk søgning

Jeg er ved at lave en database, hvori jeg bruger den dynamiske søgning, som ligger på www.makeiteasy.dk.

Jeg tænkte på, om det var muligt, at opdatere comboboksene på baggrund af de øvrige combobokse, så man begrænser valgmulighederne til de faktiske muligheder...hvis du forstår, hvad jeg mener.
15. april 2004 - 13:53 #1
Du kan sagtens lave Rækkekilden på hver komboboks som en forespørgsel, som benytter kriterier fra den forrige komboboks.

Hvis du har Kombo1 og kombo2, så kan rækkekilden på kombo2 se således ud:
Select Felt1, Felt2 From Dintabel Where felt3 = Forms![Navn på formular]![Kombo1]

Dog skal du så huske at lægge denne kode på EfterOpdatering af Kombo1:
Me!kombo2.requery

mvh
Thomas
Avatar billede morientes Nybegynder
15. april 2004 - 14:58 #2
Tak, det virker fint, men på EfterOpdatering ligger jo allerede =ActivateFilter()

Kan man godt have begge dele liggende samtidig...og hvordan?
Avatar billede morientes Nybegynder
15. april 2004 - 15:05 #3
Det kunne man godt, fandt jeg ud af, men så er der et andet problem.

Hvis kombo1 er tom, skal man få vist alle valgmuligheder i kombo2. Hvordan tilføjer jeg det til min SQL i kombo2?
15. april 2004 - 15:13 #4
jeg plejer at løse det på den måde, at jeg på EfterOpdatering på Kombo1 skriver således:

If isnull(Me!Kombo1) then
  Me!Kombo2.Rowsource = "Select Felt1, Felt2 From Dintabel"
else
  Me!Kombo2.Rowsource = "Select Felt1, Felt2 From Dintabel Where felt3 = Form![Kombo1]"
Endif
Me!Kombo2.requery 'denne er muligvis unødvendig?
Avatar billede morientes Nybegynder
15. april 2004 - 15:22 #5
Det kan jeg sikkert godt bruge, men jeg ville foretrække at have det i SQL'en:

SELECT DISTINCT [Query].[B] FROM [Query] WHERE [A]=Forms![Form]![A] ORDER BY [B]; UNION SELECT Null FROM [Query];

...hvor der så skulle tilføjes noget i stil med WHERE A = Null = False

Tror du, det kan lade sig gøre?
15. april 2004 - 15:28 #6
jeg er ikke helt med på hvad du vil med den Union-query, men du kan evt prøve at lave Kombo2's SQl således:
Select Felt1, Felt2 From Dintabel Where felt3 Like nz(Form![Kombo1], '*')"

Men jeg har ikke lige afprøvet det...
Avatar billede morientes Nybegynder
15. april 2004 - 15:34 #7
Ja sgu! Det virker! :-)
15. april 2004 - 15:34 #8
:o)
Avatar billede morientes Nybegynder
15. april 2004 - 16:13 #9
Sig endelig til, hvis du skal ha' ekstra point, men jeg har lige et spørgsmål mere i forlængelse af det andet.

Nu virker det hele fint i min formular til dynamisk søgning, men når den formular så er underformular til en hovedformular, så får jeg en "enter parameter value"-fejl. F.eks. spørger kombo2 om indholdet af kombo1, selvom det er valgt.

Kan man gøre noget, for at rette op på den fejl, eller er man nødt til at have formularen liggende for sig selv?
15. april 2004 - 19:41 #10
hvilken af referencerne bruger du? Den med Forms!Formularnavn!Kombo1 eller blot Form!Kombo1?

Prøv at brug den korte, så skulle det virke.
Hvis du skal have referencen til formularen med, skal du også have subform-objektet med:
Forms!Formularnavn!Subformnavn!Kombo1
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