Avatar billede l_otto Nybegynder
13. oktober 2004 - 09:04 Der er 57 kommentarer og
1 løsning

join tre tabeller

Hej Med jer..

Her.

<%
strSQL = "Select * From orders Order by fFirma"
Set rs = Conn.Execute(strSQL)

Response.write "<table>"
Response.write "<tr><td bgcolor='#f1ede7'><b>Fornavn</td><td bgcolor='#f1ede7'><b>Adresse</td><td  bgcolor='#f1ede7'><b>Postnr</td><td  bgcolor='#f1ede7'><b>Bynavn</td><td  bgcolor='#f1ede7'><b>Fornavn</td><td  bgcolor='#f1ede7'><b>Efternavn</td><td  bgcolor='#f1ede7'><b>E.mail</td><td  bgcolor='#f1ede7'><b>Orderdato</td><td  bgcolor='#f1ede7'><b>Total</td><tr>"
Do
 

  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("fFirma")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("address1")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("postalcode")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("city")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("fName")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("lName")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write "<a href=""mailto:" & rs("email") & """>" & rs("email") & "</a>"
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("orderDate")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("Total")& ".00"
  VAR = VAR + rs("Total")
  Response.write "</td></tr>"

 
 
  rs.MoveNext
Loop While Not rs.EOF
Response.Write "</table>"

response.write "<BR><BR><b>TOTAL OMSÆTNING: " & VAR * 0.8& ".00  ex.moms<BR><BR>"


Conn.Close
Set Conn = Nothing
%>

viser den alle bestillingerne men den tager ikke med hvad der er bestilt for det ligger i to andre tabeller der hedder :

itemsOrdered

felter: orderID productID quantity

og en tabel med produkterne: products

felter: productID  productName

nu er det så jeg gerne vil have at den også skal vise hvad man har bestilt.... :-)
Avatar billede overchord Nybegynder
13. oktober 2004 - 09:24 #1
ok hvordan er relationen mellem ffirma of itemsordered? Jeg gaar ud fra at det er gennem orderID, men kan ikke se feltet orderID i din listing for ffirma?
Avatar billede l_otto Nybegynder
13. oktober 2004 - 09:25 #2
du er skarp.. og det er korrekt det er orderID  der er tråden hele vejen igennem.. :-)
Avatar billede l_otto Nybegynder
13. oktober 2004 - 09:28 #3
jeg har bare glemt at skrive orderID
Avatar billede overchord Nybegynder
13. oktober 2004 - 09:42 #4
ok saa maa det vel blive noget i retning af:
SELECT ffirma.Fornavn, ffirma.Efternavn, ffirma.Adresse, ffirma.Postnr, ffirma.Bynavn, ffirma.email,ffirma.orderdato, ffirma.Total, itemsordered.Quantity, products.prodcutName FROM ffirma INNER JOIN (itemsOrdered INNER JOIN products ON itemsordered.productID = products.productID) ON ffirma.OrderId = itemsOrdered.OrderID
Avatar billede l_otto Nybegynder
13. oktober 2004 - 09:48 #5
skal det ikke være select from orders osv ?
Avatar billede l_otto Nybegynder
13. oktober 2004 - 09:52 #6
tabellerne hedder:

orders  - her står firma navn
itemsOrdered - hvormange af hvilke
products - hvad hedder produkterne
Avatar billede overchord Nybegynder
13. oktober 2004 - 09:58 #7
ok lille fejl der, hvor der staar ffirma skal du bare bruge orders istedet.

beklager- jeg har vaeret for tidligt oppe og er allerede begyndt at mangle kaffe :-)
Avatar billede l_otto Nybegynder
13. oktober 2004 - 10:05 #8
nu ser den sådan ud:

<%
strSQL = "SELECT orders.Fornavn, orders.Efternavn, orders.Adresse, orders.Postnr, orders.Bynavn, orders.email,orders.orderdato, orders.Total, itemsordered.Quantity, products.prodcutName FROM orders INNER JOIN (itemsOrdered INNER JOIN products ON itemsordered.productID = products.productID) ON orders.OrderId = itemsOrdered.OrderID"
Set rs = Conn.Execute(strSQL)

og der kommer denne fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 7.

/oversigt.asp, line 53

linie 53 = Set rs = Conn.Execute(strSQL)

men den har før fået fat i den..
Avatar billede overchord Nybegynder
13. oktober 2004 - 10:13 #9
ok dette er med reference til :
http://www.eksperten.dk/spm/549127

Saa vidt jeg kan se i den kode har du ikke defineret Constring. Hvis den ikke er defineret vil der slet ikke blive oprettet noget forbindelse til databasen.
Avatar billede l_otto Nybegynder
13. oktober 2004 - 10:15 #10
jamen her virker den :-) det er jo inden vi roder med den der kan den sagtens finde dv og smide de rigt info fra Orders ind:

<%
strSQL = "Select * From orders Order by fFirma"
Set rs = Conn.Execute(strSQL)

Response.write "<table>"
Response.write "<tr><td bgcolor='#f1ede7'><b>Fornavn</td><td bgcolor='#f1ede7'><b>Adresse</td><td  bgcolor='#f1ede7'><b>Postnr</td><td  bgcolor='#f1ede7'><b>Bynavn</td><td  bgcolor='#f1ede7'><b>Fornavn</td><td  bgcolor='#f1ede7'><b>Efternavn</td><td  bgcolor='#f1ede7'><b>E.mail</td><td  bgcolor='#f1ede7'><b>Orderdato</td><td  bgcolor='#f1ede7'><b>Total</td><tr>"
Do
 

  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("fFirma")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("address1")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("postalcode")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("city")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("fName")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("lName")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write "<a href=""mailto:" & rs("email") & """>" & rs("email") & "</a>"
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("orderDate")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs("Total")& ".00"
  VAR = VAR + rs("Total")
  Response.write "</td></tr>"

 
 
  rs.MoveNext
