Toon posts:

SQL QUERY met opties in ASP

Pagina: 1
Acties:
  • 174 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Geachte tweakers,

Ik zit met het volgende:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
If bedrijfophaal="" Then 
bedrijfophaal="%"
End if


If afdelingenophaal="" Then 
afdelingenophaal="%"
End if

If functieophaal="" Then 
functieophaal="%"
End if


SELECT CASE zoekveld

    Case 1:


strSQL =    "SELECT Med_ID,Med_nr,Med_naam,Med_roep FROM " & _
        "Medewerker,Bedrijf,Afdelingssamenstelling afd,Afdeling,Functie WHERE " & _
        "Bedrijf.Bedrijfs_ID=afd.Bedrijfs_ID AND " & _
            "afd.afd_nr=Afdeling.afd_nr AND " & _ 
            "afd.afd_id=Medewerker.afd_id AND " & _
            "Medewerker.Fun_id=Functie.Fun_ID AND bedrijf.bedrijfsnaam='" & bedrijfophaal & "' AND " & _
            "Afdeling.AFD_NAAM='" & afdelingenophaal & "'"                                  
    


Case 2:

strSQL =""  

    

END SELECT


Voor deze pagina bevind zich een andere asp pagina met drie listboxjes, hierin kunnen gebruikers hun zoekgebied bepalen, vervolgens worden deze waarden in bedrijfophaal, afdelingenophaal en functieophaal geladen.

Punt is nu dat gebruiker niet perse alle drie de boxjes hoeven in te vullen, waneer een van de drie of meer van de zoekgebied listboxjes niet wordt ingevuld dan dienen gewoon alle bv afdelingen worden weergegeven. Dit kunnen jullie ook in de code terugzien.
Ik probeer doormiddel van het % karakter dit te bewerkstelligen, wanneer de string dus leeg is moet die alles(%) nemen.
Dit werkt helaas niet.
Weten jullie iets waardoor ik mijn intenties wel werkend kan maken of wat is er fout aan deze code?

  • UniCache2
  • Registratie: Januari 2001
  • Laatst online: 02-03 09:30
Zoiets?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim sTempQuery
sTempQuery = "SELECT Med_ID,Med_nr,Med_naam,Med_roep FROM " & _
        "Medewerker,Bedrijf,Afdelingssamenstelling afd,Afdeling,Functie WHERE " & _
        "Bedrijf.Bedrijfs_ID=afd.Bedrijfs_ID AND " & _
            "afd.afd_nr=Afdeling.afd_nr AND " & _ 
            "afd.afd_id=Medewerker.afd_id AND " & _
            "Medewerker.Fun_id=Functie.Fun_ID"

If bedrijfophaal <> "" Then 
    sTempQuery = sTempQuery & " And bedrijf.bedrijfsnaam='" & bedrijfophaal & "'"
End if

If afdelingenophaal <> "" Then 
    sTempQuery = sTempQuery & " AND Afdeling.AFD_NAAM='" & afdelingenophaal & "'"
End if

[ Voor 27% gewijzigd door UniCache2 op 07-02-2006 14:40 ]


  • StarLite
  • Registratie: Januari 2000
  • Laatst online: 01-12-2025

StarLite

'ON ERROR RESUME NEXT

Erst je subquery opbouwen met if's [kolom1 = selectox1 AND kolom2 = selectbox2] als je er 2 hebt ingevuld of [kolom1 = selectox1 AND kolom2 = selectbox2 AND kolom3 = selectbox3] als je er 3 hebt ingevuld
en dan
"select * from .... where " & subquery &"
doen?

edit:

zelfde idee als hierboven dus ^^

[ Voor 21% gewijzigd door StarLite op 07-02-2006 14:42 . Reden: zelfde idee als hierboven dus ^^ ]

tyrips, tywreps, tiewreps, tiereps, tie raps, ripties, taiwraps, kabelbindbandjes » Tie Wraps
\o/


Verwijderd

