Avatar billede lars-k Nybegynder
16. oktober 2001 - 10:45 Der er 12 kommentarer og
1 løsning

Problermer med LIKE og .Filter

Hej

Jeg sidder med et lille problem. Jeg sender info fra en form og putter det i de to variabler strSoegevalg og strSoegeinput. Derefter bruges .Filter, så jeg kun ser de poster der opfylder kriteriet. strSoegevalg kan indeholde henholdsvis tekst og tal. Når der sendes tekst virker det fint, men ikke når der sendes tal. Jeg har et eller andet sted læst, at LIKE kun virker på strenge, men derfor burde det vel virke alligevel. Alternativ er, at ændre typen i databasen fra tal til tekst - så virker det. Men det er vist ikke lige så optimalt......

Lidt hjælp ville være fantastisk.

********************************\'
Kode:

Dim strSoegevalg, strSoegeinput, Kriterie, objRS

\'værdier fra form gives til variabler
strSoegevalg = Request.Form(\"Soegevalg\")
strSoegeinput = Request.Form(\"Soegeinput\")

Set objRS = Server.CreateObject(\"ADODB.Recordset\")
objRS.Open \"Vare\", strConnect, adOpenStatic, adLockReadOnly, adCmdTable

\'værdier tildeles kriteriet
Kriterie =\"\"& strSoegevalg &\" LIKE \'\" & strSoegeinput & \"*\'\"

\'alle poster der ikke opfylder kriteriet undlades
objRS.Filter = Kriterie

******************************************

Hilsen lars-k :-)
Avatar billede lars-k Nybegynder
16. oktober 2001 - 10:47 #1
......rettelse: strSoegeinput kan indeholde tekst og tal - ikke strSoegevalg

lars-k
Avatar billede eagleeye Praktikant
16. oktober 2001 - 15:23 #2
Så vidt je husker skal du bruge % i like ikke *

Kriterie =\"\"& strSoegevalg &\" LIKE \'\" & strSoegeinput & \"%\'\"

X% finder alt som begynder med X
%X finder alt som slutter med X
%X% finder alt med X i
Avatar billede eagleeye Praktikant
16. oktober 2001 - 15:26 #3
hvis der var mig ville jeg lave begrænsningen i SQL sætningen så du ikke hendter 1000 record for at filter 700 fra.

objRS.Open \"SELECT * FROM vare WHERE \" & strSoegevalg & \" LIKE \'\" & strSoegeinput & \"%\';\", strConnect,adOpenStatic,.....


Med mindre du da har behov for at havde alle record.
Avatar billede lars-k Nybegynder
16. oktober 2001 - 15:34 #4
Hej eagleeye

Ja, der skal bruges % hvis det er en Oracle DB, men ikke til Access, som jeg sidder med nu.

Der skal bruge % generelt hvis det er i SQL, men det er dette jo ikke - ud over LIKE-keyword.

lars-k
Avatar billede lars-k Nybegynder
16. oktober 2001 - 15:35 #5
.......kommentar til sidste svar

Ja, jeg kan godt lave det i SQL, men det skal det desværre ikke være denne gang.

lars-k
Avatar billede eagleeye Praktikant
16. oktober 2001 - 15:36 #6
æhhh (objRS.Filter) det er på recordsettet og recordsetet er ligeglad med hvilken database man benytter.
Avatar billede lars-k Nybegynder
16. oktober 2001 - 15:38 #7
......det med Oracle var en mere eller mindre afskrivning fra \"Beginning ASP 3.0\" - jeg gik ud fra, at der var lidt i det.....:-)
Avatar billede eagleeye Praktikant
16. oktober 2001 - 15:40 #8
Ja det er rigtigt der er lidt forskel i SQL sætnigner fra database til database.

Men LIKE % %  er standart SQL så det gik jeg ud fra var ens for alle.
Avatar billede eagleeye Praktikant
16. oktober 2001 - 15:43 #9
hvis du har et tal felt så skal der i søgeningen ikke \' \' omkring. Der skal kun \' \' omkring data hvor feltet er defineret som tekst i databasen.
Avatar billede arno Nybegynder
17. oktober 2001 - 01:29 #10
Du kan ikke lave en like på et tal.. Kun på en tekststreng..

DU anvender altid % når like anvendes uanset om det er sql eller access..

/arno
Avatar billede lars-k Nybegynder
17. oktober 2001 - 09:55 #11
Hej begge to

Ja, jeg er blevet klogere i løbet af morgenen. Arno har ret - LIKE virker kun på strenge - derfor point til samme. Og for øvrigt tak til eagleeye for at være tålmodig og behjælpelig.

lars-k :-)
Avatar billede lars-k Nybegynder
17. oktober 2001 - 10:12 #12
....lige til arno, så se side 540 nederst i Beginning ASP 3.0 fra WROX ( hvis du har denne bor).
* kan bruge i denne sammenhæng - og det virker....

lars-k
Avatar billede arno Nybegynder
17. oktober 2001 - 16:52 #13
Tak Lars-k
Jeg kikker efter...
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