webForumDet fria alternativet

Problem med Datum i Access

7 svar · 325 visningar · startad av Thorsander

ThorsanderMedlem sedan aug. 2001746 inlägg
#1

Hej på er bröder/systrar!

Jag har försökt att hitta en lösning på följande problem, här på Webforum, men inte lyckats.

Problem.
Jag har en Access-driven nyhetssida.
Administratören skriver in en rubrik och en brödtext. Datumet lägger jag till automatiskt i skriptet med koden:

<input type="hidden" name="newsDate" value="<%=Date%>">

Detta ger följande resultat i databasen: 8/22/2002
(Fältet i databasen är av typen Text)

SQL koden på själva nyhetssidan ser ut som följer:

 rs.Open "select * from news order by newsDate DESC" , con, 3, 4

När jag skriver ut nyheterna på sidan så får jag följande
formatering (precis som i fältet i databasen) :) : 8/22/2002

Detta är inte så lyckat för när jag försöker att sortera nyheterna och skriva ut den senaste först för jag ett felaktigt resultat!

Se exemplet: Exempelsida

Jag vill få datumet utskrivet i Amerikanskt format (22-08-2002 eller möjligen 2002-08-22 - vet inte riktigt vilken det är).

Någon som kan hjälpa mig?

@ndersMedlem sedan juni 200032 969 inlägg
#2

Du ska absolut använda datumtyp för datumfält i din databas. Annars tappar man sorteringen på det sätt du beskriver, plus att man inte kan använda de datumfunktioner som finns.

Ändra alltså typ på datumfältet.

Mvh,

ThorsanderMedlem sedan aug. 2001746 inlägg
#3

@nders
Fint! Nu funkar sorteringen men datum-formatet är fortfarande fel. :)

8/22/2002 istället för 22/08/2002

@ndersMedlem sedan juni 200032 969 inlägg
#4

På ASP-sidan:

Session.LCID = 1053

Sedan ser du till att du har subtypen datum på dina format också när du skriver ut dem:

Response.write CDate(objRS("datumfältet"))

Session.LCID fungerar normalt på alla Windows-servrar. Kör du på *nix / asp-klon fungerar det inte, utan då måste du själv formatera datumet till det format du vill ha.

Mvh,

VideMedlem sedan dec. 19998 577 inlägg
#5

För att få svensk standard på datum (och andra tecken uppsättingar) så använder man "Session.LCID = 1053" på sidan du skall presentera datumen...

Efter som VBScript är lite löst typat vad gäller datatyper så kanske det inte fungerar direkt, då kan du testa att konvertera ditt datum med CDate( dittDatum ) för at vara säker på att det rätt.

*Grrrr... @ han före...*

Mvh, Vide

ThorsanderMedlem sedan aug. 2001746 inlägg
#6

Fint!
Nu funkar det!

Tackar båda två!!!

@ndersMedlem sedan juni 200032 969 inlägg
#7

Du får ändra objektsnamn så de stämmer överens med det som du använder i din kod. objRS är ett namn som jag ofta använder för mina recordsets.

Red: jaja... ;)

Mvh,

ThorsanderMedlem sedan aug. 2001746 inlägg
#8

Sorry @nders...
Hann före...

Tack än en gång!

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)