Avatar billede dramsgaard Nybegynder
19. april 2003 - 17:26 Der er 26 kommentarer og
1 løsning

Sorter efter dato

jeg har en access database, som jeg skal trække mine datoer ud fra.
Datoerne er delt op så, dato, måned og år har hver deres kolonne.

hvordan sortere jeg datoerne så de kommer i rækkefølge?
datoerne skrive ex som: 21. januar 2003
Avatar billede terry Ekspert
19. april 2003 - 17:29 #1
You have a problem!
Avatar billede terry Ekspert
19. april 2003 - 17:31 #2
Silly way to have your date information if you ask me. If you have your month information in a separte table then you could have an extra column containing the number of the month (1 to 12) and then you could use this number instead of the text (which is going to give problems)
Avatar billede terry Ekspert
19. april 2003 - 17:33 #3
its easy enough to sort after dag and år but måned as text is a problem
Avatar billede terry Ekspert
19. april 2003 - 17:40 #4
in your table you should have the month number and not the text this would make things much easier

SELECT * FROM YourTable ORDER BY [År], [måned], [dag]
and if you want the newest first

SELECT * FROM YourTable ORDER BY [År] DESC , [måned] DESC , [dag] DESC
Avatar billede dramsgaard Nybegynder
19. april 2003 - 17:41 #5
det er til en form for kalender.
brugerne indtaster en aktivitet, og en dato.
datoen indtastes ved at vælge tallene/månederne fra nogle drop down bokse, som så ligger informationerne i hver deres kolonne.

har du et forslag til en bedre måde?

jeg vil meget gerne have datoerne i langt format, som de er nu
Avatar billede dramsgaard Nybegynder
19. april 2003 - 17:43 #6
hvis jeg har nr istedet for text i databasen, kan jeg jeg vel ikke få den til at skrive månederne med bogstaver i outputtet kan jeg?
Avatar billede terry Ekspert
19. april 2003 - 17:49 #7
you could have a table containg the number of the month in one column and the name (text) of the month in another then in your ASP you have a combo with BOTH the number and the text. How you do this in ASP isnt my area, but I know that if you dont have the month number then you will have problems sorting
Avatar billede dramsgaard Nybegynder
19. april 2003 - 17:54 #8
er du muligt hvis man indsætter månederne med tal istedet for tekst i databasen, og så laver en funktion i ASP der kan oversætte tallene til tekst når de udskrives?
Avatar billede terry Ekspert
19. april 2003 - 17:58 #9
that sounds like a good idea, but HOW you translate the number to text in ASP I cant help you with!
Avatar billede erikjacobsen Ekspert
19. april 2003 - 18:47 #10
Din database (Access?) har en dato-type til et felt.
Bruger du den, er du ude over mange problemer.
Avatar billede dramsgaard Nybegynder
19. april 2003 - 20:41 #11
jamen det ændre vel stadig ikke på problemet med at jeg vil ha' at der skal stå ex 20. januar istedet for 20/1.
Jeg kan sagtens sortere månederne ved at bruge tal.
Avatar billede dramsgaard Nybegynder
19. april 2003 - 21:17 #13
som jeg har det nu er dato, mdr og år delt ind i hver deres kolonne i db'en, fordi brugeren putter datoen ind i databasen ved at vælge tallene/mdr/aar ved hjælp af 3 dropdown bokse.
Kan man så bruge den funktion du referer til når der skal udskrives fra databasen?
Avatar billede erikjacobsen Ekspert
19. april 2003 - 21:22 #14
Måske - jeg ved det ikke. Men du kan da nemmere putte de 3 felter ned i ét datofelt.
Avatar billede dramsgaard Nybegynder
19. april 2003 - 21:25 #15
hmm jow...jeg ved så bare ikke helt lige hvordan man putter de 3 input ned i ét felt i db'en. Kan man det?
Avatar billede erikjacobsen Ekspert
19. april 2003 - 21:28 #16
Jah, du kan jo altid

yy = ...
mm = ...
dd = ...

