Avatar billede steen_hansen Forsker
26. marts 2002 - 10:54 Der er 34 kommentarer og
1 løsning

2 spørgsmål: Dansk datoformat og probl. med tabel

1. spørgsmål:

Jeg vil gerne have lagt dato og tidspunkt for et indlæg ned i databasen. Her er ingen problemer. Men når jeg skal have trukket det ud, forrykker det hele tabellen. Her er koden:

Set Conn = Server.CreateObject("ADODB.Connection")
dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb")
Conn.open dbConn

'tidspunkt=day(RS("tid"))&"-"&month(RS("tid"))&"-"&year(RS("tid"))&" "&hour(RS("tid"))&":"&minute(RS("tid"))

SQL = "SELECT emneID, nick, tid, emne, brodtekst, kommentar FROM debat WHERE emneID = " & Request.QueryString("emneID")
Set RS = Conn.Execute (SQL)

while NOT RS.EOF
    response.write "<tr><td colspan=""2""><span class=""overskrift17""><b>" &  RS("emne") & "</span></td></tr>"
    response.write "<tr><td><span class=""tekst11"">" & "<i>" & "Af: " & "</i>" &  RS("nick") & "</span></td>"
    response.write "<tr><td><span class=""tekst11""><nobr>" & RS("tid") & "</nobr></span></td></tr>"
    response.write "<tr><td colspan=""2""><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"
    response.write "<tr><td colspan=""2""><span class=""tekst11""><b><p align=""justify"">" & RS("brodtekst") & "</p></b></span></td>"
    kommentar = replace( RS("kommentar"),vbcrLF,"<br>")
    response.write "<tr><td colspan=""2""><span class=""tekst11""><p align=""justify"">" & kommentar & "</p></span></td></tr>"
RS.MoveNext
text=""
wend
response.write "<tr><td colspan=""2""><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"

RS.Close
Set RS = nothing
Conn.Close
Set Conn = nothing
%>

Hvad går der galt?

2. spørgsmål:

Der ligger åbenbart et engelsk styresystem på serveren, så tidspunkt/dato skal konverteres til dansk datoformat. Her har jeg prøvet med

<%
Session.LCID = 1030
%>

øverst i dokumentet, men det virker ikke. Hvordan skal den laves?

Hvert ? giver 30 point.
Avatar billede steen_hansen Forsker
26. marts 2002 - 10:55 #1
Der skal selvfølgelig stå:

<%
SQL = "SELECT emneID, nick, tid, emne, brodtekst, kommentar FROM debat WHERE emneID = " & Request.QueryString("emneID")
.
.
.

(Glemte "<%")
Avatar billede ares Nybegynder
26. marts 2002 - 10:58 #2
<%
Session.LCID = 1030
%>

skal stå på alle de sider.. eller i Global.asa
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:01 #3
Active Server Pages error 'ASP 0137'

Invalid Global Script

//global.asa, line 152

Script blocks must be one of the allowed Global.asa procedures. Script directives within <% ... %> are not allowed within the Global.asa file. The allowed procedure names are Application_OnStart, Application_OnEnd, Session_OnStart, or Session_OnEnd.
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:05 #4
Sorry, der var et <tr> for meget i ovenstående kode. Det skal se sådan her ud:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb")
Conn.open dbConn

'tidspunkt=day(RS("tid"))&"-"&month(RS("tid"))&"-"&year(RS("tid"))&"&nbsp;"&hour(RS("tid"))&":"&minute(RS("tid"))

SQL = "SELECT emneID, nick, tid, emne, brodtekst, kommentar FROM debat WHERE emneID = " & Request.QueryString("emneID")
Set RS = Conn.Execute (SQL)

while NOT RS.EOF
    response.write "<tr><td colspan=""2""><span class=""overskrift17""><b>" &  RS("emne") & "</span></td></tr>"
    response.write "<tr><td><span class=""tekst11"">" & "<i>" & "Af: " & "</i>" &  RS("nick") & "</span></td>"
    response.write "<td><span class=""tekst11""><nobr>" & RS("tid") & "</nobr></span></td></tr>"
    response.write "<tr><td colspan=""2""><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"
    response.write "<tr><td colspan=""2""><span class=""tekst11""><b><p align=""justify"">" & RS("brodtekst") & "</p></b></span></td>"
    kommentar = replace( RS("kommentar"),vbcrLF,"<br>")
    response.write "<tr><td colspan=""2""><span class=""tekst11""><p align=""justify"">" & kommentar & "</p></span></td></tr>"
