Avatar billede Slettet bruger
17. februar 2003 - 11:23 Der er 13 kommentarer og
1 løsning

Hente data og sum fra DB

Hej
Jeg har et stort problem, kan være at der er nogen af jer der kan se en løsning.
Jeg har en sådan tabel i Acces
Antal1    Antal2    Dato
30    40    17-01-03
50    5    18-01-03
2    5    19-01-03
Ved hjælp af ASP vil jeg gerne have de enkelte poster vist i en tabel på nettet og samtidig have summen af kolonnen udregnet og vist øverst. Kan det lade sig gøre ?
Således siden kommer til at se sådan ud.
Dato Sum af antal1  Sum af antal2 
Dato  Antal1        Antal2
Dato  Antal1        Antal2
o.s.v
Hilsen Liri
Avatar billede mortvader Nybegynder
17. februar 2003 - 11:29 #1
response.write "<table><tr><td>"

rs.open "select sum(Antal1) as sum from tabel"
if not rs.eof then response.write rs("sum")
rs.close

response.write "</td><td>"

rs.open "select sum(Antal2) as sum from tabel"
if not rs.eof then response.write rs("sum")
rs.close

response.write "</td></tr>"

rs.open "select * from tabel order by dato"
while not rs.eof
  response.write "<tr><td>"&rs("Antal1")&"</td>"
  response.write "<td>"&rs("Antal2")&"</td>"
  response.write "<td>"&rs("Dato")&"</td></tr>"
wend
rs.close
Avatar billede mortvader Nybegynder
17. februar 2003 - 11:30 #2
response.write "</table>"

-lad os lige lukke tabellen til sidst :)
Avatar billede Slettet bruger
17. februar 2003 - 11:31 #3
Jeg prøver lige
Avatar billede mortvader Nybegynder
17. februar 2003 - 11:31 #4
ej.. endnu en fejl:

erstat sidste 7 linier fra mit 1. svar med:

rs.open "select * from tabel order by dato"
while not rs.eof
  response.write "<tr><td>"&rs("Antal1")&"</td>"
  response.write "<td>"&rs("Antal2")&"</td>"
  response.write "<td>"&rs("Dato")&"</td></tr>"
  rs.movenext
wend
rs.close
Avatar billede Slettet bruger
17. februar 2003 - 11:44 #5
Jeg får denne fejl
Microsoft VBScript compilation error '800a03fa'

Expected 'Wend'

antal.asp, line 64
Jeg ved godt at det er i min forbindelse det går galt, men jeg er rimelig nybegynder, så jeg kan ikke se fejlen, kan du. Koden er
<% @LANGUAGE = VBScript %>
<%
Option Explicit
Response.Expires = 0

Dim objConn, objRS, strQ
Dim strConnection

Set objConn = Server.CreateObject("ADODB.Connection")
strConnection = "Data Source=Antal;"
strConnection = strConnection & "User ID=sa;Password=;"
objConn.Open strConnection

Set objRS = Server.CreateObject("ADODB.Recordset")
Set objRS.ActiveConnection = objConn

objRS.Open strQ

%>
<html>

<head>
<title>Antal total</title>
</head>

<body topmargin="0" leftmargin="0">

<p><br>
</p>

<table border="0" cellpadding="0" cellspacing="0" width="560">
  <tr>
    <td width="210"></td>
    <td width="350"></td>
  </tr>
  <tr>
    <td width="210"><strong><small>Antal total</small></strong></td>
    <td width="350"><%
While Not objRS.EOF
response.write "<table><tr><td>"

rs.open "select sum(Antal1) as sum from AntalNyFores"
if not rs.eof then response.write rs("sum")
rs.close

response.write "</td><td>"

rs.open "select sum(Antal2) as sum from AntalNyFores"
if not rs.eof then response.write rs("sum")
rs.close

response.write "</td></tr>"

rs.open "select * from AntalNyFores order by dato"
while not rs.eof
response.write "<tr><td>"&rs("Antal1")&"</td>"
response.write "<td>"&rs("Antal2")&"</td>"
response.write "<td>"&rs("Dato")&"</td></tr>"
response.write "</table>"


rs.movenext
wend
rs.close

%>
</td>
  </tr>
  <tr>
    <td width="210"><font color="#FFFFFF">0</font></td>
    <td width="350"></td>
  </tr>
  <tr>
    </body>
</html>
Avatar billede mortvader Nybegynder
17. februar 2003 - 11:46 #6
Så skulle den være der:


<% @LANGUAGE = VBScript %>
<%
Option Explicit
Response.Expires = 0

Dim objConn, objRS, strQ
Dim strConnection

Set objConn = Server.CreateObject("ADODB.Connection")
strConnection = "Data Source=Antal;"
strConnection = strConnection & "User ID=sa;Password=;"
objConn.Open strConnection

Set objRS = Server.CreateObject("ADODB.Recordset")
Set objRS.ActiveConnection = objConn

objRS.Open strQ

%>
<html>

<head>
<title>Antal total</title>
</head>

<body topmargin="0" leftmargin="0">

<p><br>
</p>

<table border="0" cellpadding="0" cellspacing="0" width="560">
<tr>
<td width="210"></td>
<td width="350"></td>
</tr>
<tr>
<td width="210"><strong><small>Antal total</small></strong></td>
<td width="350"><%

