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.
Annonceindlæg fra FPT Software
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.
03. januar 2005 - 10:29
#2
order by cdate(datoKolonne)
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)
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?
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)"
03. januar 2005 - 10:46
#6
har jeg prøvet. giver følgende fejl: Data type mismatch in criteria expression. aktiviteter.asp, line 45
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)"
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.
03. januar 2005 - 11:11
#9
takker. det virker nu :) Skriv lige et svar, så jeg kan give dig point
03. januar 2005 - 11:15
#10
.o) <-- One Eyed Jack
Kurser inden for grundlæggende programmering