<% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb") strSQL = "select* from XXX ORDER BY PUNKT1 ASC" set rs = Conn.execute(strSQL)
if rs.EOF then Response.write "" else Do Until rs.EOF %> <% If (i MOD 2 = 0) Then bg = "#B9C9DC" Else bg = "#A2B3C6" End If i = i + 1 %>
<tr style="background-color: <%=bg%>;"> <td><%=RS("punkt1")%></td> <td><%=RS("punkt2")%></td> <td><%=RS("punkt3")%></td> <td><%=RS("punkt4")%></td> <td><%=RS("punkt5")%></td> <td><%=RS("punkt6")%></td> </tr> <%RS.MoveNext Loop end if
Conn.Close Set Conn = Nothing%>
</table> </div> </body> </html>
Dette gør jo så at siden udskriver en liste fra min database, men jeg har nu det problem at jeg gerne vil ha den til at sortere efter brugerens valg, sådan at man kan trykke f.eks. på "punkt3" og så vil den sortere efter punkt3, altså, a,b,c... osv.
for så laver du din sql sådan her if request.form("sorter") <> "" then strSQL = "select* from XXX ORDER BY "&request.form("sorter")&" ASC" else strSQL = "select* from XXX ORDER BY PUNKT1 ASC" end if
til min kommentar 19:29:53 så er det de hidden felter som skal hedde "sorter" og ikke formen...ellers går det ikke godt... :o) Håber du kan lure ideen...ellers spørg løs
<% if request.form("sorter") <> "" then strSQL = "select* from XXX ORDER BY "&request.form("sorter")&" ASC" else strSQL = "select* from XXX ORDER BY TITLE ASC" end if %>
<% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb") strSQL = "select* from XXX ORDER BY TITEL ASC" set rs = Conn.execute(strSQL)
if rs.EOF then Response.write "" else Do Until rs.EOF %> <% If (i MOD 2 = 0) Then bg = "#B9C9DC" Else bg = "#A2B3C6" End If i = i + 1 %>
<tr style="background-color: <%=bg%>;"> <td><%=RS("Punkt1")%></td> <td><%=RS("Punkt2")%></td> <td><%=RS("Punkt3")%></td> <td><%=RS("Punkt4")%></td> <td><%=RS("Punkt5")%></td> <td><%=RS("Punkt6")%></td> </tr> <%RS.MoveNext Loop end if
<% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb") if request.form("sorter") <> "" then strSQL = "select* from XXX ORDER BY "&request.form("sorter")&" ASC" else strSQL = "select* from XXX ORDER BY TITLE ASC" end if set rs = Conn.execute(strSQL)
if rs.EOF then Response.write "" else Do Until rs.EOF %> <% If (i MOD 2 = 0) Then bg = "#B9C9DC" Else bg = "#A2B3C6" End If i = i + 1 %>
<tr style="background-color: <%=bg%>;"> <td><%=RS("Punkt1")%></td> <td><%=RS("Punkt2")%></td> <td><%=RS("Punkt3")%></td> <td><%=RS("Punkt4")%></td> <td><%=RS("Punkt5")%></td> <td><%=RS("Punkt6")%></td> </tr> <%RS.MoveNext Loop end if
Det virker ikke, den siger : Microsoft OLE DB Provider for ODBC Drivers error '80040e10' [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
prøv lige lave en ---------- response.write (strSQL) set rs = Conn.execute(strSQL) ---------- Så vi kan se sql´el Den ene sql hedder order by title .. eksisterer title?
if request.form("sorter") <> "" then strSQL = "select * from XXX ORDER BY "&request.form("sorter")&" ASC" else strSQL = "select * from XXX ORDER BY TITLE ASC" end if --- Der bør nok være mellemrum mellem select og *
altså XXX og TITLE står som det gjorde inden jeg begyndet at sætte denne sorterings kode ind, og der fungerede det som det skulle, altså opsat som i post #1
I dit oprindelige skrev du følgende strSQL = "select * from XXX ORDER BY PUNKT1 ASC" Hvis det virkede hvorfor skulle det andet så ikke virke? eneste forskel er TITLE
<% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb") select case request("order") case "punkt1" strSQL = "select* from XXX ORDER BY punkt1 ASC" case "punkt2" strSQL = "select* from XXX ORDER BY punkt2 DESC" case "punkt3" strSQL = "select* from XXX ORDER BY punkt3 ASC" case "punkt4" strSQL = "select* from XXX ORDER BY punkt4 ASC" case "punkt5" strSQL = "select* from XXX ORDER BY punkt5 DESC" case "punkt6" strSQL = "select* from XXX ORDER BY punkt6 DESC" case else strSQL = "select* from XXX ORDER BY punkt7 ASC" end select set rs = Conn.execute(strSQL)
if rs.EOF then Response.write "" else Do Until rs.EOF %> <% If (i MOD 2 = 0) Then bg = "#B9C9DC" Else bg = "#A2B3C6" End If i = i + 1 %>
<tr style="background-color: <%=bg%>;"> <td><%=RS("punkt1")%></td> <td><%=RS("punkt2")%></td> <td><%=RS("punkt3")%></td> <td><%=RS("punkt4")%></td> <td><%=RS("punkt5")%></td> <td><%=RS("punkt6")%></td> <td><%=RS("punkt7")%></td> </tr> <%RS.MoveNext Loop end if
Nej, det var ikke fejlen, TITLE eksitere, og har altid eksiteret, der har aldrig eksiteret noget ved navn punkt1 i min kode. Den kilde du skrev, kan jeg ikke få til at virke ligemeget hvordan jeg vender og drejer den... den jeg selv postede virker uden problemer.
Fair nok vil ikke mundhakkes over det Men du kan ikke løbe udenom at det første du postede aller øverst oppe sammen med dit spørgsmål indeholdt følgende ----------- Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb") strSQL = "select* from XXX ORDER BY PUNKT1 ASC" set rs = Conn.execute(strSQL) ----- altså PUNKT1
Synes godt om
Ny brugerNybegynder
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.