Avatar billede ghostdk Nybegynder
27. oktober 1999 - 12:39 Der er 3 kommentarer og
2 løsninger

Problemer med datoer i Access...

jeg har følgende script, som skal indsætte en nyhed i en Access database, men jeg kan ikke få den til at formaterer mine datoer rigtigt.

Hvis jeg indtaster 21-11-99 i min form (den session ("FromDay") etc. kommer fra), går det fint, men indtaster jeg 05-11-99 bliver det til 11-05-99 i databasen (jeg har sat dato formatet til dd-mm-yy i kontrolpanelet)

Håber der er nogle, som kan hjælpe.

MVH
  Allan

    set conn=server.createobject ("adodb.connection")
    cnpath="DBQ=" & server.mappath ("news.mdb")
    conn.open "DRIVER={Microsoft Access Driver (*.mdb)};" & cnpath
    sqlStr = "INSERT INTO tNews (FromDate, ToDate, Header, Body) VALUES (#" & session ("FromDay") & "-" & session ("FromMonth") & "-" & _
            session ("FromYear") & "#, #" & session ("ToDay") & "-" & session ("ToMonth") & "-" & session ("ToYear") & "#, '" & _
            session ("Header") & "', '" & session ("Message") & "')"
    'response.write (sqlStr)
    set rs=conn.execute(sqlStr)
    response.redirect "amenu.asp"
Avatar billede jens Nybegynder
27. oktober 1999 - 12:55 #1
Her må jeg anbefale følgende på Activeserpages.dk

http://www.activeserverpages.dk/aspdigital/kapitel1/formatdate.asp

Avatar billede ghostdk Nybegynder
27. oktober 1999 - 12:56 #2
Det har jeg prøvet... det giver mig samme resultat...

Jeg ved ikke om det har nogen betydning, men jeg bruger Access 2000

MVH
  Allan
27. oktober 1999 - 12:59 #3
Jeg vender altid datoerne om, ellers kan jeg ikke få det til at virke.

Jeg skriver:


SELECT * FROM bilstattbl
WHERE servertime>=#99-09-13 00:00:00#
ORDER BY userid & servertime asc;


altså #ÅR-MÅNED-DAG#
Avatar billede pingo Nybegynder
27. oktober 1999 - 13:01 #4
Allan: jeg kan efter at have brugt MEGET lang tid på det samme fortælle dig hvad jeg har fundet ud af:

1. SQL er altid engelsk - og derfor skal du med #" & Dato & "# til et Dato/Klokkeslet flet altid indsætte en engelsk dato - uanset hvad du gør i databasen - alting er ligemeget. Dvs - har du nogle danske dato felter i databasen så konverterer du bare datoen til engelsk først - og så putter den ind - og så vil den være dansk alle andre steder.

2. Du kan konvertere din dato til en long, da den så bliver et tal, som repræsenterer en dato, opgivet som en periode mellem en eller anden startdato - 1-1-80 tror jeg, og så den dato du konverterer til long. På den måde har du altid samme værdi - uanset om det er engelsk eller dansk dato format.

3. Dine problemer kommer "kun" i de perioder hvor vi har dage der er større end 12 - for Access kan godt se at engelsk dato 24-10-99 ikke er korrekt - og den vil således blive konverteret - dvs - halvdelen af dine dato'er vil blive konverteret. Sørg derfor altid for at sætte en engelsk dato ind!
Avatar billede ghostdk Nybegynder
27. oktober 1999 - 13:03 #5
Tak for hjælpen... det virker nu.. ;)

MVH
  Allan
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