Avatar billede renekoemler Nybegynder
20. januar 2003 - 08:14 Der er 22 kommentarer og
1 løsning

ORDER BY syntax

Hej

Jeg prøver lige igen.

Jeg har en forespørgsel, hvor jeg gerne vil have mulighed på at sorterer efter værdien i en COMBO på en formular. Jeg har problemder med at få mit ORDER BY statement til at fungerer. Jeg har forsøgt at bruge Like med da det jo er feltnavnet på det felt jeg ønsker at sortere på jeg skal sætte ind virker det ikke. Jeg har også prøvet med forskellinge kombinationer af ' og " med samme resultat. Det må da kunne lade sig gøre!

Koden herunder er det seneste forsøg...

mvh René

SELECT TAB_genstand.Hovedkategori, TAB_genstand.Underkategori, TAB_genstand.Navn, TAB_genstand.[Sikkerheds foreskrifter], TAB_genstand.Uddannelsekrav, TAB_genstand.Bemærkninger, TAB_genstand.Ydelse, TAB_genstand.Enhed1, TAB_genstand.Strømforbrug, TAB_genstand.Enhed5, TAB_genstand.Strømforsyning, TAB_genstand.Drivmiddel, TAB_genstand.Diverse, TAB_genstand.Placering, TAB_genstand.Antal, TAB_genstand.Pakning
FROM TAB_genstand
WHERE (((TAB_genstand.Hovedkategori) Like IIf([Formularer]![FORM_start]![COMBO_soeg_hoved]="Alle"," ",[Formularer]![FORM_start]![COMBO_soeg_hoved])) AND ((TAB_genstand.Underkategori) Like IIf([Formularer]![FORM_start]![COMBO_soeg_under]="Alle"," ",[Formularer]![FORM_start]![COMBO_soeg_under])))

ORDER BY [TAB_genstand].Formularer!FORM_soeg!COMBO_soeg_sortering DESC;
Avatar billede di8leva Nybegynder
20. januar 2003 - 08:24 #1
hvad hænder hvis du laver det på den måde du har skrivit ?
Avatar billede renekoemler Nybegynder
20. januar 2003 - 08:42 #2
Så får jeg en dialogboks der beder mig definerer værdien af TAB_genstand.Formu.... og selv om jeg så der taster en valid værdi bliver den ikke sat ind.
Avatar billede jkrons Professor
20. januar 2003 - 10:30 #3
Din sorteringsrækkefølge vil gå på et feltnavn, ikke på indholdet af et felt. Jeg kan sagtens tage fejl, men jeg mener ikke at du umiddelbart kan have et variabelt sorteringskriterium.
Avatar billede jkrons Professor
20. januar 2003 - 10:32 #4
Du kan lave parameterpromtp  (eller hente værdier fra en formular) på kriterier, men ikke på en sortering. Det mener jeg ikke at ORDER BY tillader.
20. januar 2003 - 10:32 #5
Man bør altid bruge [Forms] i stedet for [Formularer]
Derved er forespørgslen også kompatibel med andre sprog og versioner.

Det kunne også have indflydelse på denne forespørgsel..?
Avatar billede terry Ekspert
20. januar 2003 - 10:35 #6
rene..>In the query builder you can use the expression builder wizard to help you. First open the form which you want to use in the query.
Then open the query.
Place the mouse cursor in an empty field (where you normally choose a field from the table). Now right click with the mouse. You will see a build icon, choose this. Now in the left box you will be able to see a form icon with a + on it. Double click  this to expand it and then choose loaded forms. You should be able to see your form in the list. Choose it. Now in the middle list you should be able to find your combo box. Double click on this and now yopu will see some code appear in the TOP window. Press the OK button to copy the code the the field in the query. Now in the Sort field choose Ascending.

And thats it.
Avatar billede renekoemler Nybegynder
20. januar 2003 - 10:53 #7
Hej

