Godagens! <code> Tack! - men får det ej till att fungera. Hej! Nu fungerar det!!! - TACK!!!Sökning av medlemmar (så som här på pellesoft)
Jag sitter här och försöker att knåpa ihop en sida där man skall kunna söka efter medlemmar. Men jag vet inte riktigt hur jag skall få ihop det hela så att det fungerar som jag vill.
Jag vill att sökningen skall fungera på så sätt som den som finns på pellesoft gör (den där man söker efter medlemmar ).
Den skall alltså söka efter medlemmar som uppfyller en eller flera kriterier vilka det är peror på vilka fält som det står något i.
Jag vet hur man gör en vanlig söksida med bara ett textfält.
Man skall kunna söka efter namn, stad, användarnamn.
Exempel:
SQL = "Select * From medlemmar Where namn Like '%%" & Request.Form("namn") & "%%'"
Skulle man inte kunna använda:
If Len(Request.Form("namn") )<0 Then
...till att se efter om det står något i fältet namn?Sv: Sökning av medlemmar (så som här på pellesoft)
Dim strSQL
Dim strWhere
If Len(Request.Form("namn") ) > 0 Then
strWhere = " AND namn Like '%" & Replace(Request.Form("namn"),"'","''") & "%'"
End If
If Len(Request.Form("stad") ) > 0 Then
strWhere = " AND stad Like '%" & Replace(Request.Form("stad"),"'","''") & "%'"
End If
If Len(Request.Form("användarnamn") ) > 0 Then
strWhere = " AND användarnamn Like '%" & Replace(Request.Form("användarnamn"),"'","''") & "%'"
End If
If Len(strWhere) > 0 Then
strSQL = "SELECT * FROM medlemmar WHERE " & Mid(strWhere, 6)
Else
strSQL = "SELECT * FROM medlemmar"
End If
</code>Sv: Sökning av medlemmar (så som här på pellesoft)
Det står följande när jag försöker söka:
ADODB.Recordset fel '800a0bb9'
The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another.
/community1/search_users.asp, rad 38
Har skrivit följande:
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("medlemmar.mdb")&";pwd=haha"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Dim strSQL
Dim strWhere
If Len(Request.Form("namn") ) > 0 Then
strWhere = " AND namn Like '%" & Replace(Request.Form("namn"),"'","''") & "%'"
End If
If Len(Request.Form("anvandarnamn") ) > 0 Then
strWhere = " AND anvandarnamn Like '%" & Replace(Request.Form("anvandarnamn"),"'","''") & "%'"
End If
If Len(strWhere) > 0 Then
strSQL = "SELECT * FROM medlemmar WHERE " & Mid(strWhere, 6) & " Order By datum DESC"
Else
strSQL = "SELECT * FROM medlemmar"
End If
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
%>Sv: Sökning av medlemmar (så som här på pellesoft)
Om du inte har filen adovbs.inc inkluderad på sidan så kan du få sådana felmedelanden.
Gör så här för att inkludera den: <!--#include file="adovbs.inc"-->
Ändra även raden RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
till RecSet.Open strSQL, Connect, adOpenStatic, adLockOptimistic
//TomasSv: Sökning av medlemmar (så som här på pellesoft)
Jag ändrarde till:
RecSet.Open strSQL, Connect, adOpenStatic, adLockOptimistic
Men jag kom på en sak till som jag skulle vilja vet hur man gör.
Om jag nu vill skriva ut hur många träffar sökningen genererade hur gör jag då?