Avatar billede virtualdurran Nybegynder
05. maj 2004 - 09:46 Der er 11 kommentarer og
1 løsning

Dato med access og asp?

Jeg er ved at lave en nyhedsside. Den består af en iframe i højreside hvor overskriften indlægges som et link. Når man trykker på overskriften, skal nyheden åbne i min frame der hedder indhold. Det har jeg fået til at virke. Jeg vil så have at datoen skal stå ved siden af overskfiten og det er her, der er problemer. I min database har jeg bedt om at gemme dato og har valgt dato og klokkeslæt, så det automatisk bliver sat ind. Jeg har dernæst valgt at sætte format til dd-mmm-åå, hvor den skriver de 3 første bogstaver af måneden (septemper=sep). Problemet er så, at den viser det sådan inde i tabellen, men hvis jeg markere en dato i min tabel, ændre den det til det gamle format med både date og klokkeslæt. Og det er også det, der bliver hentet, når jeg requester den i mit asp-srcipt. Hvorfor kan jeg ikke nøjes med kun at gemme datoen og ikke klokkeslæt?

asp:
<tr><td><a href="Nyheder.asp#<%=resultat("id")%>" target="Indhold"><%=resultat("dato")%><%=resultat("overskrift")%></a><br></td>

På forhånd tak
Avatar billede and_ Nybegynder
05. maj 2004 - 10:00 #1
dte er fordi din base ikke er korrekt opsat...
eøv at formatere dit udtræk:

<%
setlocale(1030)
dato = formatdate(resultat("dato"), vbshortdate)
%>
<tr><td><a href="Nyheder.asp#<%=resultat("id")%>" target="Indhold"><%=dato%><%=resultat("overskrift")%></a><br></td>


Hvad siger den til dette???
Avatar billede virtualdurran Nybegynder
05. maj 2004 - 10:03 #2
Hele min asp-side:
Avatar billede virtualdurran Nybegynder
05. maj 2004 - 10:03 #3
<%@ LCID=1030%>
<html>
<head>
<title>Nyhedsoverskrifter</title>
</head>
<body>
<%

dim dbname        'navnet på databasen med fuldstændig sti
dim cn            'databaseforbindelse
dim constr        'connectionstring til databaseforbindelse
dim sqlstring        'streng til sql udtryk
dim resultat        'record med resultater fra databaseforespørgsler

dbname=Server.MapPath("Admin.mdb")

set cn = server.createobject("ADODB.Connection")

constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & dbname
cn.connectionstring = constr

cn.open

sqlstring="select * from Nyheder"

set resultat=cn.execute(sqlstring)
if resultat.eof then
  response.write"Ingen nyheder<br>"
else

  While not resultat.eof   
    %>
    <tr><td><a href="Nyheder.asp#<%=resultat("id")%>" target="Indhold"><%=resultat("dato")%><%=resultat("overskrift")%></a><br></td>
    <%
    resultat.movenext
      wend
      response.write "<table>"
end if
cn.close
set cn=nothing
%>
</body>
</html>
Avatar billede virtualdurran Nybegynder
05. maj 2004 - 10:04 #4
Det jeg har lavet i toppen: <%@ LCID=1030%> er det ikke det samme som din: "setlocale(1030)"??
Avatar billede and_ Nybegynder
05. maj 2004 - 10:10 #5
<%@ LCID=1030%>
<html>
<head>
<title>Nyhedsoverskrifter</title>
</head>
<body>
<%

dim dbname        'navnet på databasen med fuldstændig sti
dim cn            'databaseforbindelse
dim constr        'connectionstring til databaseforbindelse
dim sqlstring        'streng til sql udtryk
dim resultat        'record med resultater fra databaseforespørgsler

dbname=Server.MapPath("Admin.mdb")

set cn = server.createobject("ADODB.Connection")

constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & dbname
cn.connectionstring = constr

cn.open

sqlstring="select * from Nyheder"

set resultat=cn.execute(sqlstring)
if resultat.eof then
  response.write"Ingen nyheder<br>"
else

  While not resultat.eof   

    dato = formatdate(resultat("dato"), vbshortdate)
%>
<tr><td><a href="Nyheder.asp#<%=resultat("id")%>" target="Indhold"><%=dato%><%=resultat("overskrift")%></a><br></td>
    <%
    resultat.movenext
      wend
      response.write "<table>"
end if
cn.close
set cn=nothing
%>
</body>
</html>
Avatar billede and_ Nybegynder
05. maj 2004 - 10:10 #6
jo det er det samme, bare skrevet på forskellige måder ;)
Avatar billede and_ Nybegynder
05. maj 2004 - 10:12 #7
sorry..... sidder lige og sover:

Denne:    dato = formatdate(resultat("dato"), vbshortdate)
Udskiftes med:    dato = formatdatetime(resultat("dato"), vbshortdate)
Avatar billede virtualdurran Nybegynder
05. maj 2004 - 10:17 #8
Jeg har lavet følgende kode:
<tr><td><a href="Nyheder.asp#<%=resultat("id")%>" target="Indhold"><%=formatdate(resultat("dato"), vbshortdate)%><%=resultat("overskrift")%></a><br></td>

men når jeg så loader siden, kommer følgende fejl:
Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'formatdate'
/elevpn/jacob/eksamensprojekt2/HP/asp/viewall.asp, line 34 <-- linje med ovenstående script
Avatar billede and_ Nybegynder
05. maj 2004 - 10:19 #9
Der er jo en grund til at jeg giver dig en færdig kode: Indsæt denne:

sqlstring="select * from Nyheder"

set resultat=cn.execute(sqlstring)
if resultat.eof then
  response.write"Ingen nyheder<br>"
else

  While not resultat.eof   

    dato = formatdatetime(resultat("dato"), vbshortdate)
%>
<tr><td><a href="Nyheder.asp#<%=resultat("id")%>" target="Indhold"><%=dato%><%=resultat("overskrift")%></a><br></td>
    <%
    resultat.movenext
      wend
      response.write "<table>"
end if
cn.close
set cn=nothing
%>
</body>
</html>
Avatar billede virtualdurran Nybegynder
05. maj 2004 - 10:19 #10
Tak for hjælpen...Det virker nu, med koden:
<tr><td><a href="Nyheder.asp#<%=resultat("id")%>" target="Indhold"><%= formatdatetime(resultat("dato"), vbshortdate)%><%=resultat("overskrift")%></a><br></td>

Har lige postet den endelige, for at hjælpe, hvis andre har samme problem.
Avatar billede virtualdurran Nybegynder
05. maj 2004 - 10:20 #11
Giver du så også lige et svar, så jeg kan give dig nogle point?
Avatar billede and_ Nybegynder
05. maj 2004 - 10:20 #12
ok ;)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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