Sitter här och knåpar på en webb-butik och har ett visst önskemål om att i mitt "kundregister" kunna se vilka "medlemmar" som har gjort en order genom att visa en bild (färgad fyrkant). Hej igen! Ja, det är fel på det eftersom jag får felmeddelandet: Gör bara såhär dåPlocka ut data från två olika tabeller (min första webb
Som det är nu listas alla medlemmar enbart och här är den koden:
<code>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("db.mdb")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
Set RStemp = Connect.Execute("Select * FROM KONTO order by FORNAMN, EFTERNAMN, USER")
%>
<CENTER>
<TABLE width="100%" border="0" cellspacing="0" cellpadding="2">
<%
Do Until RStemp.EOF
cnt = cnt + 1
strColor = "#F5F5F5"
If cnt Mod 2 = 0 then strColor = "#FFFFFF"
Response.Write "<tr bgcolor='" & strColor & "' onMouseOver=this.style.backgroundColor='#c5dbff'; onMouseOut=this.style.backgroundColor='';>"
Response.Write "<td width=80 class=text> " & RStemp("FORNAMN") & "</td>" &_
"<td width=100 class=text> " & RStemp("EFTERNAMN") &"</td>"
%>
<%
If IsNull(RStemp("EPOST")) then
Response.Write "<td class=text1> </td>"
Else
Response.Write "<td width=20 class=text align=left> </td>"
End If
%>
<%
Response.Write "<td width=70 class=text align=left> " & RStemp("USER") & " </td>" &_
"<td class=text align=right><i> " & RStemp("DATUM") &" </td></tr>" &_
RStemp.MoveNext
Loop
Connect.close
Set Connect = nothing
%>
</TABLE>
</code>
Och just innan namnet (förnamnet) vill jag alltså få fram en bild som visar om någon medlem har en order inlagd ifrån tabeller ORDERS.
Den tabellen innahar följande kolumner:
USER =ANVÄNDARID (NUMMER)
ARTIKEL = DET KUNDEN BESTÄLLT
KATEGORI = Säger sig självt va? ;)
PRIS = PRISET PÅ VARAN
I tabellen KONTO har jag ett IDNR som är detsamma som USER i tabellen ORDERS
Hur ska jag bära mig åt för att få fram detta?
Tacksam för svar.
Frågade även på Webforum men ingen tycktes kunna hjälpa mig?
Det borde bli något med WHERE USERS = IDNR antar jag?Sv: Plocka ut data från två olika tabeller (min första
Vad var det för fel på LarsG´s svar på Webforum? Funkade inte det?
Har någon en order så kommer bilden att visas ju.
<code><%
set rstemp = "select k.*,(select count(*) " & _
" from orders where idnr = k.id) as antalOrder " & _
" from konto k Order by k.FORNAMN, k.EFTERNAMN, k.USER"
som du skriver ut med:
if Rstemp("antalorder") > 0 then
'visa bild
else
'visa annan bild
end if
%></code>Sv: Plocka ut data från två olika tabeller (min första
Feltyp:
Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: '[string: "select k.*,(select c"]'
testade även att
lägga till detta:
set rstemp = Connect.Execute("select k.*,(select count(*) from orders where userid = k.idnr) as antalOrder from konto k Order by k.FORNAMN, k.EFTERNAMN, k.USER" )
men då får jag felmeddelandet:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck.
Och sedan så är det egentligen INTE antal ordrar som regisistreras i tabellen ORDERS utan det är antal artiklar med referenser till ANVÄNDARID/MEDLEMSID (kan se ut så här)
USERID_____________ARTIKEL_____________KATEGORI___________PRIS
1 TV TV/VIDEO 300
2 KÖTTBULLE MAT 2
1 HÖRNSOFFA MÖBEL 1300
så även om en medlem/kund gjort flera beställningar så har det ingen betydelse.. vill bara veta om den personen har gjort en beställning/orderSv: Plocka ut data från två olika tabeller (min första
<code>
<%
if Rstemp("antalorder") > 0 then
'visa bild
else
'visa annan bild
end if
%>
</code>
eller har jag missuppfattat??
MVH
//Jonnie