Avatar billede kagge Nybegynder
02. juni 2003 - 13:10 Der er 5 kommentarer og
1 løsning

datoproblemer i access

Har et problem med datoformat i Access 2000 engelsk version.

På min hjemmeside er der et indtastningsfelt, hvor datoen indtastes i formatet dd.mm.åååå

Når jeg vil lægge denne dato ind i Access ved hjælp af ASP fejler den. På serveren inde under kontrolpanel => regional settings står formatet til dansk dd/mm/åå (dette kan ikke ændres, fordi der kører nogle andre systemer på den)

Kan man ikke i format-feltet på det pågældende felt i Access skrive et eller andet så den kan ligge formatet dd.mm.åååå ind?

Håber der er nogle som kan hjælpe
Avatar billede roenving Novice
02. juni 2003 - 13:13 #1
Hvorfor formatterer du den ikke bare når du skal have den ud ?-)

I databasen har du det absolut bedst med at den ligger i et native datoformat, for så kan du bruge til alt muligt, som f.eks. sortering ,-)
Avatar billede kagge Nybegynder
02. juni 2003 - 13:18 #2
Brugerne skal helst indtaste efter formatet dd.mm.åååå da de er vant til det fra et andet program.

Men når jeg lægger dette format ned i db så fejler den og der bliver slet ikke lagt nogle data i recordsettet
Avatar billede eagleeye Praktikant
02. juni 2003 - 13:27 #3
Det er fordi SQL bruger US/UK dato format som er åååå-mm-dd eller mm-dd-åååå og det er lige meget hvad serveren eller formatet i databasen er, så skal doter overført via SQL være i enten US eller UK format.


Det er ikke noget problem hvis du køre med DK datoformat på serveren og du indtaster i dd-mm-åååå så  bruger man bare year,month,day functionerne til at formater datoen til SQL.:

dato = Request.Form("dato")
datoStr = Year(dato) & "-" & Month(dato) & "-" & Day(dato)

SQL = "INSERT INTO xxx (datoKolonne) VALUES (#" & datoStr & "#)"
Avatar billede kagge Nybegynder
02. juni 2003 - 13:52 #4
ok tak for hjælpen. Jeg vil lige prøve at kigge på det
Avatar billede kagge Nybegynder
03. juni 2003 - 08:59 #5
Til eagleeye:

<INPUT TYPE="text" SIZE="10" NAME="dat" VALUE="<% = Response.Write (right(Day(Date())+100,2)) & "." & (right(Month(Date())+100,2)) & "." & Year(Date()) %>">

Ovenstående form sendes til en side hvor jeg har nedenstående kode:

dato = Request.Form("dat")
datostr = Year(dato) & "." & Month(dato) & "." & Day(dato)

recordSet1("Dato") = datostr

Følgende fejl får jeg:
Microsoft VBScript runtime error '800a000d' Type mismatch: '[string: "03.06.2003"]' /stelnummer/opretinfofindtal.asp, line 41

Hvor line 41 er: datostr = Year(dato) & "." & Month(dato) & "." & Day(dato)
Avatar billede eagleeye Praktikant
03. juni 2003 - 17:47 #6
. er ikke en gyldig karakter i dato angivelse. Man bruger / eller - mellem tallene

Så du må lave denne linje:
dato = Request.Form("dat")

Om til:
dato = Replace(Request.Form("dat"),".","-")


Jeg tror også du frå fejl når du indsætter i databasen med ., men du kan jo prøve.
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