21. oktober 2004 - 11:46
Der er
19 kommentarer og 1 løsning
den svære udskriv antal
Hej Med jer.. <% strSQL1 = "SELECT * FROM orders Where status='complete' " set rs1 = conn.execute(strsql1) Do Response.write "<table>" Response.write "<tr><td bgcolor='#f1ede7'><b>klub</td><td bgcolor='#f1ede7'><b>Fornavn</td><td bgcolor='#f1ede7'><b>Efternavn</td><td bgcolor='#f1ede7'><b>E.mail</td><td bgcolor='#f1ede7'><b>Total</td><td bgcolor='#f1ede7'><b>Produkt</td><td bgcolor='#f1ede7'><b>Produkt</td><td bgcolor='#f1ede7'><b>Produkt</td><td bgcolor='#f1ede7'><b>Produkt</td><tr>" Do Response.write "<tr><td bgcolor='#FFF5D7'>" ' Personens navn strNavn = rs1("fFirma") ' lav et link til person.asp med Id-værdien i URL strLink = "<b><a href='faktura.asp?id=" & rs1("orderID") & "'><FONT SIZE='1' COLOR='#000000'>" & strNavn & "</a>" Response.Write strLink Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs1("fName") Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs1("lName") Response.write "</td><td bgcolor='#FFF5D7'>" Response.write "<a href=""mailto:" & rs1("email") & """>" & rs1("email") & "</a>" Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs1("Total")& ".00" VAR = VAR + rs1("Total") strSQL2 = "SELECT orders.orderid, itemsordered.orderid, itemsordered.quantity, itemsordered.productid, products.productid, products.productname FROM orders INNER JOIN (itemsordered INNER JOIN products ON itemsordered.productid = products.productid) ON itemsordered.orderid = orders.orderid WHERE itemsordered.orderid = " & rs1("orderid") set rs2 = conn.execute(strsql2) Do Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs2("productname") rs2.movenext Loop while not rs2.EOF rs1.movenext Loop while not rs1.EOF Response.write "</td></tr>" Response.Write "</table>" response.write "<BR><BR><b>TOTAL OMSÆTNING: " & VAR * 0.8& ".00 ex.moms<BR><BR>" Loop While Not rs1.EOF Conn.Close Set Conn = Nothing %> viser mine bestillinger :-) nu er det sådan at i den tabel "itemsordered" er der tre felter: productid orderid quantity så har vi tabel: "products": productID (der er 27 produkter) productName de henviser til hinanden. Nu vil jeg gerne have den skal udskrive i bunden hvor mange at hver produkt der er bestilt. antal produkt 10 sko 2 strømper osv... :-) hjælp..
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
21. oktober 2004 - 19:56
#1
hej :o) Sådan her skulle jeg mene: <% strSQL3 = "SELECT SUM(Quantity) As Antal, ProductName " & _ "FROM itemsordered INNER JOIN products ON itemsordered.productid = products.productid " & _ "GROUP BY products.productid" set rs3 = conn.execute(strSQL3) If rs3.eof = False then While rs3.eof = false Response.write rs3("productname") & " " & rs3("antal") rs3.movenext Wend Else Response.Write "Ingen solgte varer!" End If %> /hiks
22. oktober 2004 - 19:08
#2
<% strSQL1 = "SELECT * FROM orders Where status='complete' " set rs1 = conn.execute(strsql1) Do Response.write "<table>" Response.write "<tr><td bgcolor='#f1ede7'><b>klub</td><td bgcolor='#f1ede7'><b>Fornavn</td><td bgcolor='#f1ede7'><b>Efternavn</td><td bgcolor='#f1ede7'><b>E.mail</td><td bgcolor='#f1ede7'><b>Total</td><td bgcolor='#f1ede7'><b>Produkt</td><td bgcolor='#f1ede7'><b>Produkt</td><td bgcolor='#f1ede7'><b>Produkt</td><td bgcolor='#f1ede7'><b>Produkt</td><tr>" Do Response.write "<tr><td bgcolor='#FFF5D7'>" ' Personens navn strNavn = rs1("fFirma") ' lav et link til person.asp med Id-værdien i URL strLink = "<b><a href='faktura.asp?id=" & rs1("orderID") & "'><FONT SIZE='1' COLOR='#000000'>" & strNavn & "</a>" Response.Write strLink Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs1("fName") Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs1("lName") Response.write "</td><td bgcolor='#FFF5D7'>" Response.write "<a href=""mailto:" & rs1("email") & """>" & rs1("email") & "</a>" Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs1("Total")& ".00" VAR = VAR + rs1("Total") strSQL2 = "SELECT orders.orderid, itemsordered.orderid, itemsordered.quantity, itemsordered.productid, products.productid, products.productname FROM orders INNER JOIN (itemsordered INNER JOIN products ON itemsordered.productid = products.productid) ON itemsordered.orderid = orders.orderid WHERE itemsordered.orderid = " & rs1("orderid") set rs2 = conn.execute(strsql2) Do Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs2("productname") rs2.movenext Loop while not rs2.EOF rs1.movenext Loop while not rs1.EOF Response.write "</td></tr>" Response.Write "</table>" strSQL3 = "SELECT SUM(Quantity) As Antal, ProductName " & _ "FROM itemsordered INNER JOIN products ON itemsordered.productid = products.productid " & _ "GROUP BY products.productid" set rs3 = conn.execute(strSQL3) If rs3.eof = False then While rs3.eof = false Response.write rs3("ProductName") & " " & rs3("antal") rs3.movenext Wend Else Response.Write "Ingen solgte varer!" End If response.write "<BR><BR><b>TOTAL OMSÆTNING: " & VAR * 0.8& ".00 ex.moms<BR><BR>" Loop While Not rs1.EOF Conn.Close Set Conn = Nothing %>
22. oktober 2004 - 19:09
#3
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression 'ProductName' as part of an aggregate function. /oversigt.asp, line 112 linie 112 = set rs3 = conn.execute(strSQL3)
22. oktober 2004 - 19:14
#4
productname ligger i "products" ikke "itemsordered " derfor kan den ikke finde ud af det :-)
23. oktober 2004 - 12:44
#5
hej det er fordi jeg har glemt at det er productname og id der skal med i group by. så din sql skal se således ud: strSQL3 = "SELECT SUM(Quantity) As Antal, products.ProductID, products.ProductName " & _ "FROM itemsordered INNER JOIN products ON itemsordered.productid = products.productid " & _ "GROUP BY products.productid, products.ProductName" mvh hiks
23. oktober 2004 - 12:57
#6
der var den sgu.. takker :-) nu vil jeg gerne lave et sum men det er også lidt indviklet.. fordi.. productid 23 = 100 pk strømper 24 = 250 pk strømper men jeg vil gerne have en der siger : strømper sko 5236 pakker 510 par hvordan gør jeg det ?
23. oktober 2004 - 13:04
#7
har du nogen former for varegrupper i det system der? det virker som om at det er varegruppernes resultater du gerne vil se. Du kan altid nøjes med at gruppere på produktnavnet således at alle dem med samme navn bliver slået sammen - ellers bør du overveje at indarbejde en ekstra tabel der holder styr på dine grupperinger. Det kan selvfølgelig godt "hardcodes" men det bliver ikke kønt. Jeg holder weekend til imorgen - så svarer først der. Go weekend! /hiks
23. oktober 2004 - 13:29
#8
jeg vil gerne have dem : "GROUP BY products.productid, products.ProductName order by productid" men det vil den ikke : Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access Driver] The specified field 'productid' could refer to more than one table listed in the FROM clause of your SQL statement. /oversigt.asp, line 113
23. oktober 2004 - 13:38
#9
bare glem det :-) hi
25. oktober 2004 - 09:36
#10
er du online :-) har lige et sprg til :-)
25. oktober 2004 - 09:39
#11
skyd! :o) /hiks
25. oktober 2004 - 09:42
#12
<% strSQL1 = "SELECT * FROM orders Where status='complete' " set rs1 = conn.execute(strsql1) Do Response.write "<table>" Response.write "<tr><td bgcolor='#f1ede7'><b>klub</td><td bgcolor='#f1ede7'><b>Fornavn</td><td bgcolor='#f1ede7'><b>Efternavn</td><td bgcolor='#f1ede7'><b>E.mail</td><td bgcolor='#f1ede7'><b>Total</td><td bgcolor='#f1ede7'><b>Produkt</td><td bgcolor='#f1ede7'><b>Produkt</td><td bgcolor='#f1ede7'><b>Produkt</td><td bgcolor='#f1ede7'><b>Produkt</td><tr>" Do Response.write "<tr><td bgcolor='#FFF5D7'>" ' Personens navn strNavn = rs1("fFirma") ' lav et link til person.asp med Id-værdien i URL strLink = "<b><a href='faktura.asp?id=" & rs1("orderID") & "'><FONT SIZE='1' COLOR='#000000'>" & strNavn & "</a>" Response.Write strLink Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs1("fName") Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs1("lName") Response.write "</td><td bgcolor='#FFF5D7'>" Response.write "<a href=""mailto:" & rs1("email") & """>" & rs1("email") & "</a>" Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs1("Total")& ".00" VAR = VAR + rs1("Total") strSQL2 = "SELECT orders.orderid, itemsordered.orderid, itemsordered.quantity, itemsordered.productid, products.productid, products.productname FROM orders INNER JOIN (itemsordered INNER JOIN products ON itemsordered.productid = products.productid) ON itemsordered.orderid = orders.orderid WHERE itemsordered.orderid = " & rs1("orderid") set rs2 = conn.execute(strsql2) Do Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs2("productname") rs2.movenext Loop while not rs2.EOF rs1.movenext Loop while not rs1.EOF Response.write "</td></tr>" Response.Write "</table>" response.write "<BR><BR><b>TOTAL OMSÆTNING: " & VAR * 0.8& ".00 ex.moms<BR><BR>" strSQL3 = "SELECT SUM(Quantity) As Antal, products.ProductID, products.ProductName " & _ "FROM itemsordered INNER JOIN products ON itemsordered.productid = products.productid " & _ "GROUP BY products.productid, products.ProductName" set rs3 = conn.execute(strSQL3) If rs3.eof = False then While rs3.eof = false Response.write "<table>" Response.write "<tr><td bgcolor='#f1ede7'><b>Kort serie</td><td bgcolor='#f1ede7'><b>Antal</td></td><tr>" Response.write "<tr><td bgcolor='#FFF5D7'>" Response.write rs3("ProductName") Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs3("antal") Response.write "</td></tr>" Response.Write "</table>" rs3.movenext Wend Else Response.Write "Ingen solgte varer!" End If Loop While Not rs1.EOF Conn.Close Set Conn = Nothing %> den bliver ved med at tage "kort" og "antal" med hver gang den viser resultat den skal jo kun stå for oven..:-)
25. oktober 2004 - 09:52
#13
Hej Det er fordi det ikke skal med i loopet! Sådan her istedet: If rs3.eof = False then 'tjekker tomt recordset Response.write "<table>" Response.write "<tr><td bgcolor='#f1ede7'><b>Kort serie</td><td bgcolor='#f1ede7'><b>Antal</td></td>" While rs3.eof = false 'loop begynder hvis der er noget i recordset Response.write "<tr><td bgcolor='#FFF5D7'>" Response.write rs3("ProductName") Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs3("antal") Response.write "</td></tr>" Response.Write "</table>" rs3.movenext Wend 'loop slutter Else Response.Write "Ingen solgte varer!" End If /hiks
25. oktober 2004 - 09:56
#14
nu er det kun den første linie er er rigtig.. resten af produkterne kommer bare efter hinanden ?
25. oktober 2004 - 10:10
#15
If rs3.eof = False then 'tjekker tomt recordset Response.write "<table>" Response.write "<tr><td bgcolor='#f1ede7'><b>Kort serie</td><td bgcolor='#f1ede7'><b>Antal</td></td>" While rs3.eof = false 'loop begynder hvis der er noget i recordset Response.write "<tr><td bgcolor='#FFF5D7'>" Response.write rs3("ProductName") Response.write "</td><td bgcolor='#FFF5D7'>" Response.write rs3("antal") Response.write "</td></tr>" rs3.movenext Wend 'loop slutter Response.Write "</table>" Else Response.Write "Ingen solgte varer!" End If
25. oktober 2004 - 10:50
#16
sådan ja tak.. når men :-) he i "itemsordered" er der jo er productid productid 25 = 100 pk sko nu viser den at der er solgt 3 x 150 pk sko jeg vil gerne den viser sko = 450 pk , men den kan ikke så godt lave "sum" fordi : productid 25 ikke er 150 stk det står på produktnavn hvad productid 25 indeholder:-) Kan man lave noget hvor jeg fortæller den: productid 25 = 150 - sko productid 26 = 250 - sko
25. oktober 2004 - 10:50
#17
så man kan lave en rigtig total :-)
25. oktober 2004 - 10:53
#18
det skal du lave i dine tabeller - den slags skal man ikke hardcode i sin asp-kodning. Du bør tilføje en attribut i din product tabel, hvor du kan angive mængde og evt. mængdetype og så kan man summere og gange sammen på den slags. /hiks
25. oktober 2004 - 10:55
#19
øv :-) ok takker
25. oktober 2004 - 11:03
#20
til den tid kan du så lave en: strSQL3 = "SELECT SUM(Quantity) As Antal, SUM(Quantity*DinMaengdeAttribut) As Total, products.ProductID, products.ProductName " & _ "FROM itemsordered INNER JOIN products ON itemsordered.productid = products.productid " & _ "GROUP BY products.productid, products.ProductName" /hiks
Kurser inden for grundlæggende programmering