response.write "<table><tr><td>"

rs.open "select sum(Antal1) as sum from AntalNyFores"
if not rs.eof then response.write rs("sum")
rs.close

response.write "</td><td>"

rs.open "select sum(Antal2) as sum from AntalNyFores"
if not rs.eof then response.write rs("sum")
rs.close

response.write "</td></tr>"

rs.open "select * from AntalNyFores order by dato"
while not rs.eof
  response.write "<tr><td>"&rs("Antal1")&"</td>"
  response.write "<td>"&rs("Antal2")&"</td>"
  response.write "<td>"&rs("Dato")&"</td></tr>"
  response.write "</table>"
  rs.movenext
wend
rs.close

%>
</td>
</tr>
<tr>
<td width="210"><font color="#FFFFFF">0</font></td>
<td width="350"></td>
</tr>
<tr>
</body>
</html>
Avatar billede Slettet bruger
17. februar 2003 - 11:51 #7
Nu får jeg denne fejl
ADODB.Recordset error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

test.asp, line 17

Linie 17 er denne

objRS.Open strQ
Avatar billede mortvader Nybegynder
17. februar 2003 - 11:52 #8
OK, jeg går lige ordenligt igennem hele scriptet og trimmer!  brb
Avatar billede Slettet bruger
17. februar 2003 - 11:55 #9
Ok tak, jeg er lige væk fra skærmen en halv time.
Avatar billede mortvader Nybegynder
17. februar 2003 - 11:56 #10
Sådan. Jeg har ryddet op i din html tabel, men se om ikke det er sådan du vil have det:

<% @LANGUAGE = VBScript %>
<%
Option Explicit
Response.Expires = 0

Dim objConn, objRS, strQ
Dim strConnection

Set objConn = Server.CreateObject("ADODB.Connection")
strConnection = "Data Source=Antal;"
strConnection = strConnection & "User ID=sa;Password=;"
objConn.Open strConnection

Set objRS = Server.CreateObject("ADODB.Recordset")
Set objRS.ActiveConnection = objConn

%>
<html>

<head>
<title>Antal total</title>
</head>

<body topmargin="0" leftmargin="0">

<table border="0" cellpadding="0" cellspacing="0">
<%

response.write "<tr><td>"

objRS.open "select sum(Antal1) as sum from AntalNyFores"
if not objRS.eof then response.write objRS("sum")
objRS.close

response.write "</td><td>"

objRS.open "select sum(Antal2) as sum from AntalNyFores"
if not objRS.eof then response.write objRS("sum")
objRS.close

response.write "</td></tr>"

objRS.open "select * from AntalNyFores order by dato"
while not objRS.eof
  response.write "<tr><td>"&objRS("Antal1")&"</td>"
  response.write "<td>"&objRS("Antal2")&"</td>"
  response.write "<td>"&objRS("Dato")&"</td></tr>"
  response.write "</table>"
  objRS.movenext
wend
objRS.close

%>
</table>

</body>
</html>
Avatar billede Slettet bruger
17. februar 2003 - 12:07 #11
Jo, nu virker det. Tallene bliver hentet rigtig, men det ser sådan ud
82 50
2 5 
304017-01-0350518-01-03
Hvor det gerne skulle se sådan ud
Total antal1    Total antal2
82                      50
Dato    antal 1  Dato    antal2
19-02-03  2      19-02-03  5
18-02-03  30      18-02-03  50
17-02-03  40      17-02-03    5

o.s.v
Kan du også finde ud af det?
Avatar billede mortvader Nybegynder
17. februar 2003 - 12:11 #12
Sådan?

<% @LANGUAGE = VBScript %>
<%
Option Explicit
Response.Expires = 0

Dim objConn, objRS, strQ
Dim strConnection

Set objConn = Server.CreateObject("ADODB.Connection")
strConnection = "Data Source=Antal;"
strConnection = strConnection & "User ID=sa;Password=;"
objConn.Open strConnection

Set objRS = Server.CreateObject("ADODB.Recordset")
Set objRS.ActiveConnection = objConn

%>
<html>

<head>
<title>Antal total</title>
</head>

<body topmargin="0" leftmargin="0">

<table border="0" cellpadding="0" cellspacing="0">
<%

response.write "<tr><td></td><td align=right>Total antal1:<br>"

objRS.open "select sum(Antal1) as sum from AntalNyFores"
if not objRS.eof then response.write objRS("sum")
objRS.close

response.write "</td><td align=right>Total antal2:<br>"

objRS.open "select sum(Antal2) as sum from AntalNyFores"
if not objRS.eof then response.write objRS("sum")
objRS.close

response.write "</td></tr>"

objRS.open "select * from AntalNyFores order by dato"
while not objRS.eof
  response.write "<tr>"
  response.write "<td align=right>"&objRS("Dato")&"</td>"
  response.write "<td align=right>"&objRS("Antal1")&"</td>"
  response.write "<td align=right>"&objRS("Antal2")&"</td>"
  response.write "</tr>"
  objRS.movenext
wend
objRS.close

%>
</table>

</body>
</html>
Avatar billede Slettet bruger
17. februar 2003 - 12:15 #13
Perfekt, tusind tak for hjælpen. Du har reddet min dag.
Hilsen Linda
Avatar billede mortvader Nybegynder
17. februar 2003 - 12:35 #14
np ;)
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