Loop While Not rs.EOF
Response.Write "</table>"

response.write "<BR><BR><b>TOTAL OMSÆTNING: " & VAR * 0.8& ".00  ex.moms<BR><BR>"


Conn.Close
Set Conn = Nothing
%>
Avatar billede l_otto Nybegynder
13. oktober 2004 - 10:21 #11
her er den:

<%
' ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")
' Husk at angive den rigtige sti til din database
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("metacart.mdb")
' Åben databaseforbindelsen
Conn.Open DSN
%>


<FONT SIZE="4" COLOR="#000000"><b><center>Bestillingsoversigt Julen 2004 </FONT>.</B><BR><BR><%
strSQL = "SELECT orders.Fornavn, orders.Efternavn, orders.Adresse, orders.Postnr, orders.Bynavn, orders.email,orders.orderdato, orders.Total, itemsordered.Quantity, products.prodcutName FROM orders INNER JOIN (itemsOrdered INNER JOIN products ON itemsordered.productID = products.productID) ON orders.OrderId = itemsOrdered.OrderID"
Set rs = Conn.Execute(strSQL)
Avatar billede overchord Nybegynder
13. oktober 2004 - 10:35 #12
ok jeg har slaaet fejlkoden op, og den opstaar naar den ikke kan finde en kolonne i Access tabellen/tabellerne. I dette tilfaelde er der 7(!) kolonner der ikke genkendes, men jeg kan ogsaa se at  i den kode du har smidt i 13/10-2004 10:15:34 er feltnavnene paa engelsk.
Saa SQL'en bliver:
SELECT orders.ffirma, orders.ddress1, orders.postalcode, orders.postalcode, orders.city, orderders.fname, orders.lname, orders.email, orders.orderdate, 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;

Jeg har tilfoejet de felter der bruger i JOIN saetningen. I ren access er det ikke noedvendigt, men det er muligt at de skal med i ASP.
Avatar billede overchord Nybegynder
13. oktober 2004 - 10:38 #13
De syv kolonner der ikke genkendes stemmer overens med de sybv kolonner som andrer sig med dansk-engelske kolonnenavne.
Avatar billede overchord Nybegynder
13. oktober 2004 - 10:39 #14
og en fejl i den saetning jeg skrev - andet felt navn skal selvf vaere orders.address1 fremfor orders.ddress1
Avatar billede l_otto Nybegynder
13. oktober 2004 - 10:40 #15
<%
strSQL = "SELECT orders.fFirma, orders.address1, orders.postalcode, orders.city, orderders.fname, orders.lname, orders.email, orders.orderdate, 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;


