Avatar billede bugger Nybegynder
22. august 2003 - 12:08 Der er 5 kommentarer og
1 løsning

objRs.filter problemer

Jeg har udtrukket et recordset -objRs. So far so good. Nu vil jeg filtrere i det så jeg finder alle de records hvor objRs("dato")' s ugenummer fx. = 15

strSQL="SELECT ruter.Rutenavn, tider.tid, tider.TidID, ruter.Mlangde, tider.Dato FROM ruter INNER JOIN tider ON ruter.RuteID = tider.RuteID where tider.brugerID=" & session("brugerID") & " AND datepart('yyyy',dato,2,0) = " & aarnummer
objRs.open strSQL,objConn

objRs.filter= "datepart('ww',dato,2,0) = '15'"

Men jeg får følgende fejl.:
Argumenterne har en forkert type eller er uden for det angivne område, eller der er opstået en konflikt mellem dem.
/Verdensende/alleuger.asp, line 64

gi mig et hint, Tak
Avatar billede ocp Nybegynder
22. august 2003 - 12:18 #1
Jeg tror ikke du kan bruge SQL-funktioner i filter på recordsets?
Avatar billede bugger Nybegynder
22. august 2003 - 12:25 #2
Det går jo fint med datepart i SQL sætningen, så burde den også virke i filter..
Avatar billede eagleeye Praktikant
23. august 2003 - 13:37 #3
Jeg har faktisk haft kigget på det ;)

Jeg kan ikke så den til at virke så snart man bruger en function eller noget i filter. Selv en simple Year, Month, Day viker ikke.

Jeg kan kun få den til at virke med standart SQL kommandoer. AND, OR = >= <= LIKE ..

Grunden til det sikkert ikke virker er for DatePath og de andre funktioner som udføre i databasen og kan ikke udføre i recordsetet. MS skriver dessvære ikke specielt meget om det i hjæpen andet det skal være en streng man skriver der. Og deres eks er noget med "navn='ole'"
Avatar billede bugger Nybegynder
23. august 2003 - 13:40 #4
Ja jeg har selv kommet frem til noget lignende. Jeg har kommet omkring det med :
mandagiugen=findmandag(i,aarnummer)
sondagiugen=DateAdd("d",6,mandagiugen)
objRs.filter= "dato >= '" & mandagiugen & "' and dato <= '" & sondagiugen & "'"

men det er jo lidt mere omstændigt end en datepart. Hvis du vil hav point, så læg et svar.
Avatar billede eagleeye Praktikant
23. august 2003 - 14:10 #5
Ja det var en måde at gøre det på :)
Det ville være lettere med en datepat.

Jeg kom i tanke om dette:

Du kan i din SQL sætning lave en ny kolonne og den indeholder uge nr. ud fra datoen som et alias:

SQL="SELECT Dato, DatePart('ww',dato,2,0) as ugenr FROM ruter"

rs.Filter = "ugenr='15'"
Avatar billede bugger Nybegynder
23. august 2003 - 21:44 #6
Ja det havde jeg godt nok ikke tænkt på, men det lyder logisk og enkelt.
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