Avatar billede justdoit Nybegynder
21. november 2002 - 20:45 Der er 23 kommentarer og
1 løsning

hvordan søger jeg på større end og mindre end??

Jeg har et tal i min db der hedder pris = fx 50.

Hvis bruger skriver at prisen skal være mellen

strLav = fx 10

&

strHoej = fx 100

Hvordan laver jeg så sådan at den søger om finder det der ligger imellem 10 & 100. Hvis der ikke skrives noget, skal den bare søge på alt!!


jeg har prøvet lidt med dette:

StrSql = StrSql & "AND(" & strLav &">= pris <= " & strHoej & " %')"

Men virker ikke!!
Avatar billede eagleeye Praktikant
21. november 2002 - 20:48 #1
står der fx 50 eller 50 ?
Avatar billede eagleeye Praktikant
21. november 2002 - 20:49 #2
Og er pris defineret som tal eller tekst?
Avatar billede pfp Nybegynder
21. november 2002 - 20:52 #3
Dim strLav, strHoej
strLav = Request.Form("Lav")
strHoej = Request.Form("Hoej")

SQL = "Select * FROM Tabelnavn WHERE Pris Between " & strLav & " AND " & strHoej
Conn.Execute(SQL)

Har ikke testet det, men det burde virke.

/peter
Avatar billede pfp Nybegynder
21. november 2002 - 20:53 #4
Jeg har i mit eksempel gået ud fra at din pris er defineret som tal i din db.
Avatar billede justdoit Nybegynder
21. november 2002 - 21:03 #5
min pris er defineret som varchar, så det er vist en tekst!!
Avatar billede justdoit Nybegynder
21. november 2002 - 21:07 #6
Jeg har prøvet dette:

StrSql = StrSql & "AND(Pris Between '" & strLav & "' AND '" & strHoej & ")"'

Men får denne fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e09'
[TCX][MyODBC]You have an error in your SQL syntax near '')' at line 1
Avatar billede pfp Nybegynder
21. november 2002 - 21:09 #7
Har du også prøvet med mit eksempel?
Avatar billede eagleeye Praktikant
21. november 2002 - 21:11 #8
Prøv at rette det til:

StrSql = StrSql & "AND (Pris Between '" & strLav & "' AND '" & strHoej & "')"
Avatar billede eagleeye Praktikant
21. november 2002 - 21:12 #9
Men du får nok et proglem at den ikke finder fx 50 da 5 er mindre end 1 når den tjekke på kolonnen som tekst.
Avatar billede justdoit Nybegynder
21. november 2002 - 21:34 #10
skal jeg så bare ind og lave pris om til tal??
Avatar billede justdoit Nybegynder
21. november 2002 - 21:35 #11
pfp

det er da den vi arbejder med!
Avatar billede eagleeye Praktikant
21. november 2002 - 21:38 #12
Hvis dit tekst felt kun inde holder tal for prisen så kan du konverete teksten til tal..:

Denne skulle virker med mySQL som du vist bruger..:

StrSql = StrSql & "AND (0+Pris Between " & strLav & " AND " & strHoej & ")"
Avatar billede pfp Nybegynder
21. november 2002 - 22:35 #13
justdoit -> Jeg kan da se at det kode du får fejl i 21:07:26 ikke er helt min kode!
Avatar billede justdoit Nybegynder
21. november 2002 - 22:37 #14
eagleeye

Hvad betyder dette: 0+Pris Between (altså hvad går den??)
Avatar billede justdoit Nybegynder
21. november 2002 - 22:42 #15
Jeg har et lille problem:

Hvis jeg ikke skriver noget i pris, så får jeg fejlen:

Microsoft OLE DB Provider for ODBC Drivers error '80040e09'
[TCX][MyODBC]You have an error in your SQL syntax near 'AND )' at line 1

Her er koderne

StrSql = "SELECT * FROM annoncer WHERE"
StrSql = StrSql & "(annoncetekst LIKE '%" & LCase(strKeyword) & "%')"
StrSql = StrSql & "AND (0+Pris Between " & strLav & " AND " & strHoej & ")"
Avatar billede justdoit Nybegynder
22. november 2002 - 00:18 #16
Kan det ikke laves?
Avatar billede eagleeye Praktikant
22. november 2002 - 09:50 #17
0+ skulle konvertere tekst til int i MySQL.
Avatar billede eagleeye Praktikant
22. november 2002 - 09:53 #18
Det tyder op at strHoej er tom.
Avatar billede eagleeye Praktikant
22. november 2002 - 09:55 #19
Prøv med dette eks, det er vist ikke SQL sætningnen som der er noget galt, men variable som er tomme.

strLav = 10
strHoej = 100

StrSql = "SELECT * FROM annoncer WHERE"
StrSql = StrSql & "(annoncetekst LIKE '%" & LCase(strKeyword) & "%')"
StrSql = StrSql & "AND (0+Pris Between " & strLav & " AND " & strHoej & ")"
Avatar billede justdoit Nybegynder
22. november 2002 - 11:05 #20
Jeg har lige testet:

Når jeg kun søger på navn og sted, altså kun bruger denne:

StrSql = "SELECT * FROM annoncer WHERE"
StrSql = StrSql & "(annoncetekst LIKE '%" & LCase(strKeyword) & "%')"

Hentes der ingen ting med over fra de to priser.

Hvordan laver jeg sådan at jeg at jeg tjekker om strLav<strHoej

I den stil:

If (strLav AND strHoej) <> "" AND strLav<strHoej then??
Avatar billede eagleeye Praktikant
22. november 2002 - 17:43 #21
if (strLav <> "") AND (strHoej <> "") AND (strLav < strHoej) then
Avatar billede justdoit Nybegynder
22. november 2002 - 19:22 #22
Jo tak, så har jeg fået det til at virke! Jeg har et spørgsmål mere, men det stiller jeg lige som et nyt, da jeg syntes du har gjort hvad du skulle

Her er det nye:http://www.eksperten.dk/spm/286632
Avatar billede justdoit Nybegynder
22. november 2002 - 19:22 #23
kan jeg få et svar?
Avatar billede eagleeye Praktikant
22. november 2002 - 19:25 #24
Ok.. Ja naturligvis. :)
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