set connect = server.createobject("adodb.connection")
set rs = connect.execute("select * from katergorier order by kategoriid")
kategori = cint(0)
while not rs.eof
if kategori <> cint(rs("kategoriID")) then
response.write "<br>"
kategori = cint(rs("kategoriID"))
if kategori = 1 then
resposne.write "Färger: <br>"
elseif kategori = 2 then
response.write "Bilar: <br>"
end if
end if
response.write rs("namn")
rs.movenext
wend
rs.close
connect.close
eller jag kanske missuppfattade det där med kategorierna. Har du någon tabeller där du lagrar kategorinamn och som du kan joina med.
------------------ essentitia preter non sans multiplicandum
och om din andra tabell som du visade heter produkter så skulle det kunna se ut så här
set connect = server.createobject("adodb.connection")
set rs = connect.execute("select * from katergorier as k inner join produkter as p on p.kategorid = k.id order by k.kategori")
kategori = ""
while not rs.eof
if kategori <> rs("kategori")) then
response.write "<br>"
kategori = rs("kategori)
resposne.write kategori & "<br>"
response.write rs("namn")
rs.movenext
wend
rs.close
connect.close
Jag ska även ha pagecount på sidan så att raderna inte blir för många. Kommer det att fungera som vanligt med sidbläddring om man gör en join
Ja, det blir ingen skillnad där
------------------ essentitia preter non sans multiplicandum
sqlString = "select referens_namn, referens_foretag, foretag" &_
" FROM referensforetag as k inner join referenser as r on r.referens_foretag = k.id "&_
" order by k.foretag"
Det saknas en blank framför FROM
------------------ essentitia preter non sans multiplicandum
Jag har ändrat några stavfel och ett uteblivet end if, men det fungerar inte får felmeddelandet
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 2 förväntades.
/arkivet/test.asp, line 26
Rad 26 gäller SQL frågan
Set referensRS = Server.CreateObject( "ADODB.Recordset" )
referensRS.ActiveConnection = Con
referensRS.CursorType = adOpenStatic
referensRS.CursorLocation = adUSEClient
referensRS.Pagesize = 3
sqlString = "select referens_namn, referens_foretag, foretag " &_
"FROM referenskategori as k inner join referenser as r on r.referens_foretag = k.id " &_
" ORDER BY k.foretag"
referensRS.Open sqlString
referensRS.AbsolutePage = pg
referenser = referensRS.RecordCount
response.write sqlstring
kategori = ""
WHILE NOT referensRS.EOF
IF kategori <> referensRS( "foretag" ) THEN
response.write "<br>"
kategori = referensRS( "foretag" )
response.write kategori & "<br>"
END IF
response.write referensRS("referens_namn")
referensRS.MoveNext
WEND
referensRS.close
set referensRS = nothing
con.close
set con = nothing
Ändrade lite till och nu får jag detta meddelande:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Drivrutin för ODBC Microsoft Access] Kopplingsuttrycket stöds inte.
sqlString = "select r.referens_namn, r.referens_foretag, k.foretag " &_
"FROM referenskategori as k inner join referenser as r " &_
"ON referens_foretag = k.id " &_
" ORDER BY k.foretag"
Jag vet inte vad som orsakar det felet. Du kan ju testa med någon av dessa varianter.
sqlString = "select r.referens_namn, r.referens_foretag, k.foretag " &_
"FROM referenskategori as k inner join referenser as r " &_
"ON [b]r.[/b]referens_foretag = k.id " &_
" ORDER BY k.foretag"
eller
sqlString = "select r.referens_namn, r.referens_foretag, k.foretag " &_
"FROM referenskategori as k ,referenser as r " &_
"where r.referens_foretag = k.id " &_
" ORDER BY k.foretag"
------------------ essentitia preter non sans multiplicandum