Avatar billede pretsmann Nybegynder
24. januar 2005 - 19:57 Der er 1 kommentar og
1 løsning

Søgning med 4 felter

Jeg forsøger at lave en søgeside som hidtil har virket med 3 søgefelter - Nu har jeg tilføjet et 4. men det går galt, er der nogen der kan se hvad problemet skyldes?

Fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

ODBC driver does not support the requested properties.

/soeg.asp, line 187

Line 187 = rs.Open strSQL, strDSN, 1

<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
  intPage = 1
End If


' Henter værdien fra form
strKeyword1 = Trim(Request.Form("Keyword1"))
strKeyword2 = Trim(Request.Form("Keyword2"))
strKeyword3 = Trim(Request.Form("Keyword3"))
strKeyword4 = Trim(Request.Form("Keyword4"))

If Len(strKeyword1) = 0 Then
    ' Hvis der ikke er skrevet i feltet
    Response.Clear
    strKeyword1 = Replace(strKeyword1,"'","''")
Else
    ' Hvis der er skrevet i feltet
    strKeyword1 = Replace(strKeyword1,"'","''")
End If

If Len(strKeyword2) = 0 Then
    ' Hvis der ikke er skrevet i feltet
    Response.Clear
    strKeyword2 = Replace(strKeyword2,"'","''")
Else
    ' Hvis der er skrevet i feltet
    strKeyword2 = Replace(strKeyword2,"'","''")
End If

If Len(strKeyword3) = 0 Then
    ' Hvis der ikke er skrevet i feltet
    Response.Clear
    strKeyword3 = Replace(strKeyword3,"'","''")
Else
    ' Hvis der er skrevet i feltet
    strKeyword3 = Replace(strKeyword3,"'","''")
End If

If Len(strKeyword4) = 0 Then
    ' Hvis der ikke er skrevet i feltet
    Response.Clear
    strKeyword4 = Replace(strKeyword4,"'","''")
Else
    ' Hvis der er skrevet i feltet
    strKeyword4 = Replace(strKeyword4,"'","''")
End If

%>


<table width="770" height="23" border="0" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111" background="http://www.lejebolig.it/images/kviksogbg.gif">

<form method="POST" action="soeg.asp">

<tr><td width="195" valign="top">&nbsp;</td>


  <td width="153" valign="top">

<select name="Keyword1" style="font-family: Verdana; font-size: 8 pt; height: 15; width:145"><option value="">Alle amter</option>
                  <option value="10">&nbsp;&nbsp;• Århus amt</option>
                  <option value="11">&nbsp;&nbsp;• Viborg amt</option>

</select></td>


  <td valign="top" width="118">

<select name="Keyword2" style="font-family: Verdana; font-size: 8 pt; height: 15; width:110"><option value="">Alle typer</option>
                  <option value="1">Lej</option>
                  <option value="2">Køb</option>

                  </select></td>


  <td valign="top" width="118">

<select name="Keyword3" style="font-family: Verdana; font-size: 8 pt; height: 15; width:110"><option value="">Alle perioder</option>
                  <option value="Ja">Ja</option>
                  <option value="Nej">Nej</option>

                  </select></td>


  <td valign="top" width="88">

<select name="Keyword4" style="font-family: Verdana; font-size: 8 pt; height: 15; width: 80"><option value="">Husleje</option>
                  <option value="4">4</option>
                  <option value="5">5</option>

                  </select></td>


  <td valign="top" align="right"><input type="submit" name="Submit" value="SØG" style="font-family: Verdana; font-size: 8 pt; height: 19; width:80; float:left; font-weight:bold"></td>

</table></form>





<%
' lav et recordsæt
Set rs = Server.CreateObject("ADODB.RecordSet")
' Opbygger en dynamisk SQL streng
strSQL = "SELECT * FROM Annoncer WHERE"
strSQL = strSQL & " (Region LIKE '%" & strKeyword1 & "%')"
strSQL = strSQL & " And (Type LIKE '%" & strKeyword2 & "%')"
strSQL = strSQL & " And (Per LIKE '%" & strKeyword3 & "%')"
strSQL = strSQL & " And (pris LIKE '%" & strKeyword4 & "%')"
strSQL = strSQL & " order by Dato desc"

' Skaber DSNLess forbindelse til DBen
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("..\database\annonce.mdb")

rs.Open strSQL, strDSN, 1

If Not (rs.BOF Or rs.EOF) Then
  rs.PageSize = 8
  rs.AbsolutePage = intPage
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount
  Response.Write "<p>Side " & intPage & " af " & intPageCount & "</p>"
 
  ' Hvis der er fundet poster på søgningen
%>
         
         
         
          <div align="center">
            <center>
          <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="560" id="AutoNumber3">
            <tr>
              <td width="100%" height="23">Søg bolig</td>
            </tr>
           
<%
    Do While Not rs.EOF And intRecCount > 0
    intRecCount = intRecCount - 1
%>
           
            <tr>
              <td width="100%" height="10"><% = rs.Fields("Region")%></td>
            </tr>
           
<%       
        rs.MoveNext
    Loop
%>
           
           
          </table>
            </center>
          </div>
         
         
         
         
<%
Response.Write "<p>Gå til side "
For intNum = 1 To intPageCount
  Response.Write "<a href=soeg.asp?page=" & intNum & ">" & intNum & "</a> "
Next

Response.Write "&nbsp;"
If Clng(intPage) > 1 Then
  Response.Write "<a href=soeg.asp?page=" & intPage - 1 & ">&lt;&lt;</a>"
Else
  Response.Write "&lt;&lt;"
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
  Response.Write "<a href=soeg.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
Else
  Response.Write "&gt;&gt;"
End If
%>
         
<%       
Else
    ' Hvis der ikke er fundet poster på søgningen
    Response.Write "<p>Der er ikke fundet noget på denne søgning</p>"
End If

%>
Avatar billede softspot Forsker
24. januar 2005 - 23:03 #1
3 ting at checke/prøve:

1. er Type ikke er reserveret ord i databasen (prøv evt. at skrive [Type] eller find et andet navn til feltet).

2. er felternes navne stavet korrekt?

2. er felternes type alle text (eller er pris f.eks. number)?
Avatar billede pretsmann Nybegynder
25. januar 2005 - 17:41 #2
hmm ja ok softspot der var lige indsneget sig en tastefejl i feltnavnet...

Tak!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester