tre selects til 1 select
Efter en halv times spildt arbejde på at stille dette spørgsmål på en langt bedre måde, må I bære over med mig når jeg nu smækker kode der skal bruges tid på at forstå herind...Jeg har i følgende tre selects som jeg meget gerne vil have lavet om til en enkelt med samme resultat. Blot er jeg ingen sql-haj og aner derfor ikke hvordan det skal gøres.
forums=""
Set Connect = Server.CreateObject("ADODB.Connection")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/forum.mdb")
Connect.Open strDSN
Set rs = Connect.Execute("Select Format(tid,'hh:mm dd-mm-yyyy') as DatoStr, Format(tid,'dd-mm-yyyy') as laststr2, Format(tid,'hh:mm') as laststr3, * From debat WHERE (fid=" & request.querystring("fid") & " and svarpaa=0) ORDER BY tid DESC")
while not rs.EOF
forums=forums & "<tr><td height=""2""><img src=""spacer.gif"" height=""2""></td></tr><tr>" & vbCrLf
forums=forums & " <td>" & vbCrLf
forums=forums & " <table width=""499"" border=""0"" cellspacing=""0"" cellpadding=""0"">" & vbCrLf
forums=forums & " <tr>" & vbCrLf
forums=forums & " <td width=""2"" height=""2"" background=""lt.gif""><img src=""spacer.gif"" width=""2"" height=""2""></td>" & vbCrLf
forums=forums & " <td height=""2"" background=""t.gif""><img src=""spacer.gif"" width=""2"" height=""2""></td>" & vbCrLf
forums=forums & " <td width=""2"" height=""2"" background=""rt.gif""><img src=""spacer.gif"" width=""2"" height=""2""></td>" & vbCrLf
forums=forums & " </tr>" & vbCrLf
forums=forums & " <tr>" & vbCrLf
forums=forums & " <td width=""2"" background=""l.gif""><img src=""spacer.gif"" width=""2"" height=""2""></td>" & vbCrLf
forums=forums & " <td bgcolor=""#BBBBFF"">" & vbCrLf
forums=forums & " <table width=""499"" border=""0"" cellspacing=""0"" cellpadding=""1"">" & vbCrLf
forums=forums & " <tr bgcolor=""#BBBBFF"">" & vbCrLf
forums=forums & "<td width=""187""><a href='visthread2.asp?k=" & request.querystring("k") & "&show=all&id=" & request.querystring("id") & "&navn=" & request.querystring("navn") & "&hid=" & request.querystring("hid") & "&fid=" & request.querystring("fid") & "&fnavn=" & request.querystring("fnavn") & "&ufnavn=" & request.querystring("ufnavn") & "&thread=" & rs("id") & "&tnavn=" & rs("overskrift") & "&page=1'>" & rs("overskrift") & "</a></td>" & vbCrLf
forums=forums & "<td width=""127""><p>" & rs("forfatter") & "</p></td>"
hid=rs("id")
Set Connect2 = Server.CreateObject("ADODB.Connection")
strDSN2 = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/forum.mdb")
Connect2.Open strDSN2
Set rs2 = Server.CreateObject("ADODB.Recordset")
'Set rs2 = Connect.Execute("Select * From forum WHERE (fid=" & hid & ") ORDER BY id ASC")
rs2.Open "Select * From debat WHERE (svarpaa=" & rs("id") & ") ORDER BY id ASC", Connect2, 3, 1
' rs2.movefirst
' rs2.movelast
forums=forums &"<td width=""70""><p align=""right"">" & rs2.RecordCount & "</p></td>"
Set Connect3 = Server.CreateObject("ADODB.Connection")
strDSN3 = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/forum.mdb")
Connect3.Open strDSN3
Set rs3 = Server.CreateObject("ADODB.Recordset")
'Set rs2 = Connect.Execute("Select * From debat WHERE (hid=" & hid & ") ORDER BY tid DESC")
rs3.Open "Select Format(tid,'hh:mm dd-mm-yyyy') as DatoStr, Format(tid,'dd-mm-yyyy') as laststr2, Format(tid,'hh:mm') as laststr3, * From debat WHERE (oplæg=" & rs("id") & ") ORDER BY tid DESC", Connect3, 3, 1
sidst=""
'rs3.movefirst
' rs3.movelast
forums=forums & "<td width=""115""><p align=""right"">"
if rs3.recordcount=0 then
test=Cstr(rs("laststr2"))
test2=Cstr(Date())
test3=Cstr(Date()-1)
if test=test2 then
sidst="<b>Idag</b> " & rs("laststr3")
end if
if test=test3 then
sidst="<b>Igår</b> " & rs("laststr3")
end if
if sidst="" then
sidst=rs("DatoStr")
end if
forums = forums & sidst
else
test=Cstr(rs3("laststr2"))
test2=Cstr(Date())
test3=Cstr(Date()-1)
if test=test2 then
sidst="<b>Idag</b> " & rs3("laststr3")
end if
if test=test3 then
sidst="<b>Igår</b> " & rs3("laststr3")
end if
if sidst="" then
sidst=rs3("DatoStr")
end if
forums = forums & sidst
end if
forums=forums & "</p></td>"
rs3.Close
Set rs3 = Nothing
Connect3.Close
set Connect3 = Nothing
rs2.Close
Set rs2 = Nothing
Connect2.Close
set Connect2 = Nothing
forums=forums & " </tr>" & vbCrLf
forums=forums & " </table>" & vbCrLf
forums=forums & " </td>" & vbCrLf
forums=forums & " <td width=""2"" background=""r.gif""><img src=""spacer.gif"" width=""2"" height=""2""></td>" & vbCrLf
forums=forums & " </tr>" & vbCrLf
forums=forums & " <tr>" & vbCrLf
forums=forums & " <td width=""2"" height=""2"" background=""lb.gif""><img src=""spacer.gif"" width=""2"" height=""2""></td>" & vbCrLf
forums=forums & " <td height=""2"" background=""b.gif""><img src=""spacer.gif"" width=""2"" height=""2""></td>" & vbCrLf
forums=forums & " <td width=""2"" height=""2"" background=""rb.gif""><img src=""spacer.gif"" width=""2"" height=""2""></td>" & vbCrLf
forums=forums & " </tr>" & vbCrLf
forums=forums & "</table>" & vbCrLf
forums=forums & " </td>" & vbCrLf
forums=forums & " </tr>" & vbCrLf
rs.movenext
wend
rs.Close
Set rs = Nothing
Connect.Close
set Connect = Nothing