RS.MoveNext
text=""
wend
response.write "<tr><td colspan=""2""><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"

RS.Close
Set RS = nothing
Conn.Close
Set Conn = nothing
%>
Avatar billede Slettet bruger
26. marts 2002 - 11:07 #5
Din global.asa må ikke indeholde <% og %>

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Session_OnStart
    Session.LCID = 1030
End Sub
</SCRIPT>
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:08 #6
ares, jeg satte dette ind i global.asa, men det virker ikke:

Sub Session_OnStart
    Session.LCID = 1030
End Sub
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:08 #7
Ok, der var du hurtig, men det virker ikke :o)
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:15 #8
Denne linie skulle trække timer, sekunder etc. ud enkeltvis:

'tidspunkt=day(RS("tid"))&"-"&month(RS("tid"))&"-"&year(RS("tid"))&"&nbsp;"&hour(RS("tid"))&":"&minute(RS("tid"))

Men hvordan kan jeg så udskrive dem i et dansk datoformat? Ville det ikke være bedre?
Avatar billede Slettet bruger
26. marts 2002 - 11:18 #9
Når Session.LCID er sat, burde du kunne udskrive dine værdier med eksempelvis FormatDateTime():
FormatDateTime(rs("tid"), vbLongDate) 'giver dd. mmmm yyyy
FormatDateTime(rs("tid"), vbShortDate) 'giver dd. mm. yy
FormatDateTime(rs("tid"), vbShortTime) 'giver tt:mm
FormatDateTime(rs("tid"), vbLongTime) 'giver tt:mm:ss
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:21 #10
Eksempel:

response.write "<td><span class=""tekst11"">" & FormatDateTime(rs("tid"), vbLongDate) & "</span></td></tr>"

Eller?
Avatar billede Slettet bruger
26. marts 2002 - 11:22 #11
Nemlig :)
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:26 #12
Ok, det virker :o)

MEN ... så er der lige det med tabellen. Kan du se hvor det går galt? Det forrykker hele tabellen.

nick og dato/tid skal deles samme linie i tabellen. Men det hele bliver forrykket :o(
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:30 #13
Nu ser hele koden sådan her ud:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb")
Conn.open dbConn

SQL = "SELECT emneID, nick, tid, emne, brodtekst, kommentar FROM debat WHERE emneID = " & Request.QueryString("emneID")
Set RS = Conn.Execute (SQL)

while NOT RS.EOF
    response.write "<tr><td colspan=""2""><span class=""overskrift17""><b>" &  RS("emne") & "</span></td></tr>"
    response.write "<tr><td><span class=""tekst11"">" & "<i>" & "Af: " & "</i>" &  RS("nick") & "</span></td>"
    response.write "<td><span class=""tekst11""><nobr>" & FormatDateTime(rs("tid"), vbLongDate) & " klokken " & FormatDateTime(rs("tid"), vbShortTime) & "</nobr></span></td></tr>"
    response.write "<tr><td colspan=""2""><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"
    response.write "<tr><td colspan=""2""><span class=""tekst11""><b><p align=""justify"">" & RS("brodtekst") & "</p></b></span></td>"
    kommentar = replace( RS("kommentar"),vbcrLF,"<br>")
    response.write "<tr><td colspan=""2""><span class=""tekst11""><p align=""justify"">" & kommentar & "</p></span></td></tr>"
RS.MoveNext
text=""
wend
response.write "<tr><td colspan=""2""><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"

RS.Close
Set RS = nothing
Conn.Close
Set Conn = nothing
%>
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:32 #14
Og det kan være, at vbLongDate etc. skal droppes. I stedet for:

26. marts 2002

skulle det måske ændres til:

26/03/2002

Det er ikke det, der forrykker hele tabellen, der er masser af plads
Avatar billede Slettet bruger
26. marts 2002 - 11:32 #15
Har du ikke et sted, hvor man kan se hvad der går galt? Jeg kan ikke se noget ud fra koden.
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:35 #16
Helst ikke endnu :o)

Skulle det hellere stiles op på denne måde:

<table...>
<tr><td width="40%"><%nick%></td>
<td width="60%"><%tid%></td></tr>
</table>
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:35 #17
Eller er det sådan her:

<table...>
<tr><td width="40%"><%RS("nick")%></td>
<td width="60%"><%RS("tid"%></td></tr>
</table>
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:38 #18
Jeg har en tabel med tre kolonner:

Bredde kolonne 1: 120 px
Bredde kolonne 1: 430 px
Bredde kolonne 1: 215 px

Total bredde på tabel: 765 px
Avatar billede Slettet bruger
26. marts 2002 - 11:39 #19
Det må du helt selv om. Det er selvfølgelig nemmere at læse, men det giver ikke nogen forskel i den sidste ende.

Hvis du vil lave det med interleaved text i stedet for Response.Write() skal du bruge <%= i stedet for <% til at udskrive med.

Altså:
<tr><td width="40%"><%=RS("nick")%></td>
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:39 #20
Når jeg sætter det ovenstående kode ind, så bliver den midterste kolone strukket meget ud. Der er ikke meget plads tilbage i kolonne 3, måske kun 30 px. Det skulle meget gerne passe med bundlinie.gif, som har en bredde på 493 px
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:43 #21
Jeg har jo nick og dato/tid mellem <tr></tr>

Hvis jeg gør følgende:

<tr><td>nick</td></tr>
<tr><td>tid</td></tr>

så står det fint. Men jeg vil jo gerne have det skrevet ud på samme linie, så ikke der et hav af linier.
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:44 #22
Og så skal colspan=""2"" selvfølgelig fjernes fra de øvrige linier.
Avatar billede Slettet bruger
26. marts 2002 - 11:46 #23
Det er meget svært at redigere i, når man ikke kan se det for sig - desværre  :/
Avatar billede steen_hansen Forsker
26. marts 2002 - 11:59 #24
Ok, jeg fik klaret det med denne her:

tidspunkt=day(RS("tid"))&"-"&month(RS("tid"))&"-"&year(RS("tid"))&" "&hour(RS("tid"))&":"&minute(RS("tid"))

.
.
.
response.write "<td><span class=""tekst11""><nobr>" & tidspunkt & "</nobr></td></tr>"
Avatar billede steen_hansen Forsker
26. marts 2002 - 12:08 #25
Ville det hjælpe, hvis du fik hele koden?

<%
response.buffer = True
response.expires = -1000
%>
<html>

<head>
<title></title>
<!--#include virtual="/includes/inc_header.asp"-->
</head>

<body onload="rotere()" topmargin="0" leftmargin="0">

<%
if request.form("send_debatemne") >"" then
Set Conn = Server.CreateObject("ADODB.Connection")
dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb")
Conn.open dbConn

'strSQL = "insert into debat (nick, emne, brodtekst, kommentar) values('" & Replace(Request.Form("nick"),"'","''") & "', '" & Replace(Request.Form("emne"),"'","''") & "', '" & Replace(Request.Form("brodtekst"),"'","''") & "', '" & Replace(Request.Form("kommentar"),"'","''") & "')"
strSQL = "insert into debat (nick, emne, brodtekst, kommentar, tid) values('" & Replace(Request.Form("nick"),"'","''") & "', '" & Replace(Request.Form("emne"),"'","''") & "', '" & Replace(Request.Form("brodtekst"),"'","''") & "', '" & Replace(Request.Form("kommentar"),"'","''") & "','" & Now() & "')"
Conn.Execute(strSQL)
response.redirect ("default.asp")

Conn.Close
Set Conn = nothing
end if
%>

<div align="center">
  <table border="0" cellpadding="0" cellspacing="0" width="765">
    <tr>
      <td colspan="3" valign="top"><!--#include virtual="/includes/inc_banner.asp"--></td>
    </tr>
    <tr>
      <td colspan="3" valign="top" bgcolor="#729ABE">
        <!--#include virtual="/includes/inc_stats.asp"-->
      </td>
    </tr>
    <tr>
      <td colspan="3" valign="top" bgcolor="#729ABE">&nbsp;</td>
    </tr>
    <tr>
      <td valign="top" width="120">
      <!--#include virtual="/includes/menu.asp"-->
      </td>
      <td valign="top" width="505">
<table border="0" cellpadding="6" cellspacing="0" width="100%" class="tekst11">
<tr><td>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb")
Conn.open dbConn

SQL = "SELECT emneID, nick, tid, emne, brodtekst, kommentar FROM debat WHERE emneID = " & Request.QueryString("emneID")
Set RS = Conn.Execute (SQL)

tidspunkt = day(RS("tid")) & "-" & month(RS("tid")) & "-" & year(RS("tid")) & " " & hour(RS("tid")) & ":" & minute(RS("tid"))

while NOT RS.EOF
    response.write "<tr><td colspan=""2""><span class=""overskrift17""><b>" &  RS("emne") & "</span></td></tr>"
    response.write "<tr><td><span class=""tekst11"">" & "<i>" & "Af: " & "</i>" &  RS("nick") & "</span></td>"
'    response.write "<td><span class=""tekst11""><nobr>" & FormatDateTime(rs("tid"), vbLongDate) & " klokken " & FormatDateTime(rs("tid"), vbShortTime) & "</nobr></span></td></tr>"
    response.write "<td><span class=""tekst11""><nobr>" & tidspunkt & "</nobr></td></tr>"
    response.write "<tr><td colspan=""2""><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"
    response.write "<tr><td colspan=""2""><span class=""tekst11""><b><p align=""justify"">" & RS("brodtekst") & "</p></b></span></td>"
    kommentar = replace( RS("kommentar"),vbcrLF,"<br>")
    response.write "<tr><td colspan=""2""><span class=""tekst11""><p align=""justify"">" & kommentar & "</p></span></td></tr>"
RS.MoveNext
text=""
wend
response.write "<tr><td colspan=""2""><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"

RS.Close
Set RS = nothing
Conn.Close
Set Conn = nothing
%>
</td></tr>
<tr><td><!--#include virtual="/debat/frm_debatsvar.asp"--></tr></tr>
<tr><td><!--#include virtual="/includes/inc_bottom.asp"--></tr></tr>
</table>
      <td width="140"></td>
    </tr>
    <tr>
      <td colspan="2" valign="top"></td>
    </tr>
  </table>

</div>

</body>

</html>
Avatar billede netsrac Praktikant
26. marts 2002 - 15:20 #26
Hvis det skal stå på samme linie hvorfor bruger du så ikke bare:

Response.write "<tr><td><span class=""tekst11"">" & "<i>" & "Af: " & "</i>" &  RS("nick") & " " & tidspunkt & "</span></td></tr>"

?
Avatar billede steen_hansen Forsker
26. marts 2002 - 16:14 #27
Det har jeg prøvet, men det ændrede ikke på noget. Men du har ret, det kan det lige så godt.
Avatar billede steen_hansen Forsker
01. april 2002 - 16:27 #28
netsrac, fik vi ikke ordnet denne her? Kan du ikke ligesvare - igen? :o)
Avatar billede steen_hansen Forsker
01. april 2002 - 21:15 #29
netsrac, vi fik ordnet denne her, og du har fået pointene i et andet spørgsmål.

