Avatar billede nic_the_best Nybegynder
07. februar 2005 - 16:32 Der er 9 kommentarer og
2 løsninger

Lege med datoer i ASP

Hej

Jeg har lidt problemer med at lege med datoer i ASP

Jeg har en database hvor jeg gemmer datoen for oprettelse af et medlem i. Datoen gemmes som alm. tekst og genereres af asp kommandoen "date"
Det giver en tekst i databasen som f.eks. 07-02-2005 (den 7. februar 2005)

Senere hen kunne jeg godt tænke mig at hente en liste over databasens indhold, sorteret efter dato.

MEN sorteringen er ikke helt som den skal være...
Sorteringen bliver f.eks. sådan her:

07-02-2005
09-03-2005
19-09-2004
01-01-2006

Den kigger altså først på dagen og er ligeglad med om det er i år, forrige år eller hvilken måned...
Det skal den ikke!

Hvordan skal jeg bære mig ad, når jeg leger med tid og datoer?
Avatar billede mm12010 Nybegynder
07. februar 2005 - 16:38 #1
du skal ændre datatypen i det felt du bruger til at være 'Dato og klokkeslæt'
Avatar billede nic_the_best Nybegynder
07. februar 2005 - 17:07 #2
Kan jeg gøre dette uden at slette/ødelægge de allerede indtastede værdier
Avatar billede eagleeye Praktikant
07. februar 2005 - 17:34 #3
Ja det kan du. Som "nødløsning" kan du konvertere kolonnen til Date i SQL sætningen, er det Access så prøv sådan her:

SQL ="select * from tbl order by CDate(datokolonne)"

Når kolonnen er defineret som teskt sorter den alfabetisk en karakter af gangen og ikke hele strengen som en bestemt type.
Avatar billede nic_the_best Nybegynder
07. februar 2005 - 17:38 #4
Takker...

Jeg har fået styr på det!

Smid svar begge to
Avatar billede mm12010 Nybegynder
07. februar 2005 - 18:00 #5
selv tak :o)
Avatar billede nic_the_best Nybegynder
07. februar 2005 - 18:59 #6
Lige et lille slutspg.

Nu har jeg også et tekstfelt hvor dato skrives som eks. 02-07-2005, men altså som tal...
Når jeg prøver at ligge dette ind i siger den "Type mismatch."

Skal tallet på en eller anden måde konverteres inden de kan lægges i databasen?

noget ala: rs("k_dato") = CDate(Request.form("datofelt")) eller lign?
Avatar billede eagleeye Praktikant
07. februar 2005 - 19:07 #7
Får du "Type mismatch." med den linje du har vist?
og kolonnen er af typen tekst?
Avatar billede nic_the_best Nybegynder
07. februar 2005 - 23:42 #8
Jeg får fejlen "Type mismatch." hvis der ikke er indsat noget i feltet "datofelt"
Det er ikke lavet som et obligatorisk felt, men CDate kan vist ikke håndtere at den ingen værdi får...

Hvad gør en klog mand så???
Avatar billede eagleeye Praktikant
07. februar 2005 - 23:44 #9
Det er rigtig det kan den ikke så kan du evt lave det sådan her, så skal k_dato kolonnen sættes til at tillade nulllænge strenge:

if Request.form("datofelt") <> "" then
  rs("k_dato") = CDate(Request.form("datofelt"))
end if
Avatar billede nic_the_best Nybegynder
08. februar 2005 - 00:45 #10
Så virker det...

takker for hjælpen.

eagleeye smider du et svar?
Avatar billede eagleeye Praktikant
11. februar 2005 - 21:57 #11
Ja det gør jeg da :)
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