04. maj 2003 - 21:08Der er
13 kommentarer og 1 løsning
Søgning i asp dokument
Hej
Jeg har et dokument der lister alle mine kunder, nu vil jeg gerne have et søgfelt i toppen af dokumentet, hvor jeg kan skrive noget af navnet, telefon, addresse o.s.v og så skal de vise de kunder der passer... kan man lave det...
Ja det kan du godt du laver bare noget lignende dette her.
SQL = "Select * From tabel WHERE navn = '" & Request("søgefelt") & "' OR telefon = '" & Request("søgefelt") & "' OR adresse = '" & Request("søgefelt") & "' ORDER BY navn, telefon, adresse" Set rs = Connection.Execute(SQL)
If Not (rs.BOF OR rs.EOF) Then Do While NOT rs.EOF Response.Write rs("navn") &"-"& rs("telefon") &"-"& rs("adresse") rs.MoveNext Loop Else Response.Write "Der blev ikke fundet nogen poster som matchede søgeordet." End If
-> -master-d- > Problemet er at hvis man bare skriver inn en del av navnet/telefon etc. vil den ikke finne noe. SQL-sætningen du bruker krever en eksakt match av *hele* navnet/tlf.nr. Jeg tror hede98 spør om å finne deler av navn.
prøv SQL = "....... WHERE navn Like """ & Request("søgefelt") & """*"""
Jeg har ikke testet det ut, men har laget en query i Access og copy/pastet sql-en ++.
Føgende skjema viser tre tekstfelt og en knapp. Den sender innholdet i formen videre til en asp-side hvor du kan hente innholde tilbake ved å bruke <% Request("navn-på-tekstboks") %>
Det var egentlig også en gang slamkode jeg har fået lavet der. Slevfølgelig er det like istedet for lig med.
SQL = "Select * From tabel WHERE navn Like '" & Request("søgefelt") & "' OR telefon Like '" & Request("søgefelt") & "' OR adresse Like '" & Request("søgefelt") & "' ORDER BY navn, telefon, adresse" Set rs = Connection.Execute(SQL)
If Not (rs.BOF OR rs.EOF) Then Do While NOT rs.EOF Response.Write rs("navn") &"-"& rs("telefon") &"-"& rs("adresse") rs.MoveNext Loop Else Response.Write "Der blev ikke fundet nogen poster som matchede søgeordet." End If
Her er min fil: <% ' ADODB connection objektet Set Conn = Server.CreateObject("ADODB.Connection") ' Husk at angive den rigtige sti til din database DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/crm.mdb") ' Åben databaseforbindelsen Conn.Open DSN %>
<%SQL = "Select * From kunder WHERE navn Like '" & Request("søgefelt") & "' OR telefon Like '" & Request("søgefelt") & "' OR adresse Like '" & Request("søgefelt") & "' ORDER BY navn, telefon, adresse"%>
<%Set rs =Connection.Execute(SQL)%>
<%If Not (rs.BOF OR rs.EOF) Then<BR>Do While NOT rs.EOF<BR>Response.Write rs("navn") &"-"& rs("telefon") &"-"& rs("adresse")<BR>rs.MoveNext<BR>Loop<BR>Else<BR>Response.Write "Der blev ikke fundet nogen poster som matchede søgeordet."<BR>End If<BR>%>
Det virker ikke.. vil du ikke lige se på det... :-)
<%
' ADODB connection objektet Set Conn = Server.CreateObject("ADODB.Connection") ' Husk at angive den rigtige sti til din database DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/crm.mdb") ' Åben databaseforbindelsen Conn.Open DSN
'Nå skal vi lage SQL-setningen. 'Hvis det er søke-skjemaet er fylt ut skal det søkes etter det. Hvis ikke 'skal den hente alle poster. 'Vi må også finne ut hvilke søkefelt som er fylt inn.
if request("ok")<>"" then SQL = "SELECT * FROM kunder WHERE " and_flag = false
if request("kundeid")<>"" then SQL=SQL & "kundeid =" & request("kundeid") and_flag=true end if
if request("firmanavn")<>"" then if and_flag=true then SQL = SQL & "AND " else and_flag=true end if
SQL=SQL & "firmanavn LIKE '" & request("firmanavn") & "' " end if
if request("adresse")<>"" then if and_flag=true then SQL = SQL & "AND " else and_flag=true end if
SQL=SQL & "adresse LIKE '" & request("adresse") & "' " end if
if request("postnummer")<>"" then if and_flag=true then SQL = SQL & "AND " else and_flag=true end if
SQL=SQL & "postnummer LIKE '" & request("postnummer") & "' " end if
if request("by")<>"" then if and_flag=true then SQL = SQL & "AND " else and_flag=true end if
SQL=SQL & "by LIKE '" & request("by") & "' " end if
if request("telefon")<>"" then if and_flag=true then SQL = SQL & "AND " else and_flag=true end if
SQL=SQL & "telefon LIKE '" & request("telefon") & "' " end if
if request("telefax")<>"" then if and_flag=true then SQL = SQL & "AND " else and_flag=true end if
SQL=SQL & "telefax LIKE '" & request("telefax") & "' " end if
nu kan jeg ikke hente koden. Vil du ikke sende den til mig: henrik@hedegaardata.dk
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.