Avatar billede ronniwenzell Nybegynder
28. november 2003 - 15:08 Der er 7 kommentarer og
1 løsning

Select where..

Hejsa -

Jeg har et lille problem .

Jeg har lavet min interne db-søgemaskine, der søger i 'Users', men vil gerne undgå at maskinen kommer med søgeresultater, hvor brugeren ønsker at skjule sine oplysninger.

Hvis brugeren har valgt at skjule sine oplysninger, så er det tjekket af i db'en i feltet 'skjul'.

Men det virker ikke -

    strSQL = "SELECT username, firstname, surname, beskrivelse, adresse, adresse_2, postnummer, [by], dob, email, website, telefon, mobil, instrument, biinstrument, linie, skjul, kons FROM Users WHERE skjul = FALSE AND"
    strSQL = strSQL & " (username LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (firstname LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (surname LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (beskrivelse LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (adresse LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (adresse_2 LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (postnummer LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (dob LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (email LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (website LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (telefon LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (mobil LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (instrument LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (biinstrument LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (linie LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (kons LIKE '%" & strKeyword & "%')"
Avatar billede erikjacobsen Ekspert
28. november 2003 - 15:37 #1
sæt en parentes udenom alle dine or-betingelser

  ... where .... and ( ..... )
Avatar billede ronniwenzell Nybegynder
28. november 2003 - 16:01 #2
men det kan jeg jo ikke gøre, når ønsket er først i SELECT'en?? - det svarer til at jeg skulle sætte parantes sådan her:

... where (....) and ( ..... )    ---->> ??

Jeg prøvede følgende - men det frasorterer ikke profilerne....

    strSQL = "SELECT username, firstname, surname, beskrivelse, adresse, adresse_2, postnummer, [by], dob, email, website, telefon, mobil, instrument, biinstrument, linie, skjul, kons FROM Users WHERE"
    strSQL = strSQL & " (skjul LIKE 'FALSE')"
    strSQL = strSQL & " AND (username LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (firstname LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (surname LIKE '%" & strKeyword & "%')"
    'bla bal bla....
Avatar billede erikjacobsen Ekspert
28. november 2003 - 16:06 #3
Selvfølgelig kan du det:

    strSQL = "SELECT username, firstname, surname, beskrivelse, adresse, adresse_2, postnummer, [by], dob, email, website, telefon, mobil, instrument, biinstrument, linie, skjul, kons FROM Users WHERE skjul = FALSE AND"
    strSQL = strSQL & " ((username LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (firstname LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (surname LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (beskrivelse LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (adresse LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (adresse_2 LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (postnummer LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (dob LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (email LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (website LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (telefon LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (mobil LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (instrument LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (biinstrument LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (linie LIKE '%" & strKeyword & "%')"
    strSQL = strSQL & " OR (kons LIKE '%" & strKeyword & "%'))"
Avatar billede ronniwenzell Nybegynder
28. november 2003 - 16:11 #4
imponerende.... det virker. tak. send mig et svar og du får dine points.

Jeg forstår det ikke helt - men det gør heller ikke så meget, sålænge det virker.
Avatar billede erikjacobsen Ekspert
28. november 2003 - 16:12 #5
AND binder stærkere end OR - derfor parentes.

7 * 5 + 3  er også noget andet end 7 * (5 + 3)

Skidt med point - 60 er for meget for så lidt
Avatar billede ronniwenzell Nybegynder
28. november 2003 - 16:14 #6
Jeg er meget taknemmelig for din hjælp - og beder dig tage imod! Jeg har lært mere end mange andre steder... Jeg insisterer. Send mig et svar ;)
Avatar billede ronniwenzell Nybegynder
28. november 2003 - 16:25 #7
men ok - så har jeg også et andet problem du måske kan hjælpe mig med hvis det vil give dig bedre samvittighed??
Avatar billede ronniwenzell Nybegynder
29. november 2003 - 21:55 #8
ok - as you wish...
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