Der har været noget bøvl med de her point, så jeg skal ikke risikere mere. Jeg tager dem igen, medmindre du IKKE skulle have fået for dine svar. Kan du ikke give mig noget feedback?
Avatar billede netsrac Praktikant
01. april 2002 - 21:19 #30
Helt okay :)
Avatar billede steen_hansen Forsker
01. april 2002 - 21:22 #31
Jeg vil ikke snyde dig, men som sagt: Der har været en del bøvl over (efter min mening) ingenting. Men sådan er det. Har du fået point for dine svar? Vær ærlig :o) Jeg vil gerne kunne spørge dig en anden gang.
Avatar billede netsrac Praktikant
01. april 2002 - 21:25 #32
Jeg føler mig slet ikke snydt, er bare glad for at kunne hjælpe dig, og glad for at du værdsætter min hjælp modsat så mange andre på eksperten som tror de kan få guld og grønne skove for point.

Hvad er det iøvrigt for noget bøvl du har oplevet ? Smid lige et link :)
Avatar billede steen_hansen Forsker
01. april 2002 - 21:29 #33
Det er også min pointe. Point er point. Man kan ikke få meget mad for dem. Jeg HÅBER virkelig, at du har fået dem alle sammen. Vi (jeg) kørte jo en hele del rundt i det :o)

Som sagt, jeg vil gerne kunne spørge dig en anden gang, hvis jeg skulle være i bekneb.

Jeg vil helst ikke have, at der sker yderligere ballade, så lad hellere være med at kommentere noget. Men du kan da se hvad der er sket her: http://www.eksperten.dk/spm/191713

Jeg ved ikke hvad man skal sige :o/
Avatar billede netsrac Praktikant
01. april 2002 - 21:33 #34
Nå, det er jo en hel roman, gider jeg ikke lige læse, at spilde resten af sin påske på det ville jo være tåbeligt :) Hygge og fortsat god påske, netsrac out.
Avatar billede steen_hansen Forsker
01. april 2002 - 21:35 #35
10-4, roger, over and out. Nyd de sidste timer i frihed :o)
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