Avatar billede bubbaa Nybegynder
14. april 2010 - 11:14 Der er 25 kommentarer og
1 løsning

flere combobokse til query

Hvordan kobler jeg flere kombobokse til en query?

Jeg kan få det til at virke med 2, men jeg vil gerne have koblet nogle flere på. Er der en let måde at gøre det på?
Avatar billede terry Ekspert
14. april 2010 - 12:16 #1
stiil need to close you rprvious question :o)

http://www.eksperten.dk/spm/906913
Avatar billede terry Ekspert
14. april 2010 - 12:18 #2
same method as when you use two I would think
Avatar billede terry Ekspert
14. april 2010 - 12:18 #3
Why do you think more than two wouldnt work?
Avatar billede bubbaa Nybegynder
14. april 2010 - 12:28 #4
Mugs har ikke lagt et svar. Men kan godt lukke det...

Jeg har brugt samme eksempel som i går med to bokse. Hvor værdien i den ene kan være tom og det dermed kun er den anden der skal bruges.

Der er derved fire muligheder.
sand sand
sand falsk
falsk sand
falsk falsk

Men har jeg en tredje boks begynder der at komme mange muligheder. Så håbede designeren eventuelt kunne bruges, til at autogenere koden og derved spare lidt tid.
Avatar billede bubbaa Nybegynder
14. april 2010 - 12:37 #5
Hold da op hvor kører eksperten egentlig ustabilt.

Er vejen frem at skrive sql koden i hånden?
Avatar billede terry Ekspert
14. april 2010 - 13:05 #6
You should be able to use the query designer but I personally would build the SQL dynamically (in code)
Avatar billede terry Ekspert
14. april 2010 - 13:22 #7
I can send you a little example if you like. It uses the forms filter property to find the records searched on.
Avatar billede bubbaa Nybegynder
14. april 2010 - 14:04 #8
Jeg har et kørende eksempel der virker, hvor filteret sættes via to combo bokse. Men jeg skal formentlig bruge 5-6 bokse til at sætte filteret ud fra.
Avatar billede terry Ekspert
14. april 2010 - 15:23 #9
If you use the forms filter property using two combo then its not a problem to add new combo's/fields.

But are we talkingaboutthe same thing?

Me.Filter = "SomeField = " & Me.cbo1 & " And " SomeOtherField = " & Me.cbo2

Me.FilterOn = True



????
Avatar billede bubbaa Nybegynder
14. april 2010 - 17:24 #10
Jeg bruger resultatet fra mine combobokse til at danne resultatet fra min query.

Men nu du siger det er det måske smartere at bruge filter, og hive hele resultatet ud fra tabellen med min query?

Hvornår er det bedre at bruge filter frem for at danne et mindre resultat med sin query?
Avatar billede terry Ekspert
14. april 2010 - 17:29 #11
"Men nu du siger det er det måske smartere at bruge filter"

Where did I say that? :o)

I dont say using the filter, it sjust what I would use.

If your having problems using the query with more than two combo boxes then using the filter could be easier.
Avatar billede terry Ekspert
14. april 2010 - 17:31 #12
I've been working with Access for a number of years and programming for 25 or so so I prefer doing things in code. I feel as thoug hI have more control over what I want to do.
Avatar billede bubbaa Nybegynder
14. april 2010 - 17:38 #13
Det vil sige at du laver dine queries ved hjælp af makroer?

Så i mit tilfælde ville du sætte querien alt efter hvilke comboboxe der vælges?

Du må gerne sende mig dit eksempel hvor query laves dynamisk.

Alt andet lige, så er jeg vel nødt til at lave if-statements for hver mulighed at combo bokse så jeg kan have mange slags queries? Eller bruger jeg wildcard hvis indholdet er tomt?
Avatar billede terry Ekspert
14. april 2010 - 17:39 #14
have you tried more than two?
Avatar billede terry Ekspert
14. april 2010 - 17:45 #15
I NEVER use macro's only code.

In the example I would us ethe query only to find the data for ALL records.