fejl

Microsoft VBScript compilation error '800a0409'

Unterminated string constant

/oversigt.asp, line 52

strSQL = "SELECT orders.fFirma, orders.address1,  orders.postalcode, orders.city, orderders.fname, orders.lname, orders.email, orders.orderdate, 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;
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^
Avatar billede overchord Nybegynder
13. oktober 2004 - 10:43 #16
Eneste jeg umiddelbart kan set er at der manger en " i slutningen af strengen.

strSQL = "SELECT orders.fFirma, orders.address1, orders.postalcode, orders.city, orderders.fname, orders.lname, orders.email, orders.orderdate, 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;"
Avatar billede l_otto Nybegynder
13. oktober 2004 - 10:47 #17
<FONT SIZE="4" COLOR="#000000"><b><center>Bestillingsoversigt Julen 2004 </FONT>.</B><BR><BR><%
strSQL = "SELECT orders.fFirma, orders.address1, orders.postalcode, orders.city, orderders.fname, orders.lname, orders.email, orders.orderdate, 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;"

Set rs = Conn.Execute(strSQL)


fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/oversigt.asp, line 54

det er linie 54:Set rs = Conn.Execute(strSQL)
Avatar billede overchord Nybegynder
13. oktober 2004 - 10:49 #18
det er i feltet til fornavn - der er en stavefejl:

orderders.fname -> orders.fname
Avatar billede l_otto Nybegynder
13. oktober 2004 - 10:51 #19
yes baby.... nu er der hul..
Avatar billede overchord Nybegynder
13. oktober 2004 - 10:52 #20
virker det som det skal?
Avatar billede l_otto Nybegynder
13. oktober 2004 - 10:54 #21
der er to bestillinger og de kommer fre tre gange hver.. og nu skal jeg have produkterne på.. hjælp
Avatar billede overchord Nybegynder
13. oktober 2004 - 10:57 #22
ok det eneste ekstra du skal have i din ASP kode er noget i retning af

  Response.write rs("quantity")
  Response.write rs("productname")
Avatar billede overchord Nybegynder
13. oktober 2004 - 10:58 #23
som selv skal flettes ind i den eksisterende tabel-struktur paa siden.
Avatar billede overchord Nybegynder
13. oktober 2004 - 11:00 #24
Reelt set ville det nok vaere bedre at have haft en fjerde tabel med kunde-informationen separat, men det er nok en helt anden historie :-)
Avatar billede l_otto Nybegynder
13. oktober 2004 - 11:00 #25
ok.. nu skal du høre..

kunde 1 har bestilt: 25 stk t-shirt 200st vanter 100stk sko og 52stk biler derfor kommer hans bestilling frem fire gange efterhinanden den skal den ikke den skal vises:

Fornavn Adresse Postnr Bynavn Fornavn Efternavn E.mail Orderdato Total t-shirt
jørgen  HEJVEJ  3500  sldnn  peter  henanse  daff@  12.10.2004 150  25
vanter sko biler.
200  100  52

