Avatar billede kiddoe Nybegynder
29. april 2006 - 23:13 Der er 5 kommentarer og
1 løsning

Problem med sortering af data efter dato

Hej - jeg kan ikke få dette til at sortere rigtigt efter datoer. Det sorterer kun efter de første to cifre i registreringsdato og fødselsdato. Altså kun månedsdag og ikke måned og årstal

Nogen forslag !!

datoformatet i db ser sådan ud - 10-10-1980
NB. DOB = fødselsdato

///

QRY    =    REQUEST.QUERYSTRING("QRY")
ODR    =    REQUEST.QUERYSTRING("ODR")
IF ODR = "" THEN
ODRTYPE    =    "USERNAME ASC"
ELSEIF ODR = "USERNAMEDESC" THEN
ODRTYPE = "USERNAME DESC"
ELSEIF ODR = "USERNAMEASC" THEN
ODRTYPE = "USERNAME ASC"
ELSEIF ODR = "REGISTERDESC" THEN
ODRTYPE = "DTREGISTER DESC"
ELSEIF ODR = "REGISTERASC" THEN
ODRTYPE = "DTREGISTER ASC"
ELSEIF ODR = "DOBDESC" THEN
ODRTYPE = "DOB DESC"
ELSEIF ODR = "DOBASC" THEN
ODRTYPE = "DOB ASC"

END IF

///// record

SET RsMemSrch = SERVER.CREATEOBJECT("ADODB.RECORDSET")
IF QRY = "" THEN
RsMemSrch.OPEN "SELECT UID,USERNAME,DOB,GENDER,COUNTRY,DTREGISTER FROM USERS ORDER BY " & ODRTYPE & "", DBCONN, 1
TOTAL = RsMemSrch.RECORDCOUNT
ELSE
RsMemSrch.OPEN "SELECT UID,USERNAME,DOB,GENDER,COUNTRY FROM USERS WHERE USERNAME LIKE '" & QRY & "%' ORDER BY " & ODRTYPE & "", DBCONN, 1
TOTAL = RsMemSrch.RECORDCOUNT
END IF

/////// formen

<FORM ACTION="medlem_324tyer78hry34578yr.asp" METHOD="GET"><FONT SIZE="2" CLASS="FONT"><%=UMP_SortingOrder%> : <SELECT NAME="ODR" CLASS="INPUT">
<OPTION VALUE="USERNAMEDESC" <%IF ODR = "USERNAMEDESC" THEN%>SELECTED<%END IF%>><%=UMP_USERNAMEDESC%></OPTION>
<OPTION VALUE="USERNAMEASC" <%IF ODR = "USERNAMEASC" THEN%>SELECTED<%END IF%>><%=UMP_USERNAMEASC%></OPTION>
<OPTION VALUE="REGISTERDESC" <%IF ODR = "REGISTERDESC" THEN%>SELECTED<%END IF%>><%=UMP_REGISTRATIONDATEDESC%></OPTION>
<OPTION VALUE="REGISTERASC" <%IF ODR = "REGISTERASC" THEN%>SELECTED<%END IF%>><%=UMP_REGISTRATIONDATEASC%></OPTION>
<OPTION VALUE="DOBDESC" <%IF ODR = "DOBDESC" THEN%>SELECTED<%END IF%>><%=UMP_DOBDESC%></OPTION>
<OPTION VALUE="DOBASC" <%IF ODR = "DOBASC" THEN%>SELECTED<%END IF%>><%=UMP_DOBASC%></OPTION>

</SELECT>  <INPUT TYPE="SUBMIT" VALUE="Sorter Brugere" CLASS="INPUT"> </FONT>
Avatar billede cpufan Juniormester
29. april 2006 - 23:23 #1
hvordan er din kolonne defineret i db? som tekst eller dato?

hvis tekst, skal den den indsættes yyyy-mm-dd


det skal den egentlig også som dato for at undgå fejl,
da access altid kører efter us-dato mmddyyyy med mindre man starter med år,

yyyymmdd så kan den godt forstå det.
Avatar billede kiddoe Nybegynder
29. april 2006 - 23:38 #2
mener du at den skal se sådan ud 1980/10/10?

med

DOBDAY        =    REQUEST.FORM("DOBDAY")
DOBMONTH    =    REQUEST.FORM("DOBMONTH")
DOBYEAR        =    REQUEST.FORM("DOBYEAR")
DOB        =    DOBYEAR & "/" & DOBMONTH & "/" & DOBDAY
Avatar billede kiddoe Nybegynder
29. april 2006 - 23:42 #3
DOB kolonen står som tekst

DTREGISTER står som dato
Avatar billede kiddoe Nybegynder
29. april 2006 - 23:46 #4
jeg rettede den fra tekst til dato og nu virker det fint

tak skal du have - lægger du et svar :)
Avatar billede cpufan Juniormester
29. april 2006 - 23:55 #5
jepper
Avatar billede cpufan Juniormester
29. april 2006 - 23:57 #6
jeg plejer at bruge 1980-10-10 men det er vel hip som hap, er bare ikke så vild med
skråstreg eller  divideret-med-tegn eller forveklses med backslash
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