Then when I chose from one or more combo/fields I would build a filter using code. When you use the filter property it only shows the records meeting the criteria you selected.

I think I'll send you an example so you can see what I mean.
Avatar billede bubbaa Nybegynder
14. april 2010 - 17:55 #16
Jeg tror godt jeg forstår hvad du mener. Jeg har bare slet ikke brugt filter endnu.

Jeg brugte eksemplet her hvor selve querien ændres:
http://www.fabalou.com/access/Queries/comboboxes_criteria.asp

Men kan godt se at det er nemmere med filter.
Vil filter give performance problemer med meget data? Fordelen ved databaser er vel netop at queries hurtigt skal kunne hente lige præcis det data man skal bruge?
Avatar billede terry Ekspert
14. april 2010 - 18:22 #17
I see no reason why filters would give problems with lots of data.

In this case I dont think using queries will be faster.

I must ask again though. Have you tried using more than two?
Avatar billede bubbaa Nybegynder
14. april 2010 - 23:12 #18
Jeg har ikke fået testet med mere end to endnu. Jeg håber at få tid til det i morgen.
Avatar billede bubbaa Nybegynder
15. april 2010 - 15:05 #19
Jeg kan ikke helt se hvordan jeg overfører det til mit.
Jeg har et skema og en query derfra.

Jeg har derudover en form hvor jeg har sat min query ind på. Jeg kan ikke se hvordan jeg sætter et filter på den query.

Min form hedder Collective.
Min subform der indeholder data hedder skema1QuerySubform
Den har blandt andet et felt der hedder Type som jeg gerne vil have sat filter på.
Avatar billede bubbaa Nybegynder
15. april 2010 - 15:14 #20
Nu fandt jeg faktisk en måde at tilgå mit filter på.

Jeg kan bruge din måde til at lave filteret, og me.skema1QuerySubform.Form.Filter til at sætte selve filteret.

Du må gerne lægge et svar.

Det er iøvrigt fedt du gør så meget for at hjælpe. Jeg har ofte oplevet slet ikke at få svar på eksperten. Derfor jeg ikke har været aktiv herinde længe.
Avatar billede terry Ekspert
15. april 2010 - 15:16 #21
"Jeg kan ikke helt se hvordan jeg overfører det til mit."

Overfører hvad?
Avatar billede bubbaa Nybegynder
15. april 2010 - 15:29 #22
Jeg ændrede først min query som i problem stillingen. Med to bokse blev den til:
WHERE (((skema1.Type)=Forms!Collective!ComboType) And ((skema1.Re)=Forms!Collective!ComboRele)) Or (((skema1.Type)=Forms!Collective!ComboType) And ((IsNull(Forms!Collective!ComboRe))<>False)) Or (((skema1.Re)=Forms!Collective!ComboRe) And ((IsNull(Forms!Collective!ComboType))<>False)) Or (((IsNull(Forms!Collective!ComboRe))<>False) And ((IsNull(Forms!Collective!ComboType))<>False));

Hvis der skal tre bokse til, bliver den for uoverskuelig.

Jeg fik dit eksempel med filter og kunne se hvordan du gjorde, men skulle lige have indset hvordan jeg brugte det i mit eksempel.
Avatar billede terry Ekspert
15. april 2010 - 15:30 #23
So now your using the forms (sub forms) filter and it works?
Avatar billede terry Ekspert
15. april 2010 - 15:31 #24
"Hvis der skal tre bokse til, bliver den for uoverskuelig"

One of the reasons why I prefer doing things in code :o)
Avatar billede bubbaa Nybegynder
15. april 2010 - 16:12 #25
Jeg er også mest til at kode det selv, men hvis værktøjerne nemt havde kunnet klare det for mig, havde jeg villet bruge dem.

Jeg tænkte dog udelukkende i at ændre min query og ikke på at filter kunne være en ide.
Avatar billede terry Ekspert
15. april 2010 - 18:22 #26
Thanks

Its also possible to alter the query in code
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