On Sun, 24 Nov 2002 12:47:32 +0000 (UTC), Thomas Pedersen
<thomas-p@mail.dk> wrote:
>Jeg har en form hvor brugeren skal skrive et søgeord.
>Den bliver postet til et .ASP dokument.
>I .ASP dokumentet skal det brugeren har indtastet bruges til at
>søge i accessdatabasen.
>Jeg har prøvet noget i denne retning, men kan ikke få det til at
>virke. Kan man ikke give navnet på feltet i formen, på en eller
>anden måde?
>
>' SQL forespørgsel
>strSQL = "Select Navn, Postnr FROM tabel1"
>where tlf = [Indtastet data]
Hej Thomas,
Prøv med noget i retning af:
strSoegeord = Request.Form("soegeord")
' Her kan evt. indsættes div. validering
strSql = "SELECT Navn, Postnr FROM tabel1" & _
" WHERE tlf = '" & strSoegeord & "'"
eller evt.:
strSql = "SELECT Navn, Postnr FROM tabel1" & _
" WHERE tlf LIKE '%" & strSoegeord & "'%"
Et par bemærkninger:
1) Validering: Det er normalt en god idé at checke, at søgeordet ikke
er tomt, ikke indeholder farlig kode el. lign.
(Det er også grunden til, at søgeord først er trukket ud i en
selvstændig variabel - og ikke indsat direkte i SQL'en.)
Se evt. videre i Jakob Andersens udmærkede artikel:
<URL:
http://activedeveloper.dk/aspdigital/2002053001.asp>
2) Om du bruger "=" eller "LIKE" og "%" i din søgning afhænger af, om
du vil søge resultater, hvor tlf-nummeret er lig søgeordet, eller om
det blot indeholder søgeordet.
Kig evt. videre i w3schools.com's "SQL Tutorial":
<URL:
http://www.w3schools.com/sql/default.asp>
3) Der er forudsat, at dit tlf-felt er et tekstfelt (og ikke et
talfelt).
4) Der er forudsat at dit form-felt hedder "soegeord" og at metoden er
POST.
Good luck,
Jørn
--
Jørn Andersen,
Brønshøj