men på en linie.. :-)
Avatar billede l_otto Nybegynder
13. oktober 2004 - 11:06 #26
den er svær... :-( men du er god
Avatar billede l_otto Nybegynder
13. oktober 2004 - 11:29 #27
under tabellen: itemsordered

står der "orderID" "productID" "quantity"
          216        23            1
          216        25            1
          216        28            2

bare så det er nemmere for dig at se
Avatar billede overchord Nybegynder
13. oktober 2004 - 11:56 #28
jeps, jeg kan se hvad du mener.
Istedet skal du have have lavet 2 queries og 2 recordsets.
strSQL1 = "SELECT * FROM orders"


set rs1 = conn.execute(strsql1)

Do
  Udskriv rs1 -indholdet her

strSQL2 = "SELECT orders.orderid, itemsordered.orderid, itemsordered.qunatity, 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 orderid = " & rs1("orderid")

set rs2 = conn.execute(strsql2)
Do
    Udskriv rs2-indholdet her
    set rs2 = nothing
  rs2.movenext
  Loop while not rs2.EOF
rs1.movenext
Loop while not rs1.EOF
Avatar billede l_otto Nybegynder
13. oktober 2004 - 12:00 #29
Microsoft VBScript compilation error '800a0401'

Expected end of statement

/oversigt.asp, line 58

Udskriv rs1 -indholdet her
-----------------------^
Avatar billede overchord Nybegynder
13. oktober 2004 - 12:01 #30
Jeg vil faktisk foreslaa at fremfor at smide alle ordrer paa en enkelt linje- saa smid dem i en tabel istedet. Paa den maade er du sikret at du ikke laver meget brede sider ved ordre af mange forskellige varer.
Avatar billede overchord Nybegynder
13. oktober 2004 - 12:02 #31
lol - ja det er der hvor du selv skal igang med at kode dine
response.write's

;-)
Avatar billede l_otto Nybegynder
13. oktober 2004 - 12:02 #32
den er jeg med på , hvordan gør vi det :-)
Avatar billede l_otto Nybegynder
13. oktober 2004 - 12:05 #33
puha,.. måske du kan sætte det lidt op for mig.. den fejler helt vildt..
Avatar billede l_otto Nybegynder
13. oktober 2004 - 12:07 #34
ok jeg er ved at have den..
Avatar billede l_otto Nybegynder
13. oktober 2004 - 12:13 #35
<%
strSQL1 = "SELECT * FROM orders"


set rs1 = conn.execute(strsql1)

Do
 

Response.write "<table>"
Response.write "<tr><td bgcolor='#f1ede7'><b>klub</td><td bgcolor='#f1ede7'><b>Adresse</td><td  bgcolor='#f1ede7'><b>Postnr</td><td  bgcolor='#f1ede7'><b>Bynavn</td><td  bgcolor='#f1ede7'><b>Fornavn</td><td  bgcolor='#f1ede7'><b>Efternavn</td><td  bgcolor='#f1ede7'><b>E.mail</td><td  bgcolor='#f1ede7'><b>Orderdato</td><td  bgcolor='#f1ede7'><b>Total</td><td  bgcolor='#f1ede7'><b>antal</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("address1")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs1("postalcode")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs1("city")
  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("orderDate")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs1("Total")& ".00"
  VAR = VAR + rs1("Total")
 

 
  Response.write "</td></tr>"
Response.Write "</table>"
 

 
 

strSQL2 = "SELECT orders.orderid, itemsordered.orderid, itemsordered.qunatity, 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 orderid = " & rs1("orderid")

set rs2 = conn.execute(strsql2)
Do
    Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs2("productname")




    set rs2 = nothing
  rs2.movenext
  Loop while not rs2.EOF
rs1.movenext
Loop while not rs1.EOF


response.write "<BR><BR><b>TOTAL OMSÆTNING: " & VAR * 0.8& ".00  ex.moms<BR><BR>"

Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing
%>

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] The specified field 'orderid' could refer to more than one table listed in the FROM clause of your SQL statement.

/oversigt.asp, line 101

linie 101: set rs2 = conn.execute(strsql2)
Avatar billede overchord Nybegynder
13. oktober 2004 - 12:19 #36
ok i slutningen af strsql2:

WHERE orderid = " & rs1("orderid") -> WHERE itemsordered = " & rs1("orderid")
Avatar billede l_otto Nybegynder
13. oktober 2004 - 12:22 #37
strSQL2 = "SELECT orders.orderid, itemsordered.orderid, itemsordered.qunatity, 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 = " & rs1("orderid")

set rs2 = conn.execute(strsql2)

samme fejl :-( vi er så tæt på
Avatar billede overchord Nybegynder
13. oktober 2004 - 12:23 #38
hov nu laver jeg flere fejl :-)

WHERE orderid = " & rs1("orderid") -> WHERE itemsordered.orderid = " & rs1("orderid")
Avatar billede l_otto Nybegynder
13. oktober 2004 - 12:25 #39
puha:

strSQL2 = "SELECT orders.orderid, itemsordered.orderid, itemsordered.qunatity, 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")

samme fejl---
Avatar billede l_otto Nybegynder
13. oktober 2004 - 12:30 #40
fandt den:-)  qunatity fejl...
men den tager kun det første produkt med.. ikke de tre næste og laver tilsidst denne fejl:

Microsoft VBScript runtime error '800a01a8'

