Avatar billede bmads Nybegynder
24. oktober 2005 - 20:05 Der er 17 kommentarer og
2 løsninger

Sortering efter felter i formular fungerer ikke

Min formular har en tabel som datakilde. Den er opbygget med 3 felter og visning af formularen er som fortløbende formularer.

Access giver mulighed for selv at vælge sortering efter valgfrit felt (felt1, felt2 eller felt3) men uanset hvad jeg gør, vil Access kun vise informationerne i formularen efter den orden, der er i tabellen.
Tabellen er i øvrigt IKKE sorteret og har heller ikke noget sorteringsfelt vist under egenskaber.
Jeg ved, at jeg tidligere har benyttet funktionen i andre sammenhænge, men hvad det er der gør forskellen kan jeg ikke gennemskue??
Avatar billede mugs Novice
24. oktober 2005 - 20:09 #1
Har du prøvet at have en forespørgsel sonm postkidlde og sorteret denne?
Avatar billede bmads Nybegynder
24. oktober 2005 - 20:13 #2
Ja, og det går fint, men problemer er, at så skal jeg bruge 3 FSP for at give brugerne de 3 sorteringsmuligheder
Avatar billede terry Ekspert
27. oktober 2005 - 19:49 #3
3 FSP?

You can sort after as many fields as there are in the table and more too if you make your own calcualted fields.
Avatar billede bmads Nybegynder
28. oktober 2005 - 00:48 #4
Thank you terry. But please tell me how to use the funktion !
Avatar billede mugs Novice
28. oktober 2005 - 05:45 #5
Som terry påpeger kan du sortere efter lige så mange felter som du vil.

Du skal lave din forespørgsel og sortere denne. Det felt du først vil sortere på skal ligge længst til venstre i designgitteret, derefter det felt skal har 2. prioritet i din sortering o.s.v.

Kontroller derefter, at formularen har denne forespørgsel som postkilde.
Avatar billede terry Ekspert
28. oktober 2005 - 10:26 #6
bmds>You wrote 3FSP in your comment 24/10-2005 20:13:33 but I'm not sure waht you mean with 3FSP. Can you explain please.


In the record source for a form you can use a table name, a query, or you can write the SQL directly


So you could use

SELECT * FROM YourTable ORDER BY Fld1, Fld2;
Avatar billede bmads Nybegynder
28. oktober 2005 - 12:46 #7
Sorry terry, but FSP (Forespørgsel) is my Danish word for queries.

To all of you.
I know all about the how to make and order a query and then use it in a form, but my problem is, that I have a Form with up to 10 fields, and I want to give the user of this Form the possibility to order the information’s as he like, just by pressing an option button (one option button for each field).

The Form has the View information under the Format tab set to Continuous Forms

Pressing the Option button will start a macro. The Macro has a Set Value for each Option button, and put the information of the chosen field into the field Order By.

Then I just need to update the display by pressing key F9 (also done by the Macro) and the Form is now ordered by the chosen field.

It should be very simple! BUT – no matter what I do; changing the value in the field Order BY has absolutely no effect.

I hope this is clear. Otherwise please contact me again.

Hvis mit engelske ikke er OK, så sig blot til, og jeg vil prøve med en dansk udgave.
Avatar billede terry Ekspert
28. oktober 2005 - 15:38 #8
Your english is just great, but no need to use it for me, I understand danish very well, just too lazy (and slow) to write.

You need to set the OrderByOn property to true also.

Me.OrderBy = "FieldToOrderBy"
Me.OrderByOn = True
Avatar billede bmads Nybegynder
29. oktober 2005 - 09:07 #9
terry, det lyder som om du har fat i noget rigtigt, men hvad hedder OrderByOn på dansk, for jeg synes ikke, jeg kan se den i Egenskaber.
Avatar billede mugs Novice
29. oktober 2005 - 09:14 #10
Det har ikke noget med egenskaber at gøre. Du skal f.eks indsætte koden i en kommandoknap VedKilk. Husk at ændre:

"FieldToOrderBy"

til navnet på det felt du vil sortere efter.
Avatar billede terry Ekspert
29. oktober 2005 - 09:30 #11
28/10-2005 15:38:02 I should also have said that this is in code, either a macro or VBA
Avatar billede bmads Nybegynder
29. oktober 2005 - 10:31 #12
mugs: OrderBy findes altså som en egenskab til en formular - under fanebladet Data, og det er den egenskab, der kan ændres via en makro.

Men jeg tester lige funktionerne, når de udføres alene fra en macro.
Avatar billede mugs Novice
29. oktober 2005 - 10:44 #13
Ok - Du har ret, men hvordan vil du ændre det sortering?
Avatar billede terry Ekspert
29. oktober 2005 - 17:17 #14
As far as I can see it itsnt a property in the property window so it muct be done in code.

You can also try this (after setting the orderby propert)

press Ctrl+G to open the debug window. Then enter

forms!NameOfForm.OrderByOn = True

NameOfForm needs to be changed to the name of the form.

You should now see the form get sorted by the column you chose.

Using False will unsort.


So I suggest that you make a function to sort for you and call the function from the macro if you must use a macro.
Avatar billede bmads Nybegynder
30. oktober 2005 - 00:58 #15
Bingo! I found it. Egenskaben OrderByOn er fundet. Ikke i selve formens egenskaber, men i forbindelse med funktionen i min makro AngivVærdi dukker der nogle ekstra funktioner op, og deriblandt var der mulighed for at vælge OrderByOn, der nu er sat til Ja (True) ved hjælp af makroen. Og så virker sorteringsfeltet.
Der er samme makro, der også via funktionen AngivVærdi sætter navnet på det felt, der skal sorteres efter, ind i egenskaben SorterEfter under fanebladet Data i formen.

Min form indeholder 7 felter, og visningen er FortløbendeFormularer. I formularhovedet har jeg en Gruppeboks, der indeholder 7 Alternativknapper (værdien 1-7) altså en for hvert felt.
Værdierne 1-7 bruges som kriterier i makroen for at udføre lige præcis den handling, der overfører feltnavnet, der bruges som sorteringsfelt til egenskaben SorterEfter i formularen.
Det giver brugeren af formen en nem mulighed for – med et enkelt klik – at sortere listen efter det felt han ønsker.

Ganske simpelt, hvis det bare virker (OrderByOn sat til Ja (True).

1000-tak for hjælpen begge 2. Hvis I går meget op i point, så nyd dem. Hav en fortsat god weekend fra en glad Access bruger.
Avatar billede mugs Novice
30. oktober 2005 - 05:35 #16
Tak for point.
Makroer er udmærkede selvom du bør undgå dem i din færdige applikation. Når du har sikret dig, at makroen fungerer efter hensigten, kan du lade access "oversætte" makroen til VBA i menuen Funkrioner > Makro > Konverter til VBA. Herefter vil makroen blive indsat som et modul som du kan kopiere og indsætte som en hændelsesprocedüre i din knap. Når du har sikret dig at det fungerer, kan du slette både makro og modul.
Avatar billede bmads Nybegynder
30. oktober 2005 - 09:57 #17
Tak for tipset - det er en god løsning. Jeg er dog underlagt en aftale om, IKKE at benytter VBA. Det handler om, at en makro er nemmere at gennemskue for "normale" Access brugere, selv om det er lidt mere bøvlet for udvikleren. Men de kræver ikke så mange backup ressourcer.
Fortsat god weekend
Avatar billede mugs Novice
30. oktober 2005 - 09:59 #18
Tak - I lige måde.
Avatar billede terry Ekspert
30. oktober 2005 - 10:03 #19
tak
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