13. juli 2001 - 20:53Der er
10 kommentarer og 2 løsninger
Søgning i flere felter, med mulighed for at undlade nogle
Hej, jeg mangler et par eksempler på hvordan man gør nedenstående.
Jeg har en database med nogle felter: 5 Tekst-felter der bruges som ja/nej felter ved at have værdierne Sand/Falsk 1 Tal felt 1 Notat felt
Så skal brugeren kunne vælge om Felt1 skal være Sand/Falsk/Lige meget. Men f.eks kan brugeren vælge ikke at stille nogle krav til talfeltet, og hvis der skrives noget i talfeltet skal den tage alle dem med der er \"=\" eller større...
Jeg har selv prøvet med dette: strTekstFelt1 = Request.QueryString(\"TekstFelt1\") StrTekstFelt2 = Request.QueryString(\"TekstFelt2\")
Og så med SQL: Sql = \"SELECT * FROM Data WHERE TekstFelt1 LIKE \'%\" & strTekstFelt1 & \"%\' AND TekstFelt2 \'%\" & strTekstFelt2 & \"%\' ORDER BY Id\"
Men der kan jeg ikke få den til at tage det med der er større, eller få den til at overse dem som folk ikke udfylder.
Hvis I er i tvivl om noget så spørg. Point går til den der får det til at fungere.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
For du vil søge i en tabel hvor de 5 tekst felter faktisk har 3 muligheder, men kun 2 værdier i databasen.
For at gøre det lidt lettere for dig selv, ville jeg nok anvende f.eks. et tekstfelt eller et tal felt til værdierne for de 5 tekst felter. Det vil nemlig gøre din sql sætning meget nemmere og uden en hel masse krumspring.
f.eks.
tekstfelt1: ikke angivet = 0 el. ingenting true = 1 false = 2
På den måde kan du nemt opbygge din sql sætning som du har skrevet ovenfor.
Den vil gerne hvis jeg skriver LIKE, men ikke hvis jeg skriver \"=\" ??? Hvis jeg skriver \"=\" siger den: [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/webhotel/ny/soeg.asp, linje 111
Det er ligeså snart jeg ændre LIKE til \"=\".
Denne sætning virker: Felt LIKE \'%\" & strFelt & \"%\' AND
Denne giver ovennævnte fejl: Felt = \'%\" & strFelt & \"%\' AND
Sql = \"SELECT * FROM Data WHERE TekstFelt1 LIKE \'%\" & strTekstFelt1 & \"%\' AND TekstFelt2 \'%\" & strTekstFelt2 & \"%\' \" if strtalfelt <> \"\" then sql = sql & \"AND talfelt >= \" & strTalfelt & \" \" end if sql = sql & \"ORDER BY Id\"
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.