Object required

/oversigt.asp, line 110

linie 110 =  rs2.movenext
Avatar billede overchord Nybegynder
13. oktober 2004 - 12:35 #41
ok.....skummelt nu

Hvad siger fejlmeddelelsen helt noejagtigt nu? Fuldstaendigt det samme eller hvad?
Avatar billede overchord Nybegynder
13. oktober 2004 - 12:36 #42
AARH - den er nem nok :-)

Du skal flytte en enkelt linje

find linjen der hedder set rs2 = nothing og flyt den ned under
Loop while not rs2.EOF
Avatar billede l_otto Nybegynder
13. oktober 2004 - 12:36 #43
nej den viser det første produkt der er bestilt rigtigt.. men den laver ikke move to next der viser ikke de 3 andre produkter kunden har bestilt.. og skriver så:

Microsoft VBScript runtime error '800a01a8'

Object required

/oversigt.asp, line 110

linie 110 =  rs2.movenext
Avatar billede overchord Nybegynder
13. oktober 2004 - 13:23 #44
ok der er et andet problem jeg lige lagde maerke til :
nasten nederst i koden:
Loop While Not rs.EOF -> Loop while Not rs1.EOF

Jeg ved ikke om det loeser det.......

Har du nogle dim statements laengere oppe i koden
Dim rs1 as recordset
Dim rs2 as recordset
Avatar billede l_otto Nybegynder
13. oktober 2004 - 13:25 #45
nej jeg har ikke nogle Dim ..
jeg har rettet til rs1

samme fejl :-)(
Avatar billede overchord Nybegynder
13. oktober 2004 - 13:27 #46
proev i starten af koden at tilfoeje:
Dim rs1
Dim rs2
Avatar billede l_otto Nybegynder
13. oktober 2004 - 13:27 #47
hvad kan det være ?
Avatar billede l_otto Nybegynder
13. oktober 2004 - 13:28 #48
<%
strSQL1 = "SELECT * FROM orders"

Dim rs1
Dim rs2
set rs1 = conn.execute(strsql1)

Do
 

Response.write "<table>"
Response.write "<tr><td bgcolor='#f1ede7'><b>klub</td><td bgcolor='#f1ede7'><b>Adresse</td><td  bgcolor='#f1ede7'><b>Postnr</td><td  bgcolor='#f1ede7'><b>Bynavn</td><td  bgcolor='#f1ede7'><b>Fornavn</td><td  bgcolor='#f1ede7'><b>Efternavn</td><td  bgcolor='#f1ede7'><b>E.mail</td><td  bgcolor='#f1ede7'><b>Orderdato</td><td  bgcolor='#f1ede7'><b>Total</td><td  bgcolor='#f1ede7'><b>antal</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("address1")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs1("postalcode")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs1("city")
  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("orderDate")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs1("Total")& ".00"
  VAR = VAR + rs1("Total")
 

 
  Response.write "</td></tr>"
Response.Write "</table>"
 

 
 

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")



response.write "<BR><BR><b>TOTAL OMSÆTNING: " & VAR * 0.8& ".00  ex.moms<BR><BR>"
    set rs2 = nothing
  rs2.movenext
  Loop while not rs2.EOF
rs1.movenext
Loop while not rs1.EOF




Loop While Not rs1.EOF
Conn.Close
Set Conn = Nothing
%>

samme fejl:
Microsoft VBScript runtime error '800a01a8'

Object required

/oversigt.asp, line 111
Avatar billede overchord Nybegynder
13. oktober 2004 - 13:34 #49
ok du har ikke flyttet den jeg foreslog i 13/10-2004 12:36:20:

<%
strSQL1 = "SELECT * FROM orders"

Dim rs1
Dim rs2
set rs1 = conn.execute(strsql1)

Do
 

Response.write "<table>"
Response.write "<tr><td bgcolor='#f1ede7'><b>klub</td><td bgcolor='#f1ede7'><b>Adresse</td><td  bgcolor='#f1ede7'><b>Postnr</td><td  bgcolor='#f1ede7'><b>Bynavn</td><td  bgcolor='#f1ede7'><b>Fornavn</td><td  bgcolor='#f1ede7'><b>Efternavn</td><td  bgcolor='#f1ede7'><b>E.mail</td><td  bgcolor='#f1ede7'><b>Orderdato</td><td  bgcolor='#f1ede7'><b>Total</td><td  bgcolor='#f1ede7'><b>antal</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("address1")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs1("postalcode")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs1("city")
  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("orderDate")
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs1("Total")& ".00"
  VAR = VAR + rs1("Total")
 

 
  Response.write "</td></tr>"
Response.Write "</table>"
 

 
 

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")

response.write "<BR><BR><b>TOTAL OMSÆTNING: " & VAR * 0.8& ".00  ex.moms<BR><BR>"


  rs2.movenext
  Loop while not rs2.EOF
  set rs2 = nothing

rs1.movenext
Loop while not rs1.EOF
Avatar billede overchord Nybegynder
13. oktober 2004 - 13:35 #50
hov ogsaa flytte linjen der hedder:
response.write "<BR><BR><b>TOTAL OMSÆTNING: " & VAR * 0.8& ".00  ex.moms<BR><BR>"

Flyt den saa den staar under linjen
Loop while not rs2.EOF
Avatar billede l_otto Nybegynder
13. oktober 2004 - 13:36 #51
øv samme fejl..:-(
Avatar billede l_otto Nybegynder
13. oktober 2004 - 13:41 #52
he så fjernede jeg lige set rs2 = nothing

og så fejler den ikke ?
Avatar billede l_otto Nybegynder
13. oktober 2004 - 13:43 #53
men det står ikke pænt hvordan kommer det til at stå pænt ? jeg er så ringe til tabeller :-)
Avatar billede overchord Nybegynder
13. oktober 2004 - 13:43 #54
ok - det kunne evt vaere et problem med tomme poster, hvor den udskriver alle firmaer i orders, men ikke alle af dem har bestilt noget.

....

set rs2 = conn.execute(strsql2)

if rs2.eof = false then

Do While Not rs2.EOF
  Response.write "</td><td bgcolor='#FFF5D7'>"
  Response.write rs2("productname")
  rs2.movenext
Loop
set rs2 = nothing
response.write "<BR><BR><b>TOTAL OMSÆTNING: " & VAR * 0.8& ".00  ex.moms<BR><BR>"
End if
Avatar billede l_otto Nybegynder
13. oktober 2004 - 14:06 #55
stik lige et svar... jeg har fikset det sidste selv.. :-) og super mange tak for hjælpen
Avatar billede overchord Nybegynder
13. oktober 2004 - 14:07 #56
ok alle tider -saa bare glem hvad jeg sagde i 13/10-2004 13:43:55 - men du kan bruge det til at goere scriptet en lille tand hurtigere.