dato = yy & "-" & mm & "-" & dd

...sådan ca. Så har du en dato. Måske skal du bruge et andet format,
selv om dette burde virke.
Avatar billede dramsgaard Nybegynder
19. april 2003 - 21:36 #17
hmm det tror jeg ikke lige umiddelbart jeg kan hitte ud af.

når jeg putter datoerne ind i db'en bruger jeg noget lignende:

bla bla

rs.AddNew
rs("dato") = Server.HTMLEncode(Request("dato"))
rs("maaned") = Server.HTMLEncode(Request("maaned"))
rs("aar") = Server.HTMLEncode(Request("aar"))
rs.update

bla bla
hvordan forslår du at gøre det istedet så?
Avatar billede erikjacobsen Ekspert
19. april 2003 - 21:49 #18
Det er da en smule indviklet at forklare her ... betragt det som inspiration
Avatar billede terry Ekspert
20. april 2003 - 11:25 #19
dramsgaard the original question was how to SORT you rdate fields when they were in three column and I have given a solution on how to solve this problem. How to display the date fields on your form is ANOTHER problem!
I dont know much about ASP but if you are using VBSCRIPT you may be able to use some FORMAT function to display the date so that the month is in text.
Avatar billede dramsgaard Nybegynder
20. april 2003 - 16:40 #20
terry > jeg er da glad for din hjælp, men du har jo ikke givet noget konkret svar på spørgsmålet.
SELECT * FROM YourTable ORDER BY [År], [måned], [dag] kan jeg godt selv finde ud af når mdr er skrvet med tal. Problemet var jo netop at jeg ikke kunne finde ud af at sortere datoerne når de var skrevet med bogstaver, og det kan jeg stadig ikke.
ps, hvis du lægger mærke til det, så er spørgsmålet også oprettet i kategorien ASP :)
Avatar billede terry Ekspert
20. april 2003 - 17:13 #21
dramsgaard. The reason why I havent given an answer is because I am suggesting that you redesign your database! IF you redesign your database then you CAN use mys solution. BUT! thsi will mean that you have ANOTHER problem :o)
Avatar billede terry Ekspert
20. april 2003 - 17:18 #22
yes I am VERY WELL aware  that it is in the ASP category but it concerns SQL and I still dont think that we have been told if it is Access or not OR ifyou are using VBSCRIPT or not!
Something else! HOW does the user select the month? This will have an influence on HOW to solve the problem!
Avatar billede dramsgaard Nybegynder
20. april 2003 - 17:50 #23
rolig nu : )
første linie i mit spørgsmål står der : Access Database

1. kommentar jeg skrev: det er til en form for kalender.
brugerne indtaster en aktivitet, og en dato.
datoen indtastes ved at vælge tallene/månederne fra nogle drop down bokse, som så ligger informationerne i hver deres kolonne

i øvrigt er det vel langt de lfeste der bruger VBSCRIPT til ASP, men ellers kan du jo se min kommentar hvor der er noget kode : ) ok?
Avatar billede terry Ekspert
20. april 2003 - 18:06 #24
OK, your the ASP expert :o)
In your "drop down bokse" is it possible to have TWO columns one for the month number and one for the month name? IF it is possible (which I am sure it is) then perhaps you can HIDE the number column. Now when they choose the month you use the NUMBER and put this in the database. Then when you read from the database you set the combo to that number so that they can see the month in text.
Avatar billede dramsgaard Nybegynder
20. april 2003 - 18:12 #25
ja det har jeg tænkt på, men aner ikke hvordan man laver det, hvis man kan.

btw: ASP ekspert kan jeg vist ikke prale med at være =p
Avatar billede dramsgaard Nybegynder
22. april 2003 - 00:16 #26
nå jeg tror bare jeg lukker spørgsmålet
terry du får pointene, selvom jeg ikke fik løst problemet
Avatar billede terry Ekspert
22. april 2003 - 08:39 #27
tak, I'll see if I can find something and get back if I do
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
Kurser inden for grundlæggende programmering

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