18. december 2005 - 16:04Der er
16 kommentarer og 1 løsning
strSQL select linje virker ikke
Hej jeg har denne lille kode som skal kunne vise alle dem hvor activ er = Yes og hvor navn ikke indholder ordet Pige/Dame/Kvinde der skal siges at nogle af navnene kan være sammensat som Damejunior eller Serie Kvinder hvor r også indgår...
min kode er: strSQL = "SELECT [Name], [Link], [Pulje], [Activ] FROM List" strSQL = strSQL & " WHERE [Activ] ='YES'" strSQL = strSQL & " AND [Name] NOT LIKE '%Pige%' OR '%Dame%' OR '%Kvind%'" strSQL = strSQL & " ORDER BY [ID] ASC" Set objRS = objConn.Execute(strSQL)
Jeg er faktisk ikke helt sikker, men mon ikke du er nød til at gentage Name-kolonnen for hver betingelse:
strSQL = "SELECT [Name], [Link], [Pulje], [Activ] FROM List" strSQL = strSQL & " WHERE [Activ] ='YES'" strSQL = strSQL & " AND [Name] NOT LIKE '%Pige%'" strSQL = strSQL & " OR [Name] NOT LIKE '%Dame%'" strSQL = strSQL & " OR [Name] NOT LIKE '%Kvind%'" strSQL = strSQL & " ORDER BY [ID] ASC" Set objRS = objConn.Execute(strSQL)
strSQL = "SELECT [Name], [Link], [Pulje], [Activ] FROM List" strSQL = strSQL & " WHERE [Activ] ='YES'" strSQL = strSQL & " AND WHERE [Name] NOT LIKE '%Pige%' OR '%Dame%' OR '%Kvind%'" strSQL = strSQL & " ORDER BY [ID] ASC" Set objRS = objConn.Execute(strSQL)
strSQL = "SELECT [Name], [Link], [Pulje], [Activ] FROM List" strSQL = strSQL & " WHERE [Activ] ='YES'" strSQL = strSQL & " AND ([Name] NOT LIKE '%Pige%'" strSQL = strSQL & " OR [Name] NOT LIKE '%Dame%'" strSQL = strSQL & " OR [Name] NOT LIKE '%Kvind%')" strSQL = strSQL & " ORDER BY [ID] ASC" Set objRS = objConn.Execute(strSQL)
men er det ikke den rigtige måde at gøre det på hvis jeg vil have at de navne hvor pige/dame/kvinde ikke indgør skal vises for en sætning kan jo se ud som skrevet i 1.
OK, hvis jeg nu tænkte mig lidt om, så skulle det nok også være en AND i stedet for OR mellem de tre betingelser, da du jo vil udelukke alle tre tilfælde. Så derfor vil jeg mene at denne burde fjerne alle navne hvor de tre mønstre indgår:
strSQL = "SELECT [Name], [Link], [Pulje], [Activ] FROM List" strSQL = strSQL & " WHERE [Activ] ='YES'" strSQL = strSQL & " AND [Name] NOT LIKE '%Pige%'" strSQL = strSQL & " AND [Name] NOT LIKE '%Dame%'" strSQL = strSQL & " AND [Name] NOT LIKE '%Kvind%'" strSQL = strSQL & " ORDER BY [ID] ASC" Set objRS = objConn.Execute(strSQL)
lige en hurtig ting hvis du vil kigge på linket som nu KUN viser ungdoms hold... kan jeg lave en nem løsning ang. order by.
her tænker jeg ikke efter id eller alfabet men en liste som jeg bestemmer. evt hvis jeg vil have alle recorder med Micro først og så Mini og så Lille og så Drenge Hvor D skal være stort den må ikke tage dem med lille d. og så Junior osv osv hvis du forstår..
vil det være som at tage strSQL = strSQL & " AND [Name] NOT LIKE '%Pige%'" strSQL = strSQL & " AND [Name] NOT LIKE '%Dame%'" strSQL = strSQL & " AND [Name] NOT LIKE '%Kvind%'"
og sætte det med i ORDER BY bare uden NOT eller findes der en nemmere løsning !?
Hvis du selv suverænt vil bestemme orden i dit udtræk, så er du nok nød til at lave en kolonne mere i din tabel som indeholder sorterings- eller prioriteringsorden i udtræk. Den kolonne kan du så ordne efter. Eksempel:
SELECT * FROM tabel ORDER BY sorteringsorden ASC
Indholdet af feltet sorteringsorden skal du så vedligeholde et eller andet sted. Alternativt kan du lave en gruppe som hver række tilhører, f.eks. mikro, mini, drenge, yndlinge osv. som du så sorterer efter når du trækker resultatet ud. Dette vil så kræve at du JOIN'er gruppetabellen ind i List-tabellen, når du udtrækker (for at kunne få adgang til sorteringsordenen.
Det lyder dog lidt som om du måske kunne gå efter en anden information, nemlig en alder - har du sådan en i din tabel?
hmm det skulle jo helt være noget der skal kunne køre for sig selv hvor man ikke skal rette for meget...
Men selvf. er man en bestemt alder når man er miniput og lilleput osv osv. så jeg kunne selvf. lave en liste. ved bare ikke lige hvordan ligenu men ville være nemmere hvis man kunne lave den som min where code he he.
Fik en idée ved ikke om jeg skal oprette et nyt spm eller om du vil kigge på det.
jeg har en side som gemmer de opløsninger som denne henter frem...
jeg ved at jeg har team det indholder det navn som holdet har den kommer jeg gennem en replace før at jeg gemmer det pga ' fejl..
Team = Replace(Team, "'", "\")
vil jeg kunne tage Team og lave en særning at hvis Team = (indholder ordet mini) then strYear = 8 elseif team indholder order junior then strYear = 14 ordet kan jo hedde JuniorA hvor det er sammensat så den skal være ligeglad med om der er noget før eller efter Junior DOG skal det stå som skrevet altså Junior og ikke junior med lille j.
for så kan jeg jo bare sætte strYear ind i min db derefter. men hvordan kan den if sætning se ud !?
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.