Topicstarter
Is het dan toegestaan om If in een SQL query te gebruiken???

en hoe is dan de juiste syntax??

Verwijderd

Even goed lezen :) :) Gewoon je SQL-query opbouwen zoals in post 2 (d.w.z. de WHERE-clausule alleen toevoegen als de waarde is gevuld), zoals UniCache2 aangeeft. Dat werkt prima en hoef je geen lelijke hacks te doen als jij had bedacht :)

Dit heeft niets met IF's in SQL te maken hoor...

No offense, maar is het een tip om eerst een cursus programmeren volgen? Dit is reeds je 3e topic in korte tijd waar ik mijn bedenkingen bij heb. Dit is nou niet echt heel erg baanbrekend of zo...
/Edit: die SELECT CASE voor Zoekveld lijkt me ook een beetje overkill. Waarom niet gewoon
code:
1
2
3
4
IF zoekveld = 1
strSql = ....
ELSE
strSql = "";

[ Voor 230% gewijzigd door Verwijderd op 07-02-2006 15:12 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11-04 17:49

NMe

Quia Ego Sic Dico.

Verwijderd schreef op dinsdag 07 februari 2006 @ 15:01:
No offense, maar is het een tip om eerst een cursus programmeren volgen? Dit is reeds je 3e topic in korte tijd waar ik mijn bedenkingen bij heb. Dit is nou niet echt heel erg baanbrekend of zo...
Dit komt misschien wat onvriendelijk over, maar ik moet Boland inderdaad gelijk geven. Vragen als "wat is de juiste syntax om...?" kun je over het algemeen prima zelf vinden via Google, en dat verwachten we dan ook van gebruikers. Probeer in het vervolg dus eerst zelf eens dingen op te zoeken voordat je een reply plaatst. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Ik begrijp best dat het voor jullie als heel simpel overkomt, maar ik heb nauwelijks programmeer ervaring, heb net leer ASP in 21 dagen boek doorgewerkt, dus je kunt je voorstellen dat het voor mij nog soms acabadabra is.

Ik heb alleen een topic gestart wanneer ik er na uren googlen er niet uitkwam. Bovendien dit soort fora zijn er juist toch om OOK de beginneling te helpen wanneer hij vastloopt en niet alleen de Bill Gates klonen??

Verwijderd

Verwijderd schreef op dinsdag 07 februari 2006 @ 15:21:
Ik begrijp best dat het voor jullie als heel simpel overkomt, maar ik heb nauwelijks programmeer ervaring, heb net leer ASP in 21 dagen boek doorgewerkt, dus je kunt je voorstellen dat het voor mij nog soms acabadabra is.

Ik heb alleen een topic gestart wanneer ik er na uren googlen er niet uitkwam. Bovendien dit soort fora zijn er juist toch om OOK de beginneling te helpen wanneer hij vastloopt en niet alleen de Bill Gates klonen??
We helpen jou toch? In de 1e reply wordt zelfs een heel voorbeeld gegeven... Hoe jij dan vervolgens mij IF's in SQL-statements komt is mij een raadsel. In de gegeven oplossing wordt a.d.h.v. de variabelen de SQL-query opgebouwd. Onnodige WHERE clauses worden niet gerestrict op %, maar gewoon weggelaten.

Tuurlijk willen we je helpen hoor, maar hij/zij misschien ook wel :+.

Jammer dat je verder niet meer reageert...

[ Voor 4% gewijzigd door Verwijderd op 07-02-2006 18:23 ]


  • driel24
  • Registratie: Augustus 2002
  • Laatst online: 08:32
even offtopic....

Frank Meussen :

Ik heb in eerdere topics gelezen dat je een zd8290 bezit.
Ik zou je graag een vraagje willen stellen hierover.
(temperatuur)
mijn adres : driel24 at fastmail punt fm
Je mail adres staat denk ik niet in je profiel.

Wie nooit van mening is veranderd, heeft zelden iets geleerd

Pagina: 1