aljMedlem sedan sep. 2002538 inlägg Dim SQLLinks, Links, SQLKategorier, Kategorier
SQLKategorier = "SELECT * FROM tblKategori"
Set Kategorier = Connect.Execute(SQLKategorier)
Do Until Kategorier.EOF
SQLLinks = "SELECT * FROM tblLankar WHERE Visas = True AND Kategori = " & Kategorier("KategoriId")
Set Links = Connect.Execute(SQLLinks)
Response.write Kategorier("KategoriNamn")
Response.write "<br>"
Do Until Links.EOF
Response.write "<a href=""" & Links("Adress") & """ alt=""" & Links("Beskrivning") & """>"
Response.write Links("Namn")
Response.write "</a>"
Response.write "<br>"
Loop
Loop
Felet jag får är:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'Visas = True AND Kategori ='.
/design/links.asp, rad 20
Och rad 20 är:
Set Links = Connect.Execute(SQLLinks)
kan inte komma på vad som är fel, antagligen något riktigt simpelt men i alla fall, hjälp!
Ps. Kan inte någon svara på min andra tråd :P
jboy_87Medlem sedan aug. 20011 099 inlägg Det ser ut som Kategori inte får nått värde!
CoreXMedlem sedan sep. 2001105 inlägg prova skriva 1 istället för true
aljMedlem sedan sep. 2002538 inlägg Det där med "1" fungerade inte men tack endå :),
och vad menar du med att kategori inte får något värde?!
LarsGMedlem sedan dec. 200012 464 inlägg Koda inte så där. Du kommer att belasta databasen väldigt mycket i onödan.
Dim SQLLinks, Links, KategoriNamn
SQLLinks = ""SELECT * FROM tblLankar tl inner join tblKategori tk " & _
" on tl.kategoriid = tk.kategori " & _
" WHERE tl.Visas = True " & _
" order by tk.kategori "
Set Links = Connect.Execute(SQLLinks)
kategoriNamn = ""
Do Until links.EOF
if kategoriNamn <> Links("KategoriNamn") then
kategoriNamn = Links("KategoriNamn")
Response.write KategoriNamn
Response.write "<br>"
end if
Response.write "<a href=""" & Links("Adress") & """ alt=""" & Links("Beskrivning") & """>"
Response.write Links("Namn")
Response.write "</a>"
Response.write "<br>"
Links.movenext
Loop
aljMedlem sedan sep. 2002538 inlägg
LarsG skrev:
Koda inte så där. Du kommer att belasta databasen väldigt mycket i onödan.
Dim SQLLinks, Links, KategoriNamn
SQLLinks = ""SELECT * FROM tblLankar tl inner join tblKategori tk " & _
" on tl.kategoriid = tk.kategori " & _
" WHERE tl.Visas = True " & _
" order by tk.kategori "
Set Links = Connect.Execute(SQLLinks)
kategoriNamn = ""
Do Until links.EOF
if kategoriNamn <> Links("KategoriNamn") then
kategoriNamn = Links("KategoriNamn")
Response.write KategoriNamn
Response.write "<br>"
end if
Response.write "<a href=""" & Links("Adress") & """ alt=""" & Links("Beskrivning") & """>"
Response.write Links("Namn")
Response.write "</a>"
Response.write "<br>"
Links.movenext
Loop
!? Det där förstår jag inte ett dugg utav, vad har du gjort :q
OveRRidEMedlem sedan feb. 200112 078 inlägg Det LarsG har gjort är att skapa en (INNER) JOIN mellan tabellerna tblLankar och tblKategori.
Kort förklararat; en jämförelse som kollar ifall det finns några rader i tabelln 'tblLankar' där 'kategoriid' är samma värde som några rader i tabell 'tblKategori', i kolumnen 'kategori'. Om det finns några träffar, läggs dessa till på raden i recordset:et. :)
aljMedlem sedan sep. 2002538 inlägg Med Lars G kod får jag följande felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e10'
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 2 förväntades.
/design/links.asp, rad 18
Och rad arton är
Set Links = Connect.Execute(SQLLinks)
Hjälp!
:x
LarsGMedlem sedan dec. 200012 464 inlägg SQLLinks = ""SELECT * FROM tblLankar tl inner join tblKategori tk " & _
" on tk.kategoriid = tl.kategori " & _
" WHERE tl.Visas = True " & _
" order by tk.kategori "
Jag har bytt plats på tk och tl.
aljMedlem sedan sep. 2002538 inlägg Får nu felet :
Microsoft OLE DB Provider for ODBC Drivers fel '80040e10'
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.
/design/links.asp, rad 18
:( Men tack för eran starka hjälp :)
EkströmMedlem sedan feb. 20022 594 inlägg Prova plocka bort ett ". DVS.
SQLLinks = "SELECT * FROM tblLankar tl inner join tblKategori tk " & _
" on tk.kategoriid = tl.kategori " & _
" WHERE tl.Visas = True " & _
" order by tk.kategori "
LarsGMedlem sedan dec. 200012 464 inlägg Det fel som du får beror på att det är något kolumnnamn som inte stämmer med dina tabelldefinitioner.
aljMedlem sedan sep. 2002538 inlägg Wohooo! Tusen tack Lars G!
Du är bara bäst :)
Jaja, nu när allt fungerar så vill jag absolut veta mera om "inner join" i sql eller vad det är, några bra länktips?