Avatar billede boysen Nybegynder
29. december 2002 - 16:45 Der er 4 kommentarer og
1 løsning

Et par dato problemer

Hey?!

Nu har jeg efterhånden trevlet alle spørgsmål vedr. datoformat igennem, og der er en del som omhandler mit problem, men jeg kan alligevel ikke løse det.

Spørgsmål 1
Jeg har flg. function:
function Ret_ID()
  RetID = Day(tbl("Dato")) & "-" & Month(tbl("Dato")) & "-" & Year(tbl("Dato"))
  Response.Write RetID
End function

Den udskriver således 1-1-2002
Hvordan får jeg flettet noget ind så den udskriver 01-01-2002?

Spørgsmål 2
Når jeg tilføjer en dato f.eks. 09-08-2002 bliver den lavet om til 08-09-2002
Koden ser således ud:

<%
session.LCID = 1030
%>

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("*.mdb") & ";UID=admin;PWD=;"

    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * FROM artikler WHERE id=" & request.form("id")
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
%>
<% if Request.form("delete") = "ON" then
      Rs.delete
Response.Redirect "ret.asp"
%><% end if %>

<% 
    rs.Update
rs("forfatter") = Request.form("forfatter")
rs("artikel") = Request.form("artikel")
rs("dato") = Request.form("dato")
rs("overskrift") = Request.form("overskrift")
      rs.Update

    rs.Close
    Set rs = Nothing

Conn.Close
set Conn = Nothing

Response.Redirect "ret.asp"
%>
<% end if %>

Jeg kan ikke løse problemet selvom det garanteret er temmelig enkelt.

Håber på et pædagogisk svar :-)

Sig blot til hvis der ikke er point nok.

Venlig hilsen
Michael Boysen
Avatar billede eagleeye Praktikant
29. december 2002 - 16:55 #1
Så skal du rette i denne linie i functionen:


RetID = Right("0" & Day(tbl("Dato")),2) & "-" & Right("0" & Month(tbl("Dato")),2) & "-" & Year(tbl("Dato"))
Avatar billede boysen Nybegynder
29. december 2002 - 17:07 #2
Stærkt!

Det løste problem 1 til UG og slange :-)

Håber problem 2 er lige så simpelt.

Venlig hilsen
Michael Boysen
Avatar billede eagleeye Praktikant
29. december 2002 - 17:12 #3
Doh jeg var så optaget af jeg kunne svare på det første at jeg helt har glemt/overset spm 2..

Hvilket dato format bruger du i databasen?
Jeg troede faktisk at når man bruger rs("dato") = xxx at den ville give rigtigt dato format. Normalt når man indsætter dato i en database via SQL skal dato være i UK/US format altså yyyy-mm-dd eller mm-dd-yyyy også selv om man bruger DK format på ASP siden og i databasen.

Men som sagt troede jeg ikke problemmet var der med rs("dato") = xx

Så prøv at lave denne linie:

rs("dato") = Request.form("dato")


Om til dette:

datoStr = Year(Request.form("dato")) & "-" & Month(Request.form("dato")) & "-" & Day(Request.form("dato"))
rs("dato") = datoStr
Avatar billede boysen Nybegynder
29. december 2002 - 17:24 #4
Jamen, jamen det/du er jo kanon!

Det kan være lidt farligt at få hjælp så hurtigt - man risikerer jo at forfalde til spørge at før man selv prøver :-)
Det som havde taget mig omkring 3 timer ikke at løse tog dig ganske få minutter

Mht. hvilket datoformat jeg bruger, forventer jeg det er ShortDate du spørger til?

Hygge og godt nytår
Michael Boysen
Avatar billede eagleeye Praktikant
29. december 2002 - 17:29 #5
Grunden til jeg sprøger til dato formatet er fordi jeg faktisk troede det ville virke med rs("dato") = "xxx" uden at man skulle lave det til UK/US dato format.  Jeg har lige kigget på det, det er fordi jeg har brugt det engang men der smed jeg dato'en i et tekst felt og så bliver den rigtig, men så kan man heller ikke sortere dato med ORDER BY i SQL da den så er af type text og ikke date/time.
Det må jeg huske at når kolonnen er af typen date/time så skal det være US/UK dato format både via SQL og RS("kolonnenavn").

Godt nytår :)
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