Avatar billede dkkarpen Nybegynder
20. marts 2001 - 12:59 Der er 11 kommentarer og
1 løsning

Dato problem

Halløj

Jeg tester noget på en server hos DIS. Når jeg sætter en dato ind i en Access database er der problemer.

Serveren anvender US datoformat så jeg anvender session.LCID = 1030

date() returnerer: 20-03-01

Jeg har tjekket min SQL streng og den siger 20-03-01

Men i databasen står der: 01-03-2020

Hvad går galt?
Avatar billede netsrac Praktikant
20. marts 2001 - 13:04 #1
Måske noget med den måde access er sat til at håndtere input, hvis du åbner din tabel i design visning og vælger datafeltet så kan du i bunden indstille hvordan input skal være.
Avatar billede isdan Nybegynder
20. marts 2001 - 13:08 #2
Hej dkkarpen>>

Dette problem kan gøre en vanv. Selv plejer jeg at sætte Feltet i Databasen til text felt. og i selve insert så brug m_dato = str(dato())
Avatar billede dkkarpen Nybegynder
20. marts 2001 - 13:10 #3
netsrac>>Det virker ikke rigtigt...

isdan>>Ja men det er jo ikke en optimal løsning.
Avatar billede netsrac Praktikant
20. marts 2001 - 13:13 #4
dkkarpen >> Hvad er den indstilt til i bunden ?
Avatar billede isdan Nybegynder
20. marts 2001 - 13:13 #5
Altså når du skal lave dato forespørgsler til accessen så opfatter den det som dato. Så ingen problemer der
Avatar billede dkkarpen Nybegynder
20. marts 2001 - 13:14 #6
Hvad mener du?

Indekseret, obligatorisk, inputmaske osv ?
Avatar billede isdan Nybegynder
20. marts 2001 - 13:16 #7
Men en kort forklaring på problemet så er det MDAC 2.6 driveren som conv. datoen. Men den lader være hvis du conv datoen til string og sender den til accessen på den måde.
Avatar billede isdan Nybegynder
20. marts 2001 - 13:19 #8
sv på Hvad mener du?
Indekseret, obligatorisk, inputmaske osv ?

Hvis du laver SQL = \"Select * from tabel where datofeltet > (now - 8) ORDER BY datofeltet DESC\"

Det er en forsp. på alle poster ikke ældre en 7 dage
Avatar billede netsrac Praktikant
20. marts 2001 - 13:19 #9
dkkarpen >> Input masken, hvad står den til ? Hvis den ikke står til noget så gør guiden og definer hvordan input er.
Avatar billede netsrac Praktikant
20. marts 2001 - 13:22 #10
Eller sæt dette i Input maske:

00/00/0000;0;_
Avatar billede dkkarpen Nybegynder
20. marts 2001 - 13:25 #11
Samme resultat...
Avatar billede ldanielsen Nybegynder
20. marts 2001 - 19:05 #12
Jeg plejer at gøre dette:

Når jeg skal skrive til databasen giver jeg den fx 2001/3/20, altså yyyy/mm/dd.

Det forstår databasen altid, det kan ikke misforstås.

Når jeg læser datoen siger jeg minDato = Cdate(Rec(\"Dato\")), og hvis jeg vil have udskrevet ovennævnte datoformat laver jeg det selv:
Response.Write Day(minDato)&\"-\"&Month(minDato)&\"-\"&Year(minDato)

Det har jeg gode erfaringer med med SQL-server, så mon ikke det også virker med access?
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