Avatar billede jmahle Nybegynder
03. januar 2005 - 10:21 Der er 10 kommentarer

Skal sortere en text på en bestemt måde med SQL-udtryk

Hej,

jeg har et problem, idet jeg har en database, hvor jeg har angivet dato'en til at være tekst/string, for at kunne skrive den på en bestemt måde.

Nu har jeg dog fået problemer, idet når jeg vil have fat i de datoer, kan jeg ikke order/sortere dem, som jeg gerne vil.

SQL = "Select * from Aktiviteter Order By Dato"

Dato'en har formattet dd-mm-åååå. Men det giver problemer fordi den kun sorterer efter dd, og ikke efter mm.

Derfor kunne resultatet f.eks. se sådan her ud:

03-04-2005
10-12-2005
15-03-2005
23-04-2005

Nogle der har en løsning til hvordan jeg kan ændre dette problem, hvis jeg ikke ønsker at ændre typen text til date i min acces database?


På forhånd tak.
Avatar billede anhansen Nybegynder
03. januar 2005 - 10:28 #1
Nu kan jeg ikke huske access syntax for sql.
Men måske kan du sortere efter delstreng. Altså noget i nærheden af
ORDER BY substring(6,4, date), substring(3,2 date), substring(0,2, date)

Ved ikke om det findes i access - men prøv at undersøge det - det er efter min mening udvejen.
Avatar billede fennec Nybegynder
03. januar 2005 - 10:29 #2
order by cdate(datoKolonne)
Avatar billede fennec Nybegynder
03. januar 2005 - 10:31 #3
... Men det mest rigtige ville være at ændre typen til "dato & klokkeslet" da det er en dato du har, og derfor burde den blive gemt som den type :o)
Avatar billede jmahle Nybegynder
03. januar 2005 - 10:41 #4
Kunne ikke lige få det substring til at virke... men må lige undersøge det nærmere senere hvis det er.

fennec -> Hvad skal jeg skrive i stedet for datoKolonne og er er det bare det jeg skal ændre for at få det til at virke?
Avatar billede fennec Nybegynder
03. januar 2005 - 10:44 #5
Det er navnet på den kolonne hvor datoen står i. I dette tilfælde "Dato":

SQL = "Select * from Aktiviteter Order By cdate(Dato)"
Avatar billede jmahle Nybegynder
03. januar 2005 - 10:46 #6
har jeg prøvet. giver følgende fejl:

Data type mismatch in criteria expression. aktiviteter.asp, line 45
Avatar billede fennec Nybegynder
03. januar 2005 - 10:57 #7
Gad vide om du slet ikke har cDate() funktionen i din Access?? Prøv lige med cvDate():

SQL = "Select * from Aktiviteter Order By cvDate(Dato)"
Avatar billede fennec Nybegynder
03. januar 2005 - 10:59 #8
... Det kan også være fordi nogle af felterne ikke inderholder en gyldig dato. Det kunne f.eks være fordi de er tomme eller indeholder tekst.
Avatar billede jmahle Nybegynder
03. januar 2005 - 11:11 #9
takker. det virker nu :)

Skriv lige et svar, så jeg kan give dig point
Avatar billede fennec Nybegynder
03. januar 2005 - 11:15 #10
.o) <-- One Eyed Jack
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