TabelProblemet opstaar fordi du afslutter tabellen inden du gaar ind i rs2.
Jeg ville nok stille det lidtd anerledes op

I toppen af hver tabel har du 2 kolonner, til albels og vaerdier bf.eks Navn : Ole Olsen  paa en linje
Derunder i ordre-sektionen har du saa 4 kolonner: Ordrenummer, Varenavn, Antal, - og saa smider vi pt en blank kolonne ind til subtotal idet der ikke er priser i products lige nu..

Saa den generelle fremgangsmetode

<table width = 500>
Hent rs1 indhold her

response.write "<tr><td colspan = 2>Firma-Navn:</td>"
response.write "<td>" & rs1("ffirma") & "</tr></TR>

osv for alle data i rs1 indtil rs2 loopet dukker op

Naar du saa gaar ind i rs2 loopet ville jeg lavet det mere som en undertabel
<tr><td> Ordrenummer</td><td>Vare</td><td>Antal</td><td>Subtotal</td></tr>
og inde i rs2 loopet skriver du saa

response.write "<tr><td>" & rs2("Ordreid") & "/td>"
response.write "<td>" & rs2("productname") & "</td>"
response.write "<td>" & rs2("quantity") & "</td>
response.write "<td></td></tr>
Avatar billede overchord Nybegynder
13. oktober 2004 - 14:08 #57
ok glad for at det virker - det blev lidt af en omgang - men vi naaede da til en loesning :-)
Avatar billede l_otto Nybegynder
19. oktober 2004 - 12:35 #58
er du online min ven ?
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