Avatar billede webbe Nybegynder
24. juni 2002 - 12:22 Der er 21 kommentarer og
1 løsning

DatoFormat

Hejsa

Jeg har et kæmpe problem med dato-formater i min Access2000 DB.

Hvis man admin-modulet indtaster datoen 25-02-2002 indsættes datoen korrekt, men hvis man indtaster datoen 10-05-2002 vender den om på dag og måned så det bliver 05-10-2002 og det duer jo ikke.

Jeg har prøvet med følgende når jeg indsætter i databasen:

FormatDateTime(Upload.Form("dato"),vbShortDate)

men det virker ikke rigtigt.

Er der nogen der kan hjælpe?
Avatar billede Slettet bruger
24. juni 2002 - 12:25 #1
Er dit datoformat sat til at være dansk?

Kan gøres med: Session.LCID = 1030

Er datoformatet i databasen sat til at være dansk?
Avatar billede webbe Nybegynder
24. juni 2002 - 12:26 #2
Hvor gør jeg det i DB'en?

Hvor skriver jeg den Session.LCID ?
Avatar billede Slettet bruger
24. juni 2002 - 12:31 #3
det skriver du bare i toppen af din asp kode
Avatar billede Slettet bruger
24. juni 2002 - 12:32 #4
Session.LCID = 1030 sættes ind i toppen af asp-siden.

Hvis du har en dansk udgave af Access, burde der ikke være problemer, men sproget kan sættes under Funktioner -> Indstillinger
Avatar billede webbe Nybegynder
24. juni 2002 - 12:35 #5
questis:

Det er en dansk version af Access.

sådan her:

<%
Session.LCID = 1030
%>

?
Avatar billede Slettet bruger
24. juni 2002 - 12:37 #6
Jep. Du kan eventuelt lægge linjen ud i en global.asa fil, hvis du har mulighed for det.

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Session_OnStart
    Session.LCID = 1030
End Sub
</SCRIPT>
Avatar billede Slettet bruger
24. juni 2002 - 12:37 #7
- Så slipper du for at have den stående på dine .asp-sider
Avatar billede webbe Nybegynder
24. juni 2002 - 12:40 #8
magik:

Det er kun én fil der er tale om - nemlig der hvor jeg gemmer min dato.
Avatar billede Slettet bruger
24. juni 2002 - 12:41 #9
Okay, så er det nok ikke det store problem. :)
Avatar billede webbe Nybegynder
24. juni 2002 - 12:42 #10
magik:

Jo - for det virker heller ikke.
Avatar billede Slettet bruger
24. juni 2002 - 12:44 #11
Hvordan lægger du data i databasen?
Avatar billede webbe Nybegynder
24. juni 2002 - 12:58 #12
Den bytter stadig rundt på dag og måned - vil det hjælpe hvis jeg i DB ikke fastsætter noget format på det felt?
Avatar billede Slettet bruger
24. juni 2002 - 13:02 #13
Det burde normalt ikke gøre nogen forskel.
Avatar billede webbe Nybegynder
24. juni 2002 - 13:06 #14
magik:

Laver først et tjeck på om feltet indeholder noget, hvis ikke giver jeg den datoen 01-01-1900 (standardværdi) ellers

sql = "INSERT INTO table_name (Dato) VALUES ("&"#"&Upload.Form("dato")&"#)"
Avatar billede Slettet bruger
24. juni 2002 - 13:11 #15
Har du prøvet at bruge ' i stedet for #?
Avatar billede webbe Nybegynder
24. juni 2002 - 13:12 #16
Ja - og så får jeg en syntax-fejl!
Avatar billede Slettet bruger
24. juni 2002 - 13:21 #17
sql = "INSERT INTO table_name (Dato) VALUES ('" & CDate(Upload.Form("dato")) & "')"
Avatar billede webbe Nybegynder
24. juni 2002 - 13:32 #18
magik:

Det virker...men jeg har koblet et ekstra datofelt på nu af samme type som de andre dato-felter, men får pludselig en fejl.

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'CDATE'

/scan_web/admin/save.asp, line 810


Min linie 810 er min sql-statement og jeg indsætter/opdaterer feltet på samme måde som de andre.

Min sql er her:

filmSQL = "UPDATE Film SET Edbnr="&Edbnr&",Orgtitel='"&Orgtitel&"',Nationaltitel='"&Nationaltitel&"',VHS_leje='"&CDATE(VHS_leje)&"',Format="&Format&",Instruktoer='"&Instruktoer&"',Genre="&Genre&",VHS_koeb='"&CDATE(VHS_koeb)&"',BIO='"&CDATE(BIO)&"',DVD_leje='"&CDATE(DVD_leje)&"',DVD_koeb='"&CDATE(DVD_koeb)&"',VHS_billede='"&VHS_billede&"',Spotlight='"&Spotlight&"',Godkendt='"&Godkendt&"',Spot_exp='"&CDATE(Spot_exp)&"' WHERE Edbnr="&Session("Edbnr")
Avatar billede Slettet bruger
24. juni 2002 - 13:36 #19
CDate() er en VBS-funktion til at konvertere en tekst-streng til en dato.

Hvis du bruger funktionen på noget der ikke kan konverteres til en dato, vil du få en fejl.
Avatar billede webbe Nybegynder
24. juni 2002 - 13:39 #20
Jeg har lavet følgende tjeck inden min sql:

If Upload.Form("spot_exp") = "" Then
    Spot_exp = "01-01-1900"
Else
    Spot_exp = Upload.Form("spot_exp")
End if

På nøjagtig samme måde som de andre datoer.
Avatar billede webbe Nybegynder
24. juni 2002 - 13:47 #21
Aaaahhh - fandt ud af det sidste....var fordi felterne ikke indeholdt en værdi når jeg opdaterer.

Men lav et svar og pointene er dine! ;0)

Tak for hjælpen.
Avatar billede Slettet bruger
24. juni 2002 - 13:50 #22
et svar  ;)

selv tak :)
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