Tak for indlæg - hmmm når jeg selv skriver et navn på et felt jeg ønsker at sorterer på - direkte i sql'en så viker det.

Værdien af COMBO er hardkodet til korrekte feltnavne...

Hi Terry,

I have tried your suggestion - The middel window dosn't show the elements of my form - so i'm not able to choose my COMBO - tjanks anyway

Rene
Avatar billede renekoemler Nybegynder
20. januar 2003 - 10:56 #8
Hej Igen,

Betyder det at man skal oprette en sorteret Query pr. sorteringsmulighed og så udfra valget i søge formularen vælger den aktuelle...

Rene
Avatar billede terry Ekspert
20. januar 2003 - 11:00 #9
if the middle window doesnt show you the objects on the form then you are doing something wrong!
Avatar billede terry Ekspert
20. januar 2003 - 11:01 #10
rene..>"navn på et felt jeg ønsker at sorterer på - direkte i sql'en så viker det." whats the problem then?
Avatar billede renekoemler Nybegynder
20. januar 2003 - 11:08 #11
The problem is that I wont to be able to let my users choose which field the query should be sortet by. The choise is made in a COMBO-box on a form and it is the value of that combo i would like to put into my ORDER BY statement

I know i'm doing something wrong - that's why i-m asking the professionals :-)

rene
Avatar billede terry Ekspert
20. januar 2003 - 11:10 #12
Rene.. is the field which the ORDER BY is using on a sub form?
If you use the wizard then you willhave to double click on th emain form in the left list to expand it so that you can see the sub forms.
Avatar billede terry Ekspert
20. januar 2003 - 11:13 #13
Well now that sheds more light onto the problem!
Avatar billede terry Ekspert
20. januar 2003 - 11:14 #14
You cant do this directly in a query you will have to do this in code.
Avatar billede jkrons Professor
20. januar 2003 - 11:20 #15
Som jeg sagde tidligere, kan du ikke have variabler i SQL kodens ORDER BY sætning. Som du selv er inde på kan du lave en query for hver sorteringsfelt.
Avatar billede renekoemler Nybegynder
20. januar 2003 - 11:23 #16
Hi Terry,

No it's not on a subform. I simply need du take the value of the COMBO i.e. "Ydelse" and put it i my query sql-statement:

ORDER BY <tablename>.COMBO.value (where the combo values are exatly like the names of the fields in the table that i whant it to be possible to sort by).

Does this brighten the problem? Or do you want the database to take a closer look?

best regards

rene
Avatar billede renekoemler Nybegynder
20. januar 2003 - 11:27 #17
Hej jkrons

OKI - det virker bare underligt at når jeg selv knaster et felt navn ind i sql'en så kører det - nå men der er vel ikke andet at gøre end at begynde at IF'e sig frem når der skal søges :-)
Avatar billede jkrons Professor
20. januar 2003 - 11:33 #18
Hvis du selv taster navnet ind, er det jo netop hardcodet.

ORDER BY Efternavn

er i orden.

ORDER BY (her skal navnet hentes fra en form)

dutter ikke.
Avatar billede jkrons Professor
20. januar 2003 - 11:34 #19
Men måske er terry uenig og kan komme med en løsning.
Avatar billede renekoemler Nybegynder
20. januar 2003 - 12:24 #20
Hej jkrons - jep men den må så ligge i ORDER BY funktionaliteten . Tak for hjælpen. Jeg er normalt LotusNotes mand - men har lige dette her projekt der skal afvilkes i access......
Avatar billede jkrons Professor
20. januar 2003 - 14:16 #21
Velbekomme!
Avatar billede terry Ekspert
20. januar 2003 - 16:17 #22
rene>did you get a solution here? If so what was it?
Avatar billede renekoemler Nybegynder
21. januar 2003 - 08:01 #23
Hi Terry,

I had to accept the fact that the ORDER BY statement not chould be set by value of a COMBO - so it ended up with that I made one query for each af my sorting possibillities. It's not elegant but it works

Thanks for you effort .

René
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