Avatar billede uneerup Nybegynder
21. juni 2005 - 14:27 Der er 16 kommentarer og
1 løsning

Udskriv alt i uge 30

Hej Eksperter,

Er der en der lige hurtig kan skrive en SQL sætning der henter alle records ud fra en DB men som kun findes i uge f.eks 30.

/uneerup
Avatar billede fennec Nybegynder
21. juni 2005 - 14:30 #1
Hvilken database?
Og desuden skal der min et årstal med også, ellers vil du få alle resultater der passer på tidligere/fremtidige år også.
Avatar billede fennec Nybegynder
21. juni 2005 - 14:32 #2
Det bedste er helt klar at finde startdatoen (mandag) i asp også lave selecten ud fra den dato. Det er også nemmere at gøre cross-database.
Avatar billede busschou Praktikant
21. juni 2005 - 14:37 #3
hehe nok ikke løsningen men
sql = "select * from tabel where uge = 30"
Avatar billede busschou Praktikant
21. juni 2005 - 14:38 #4
kunne ikke dy mig
Nå men hvis du kun har hele datoer i tabellen så kunne du jo i asp finde de 7 datoer som findes i uge 30 og selecte dem med OR
Avatar billede uneerup Nybegynder
21. juni 2005 - 14:42 #5
Access database.

Jeg vil bare have en sætning der viser alt i uge 30 og det skal være i 2005

fennec, har du en forklaring på det det ud lige skrev? :-)
Avatar billede uneerup Nybegynder
21. juni 2005 - 14:43 #6
Og jeg har et datofelt i min DB hvor alle datoerne ligger i
Avatar billede busschou Praktikant
21. juni 2005 - 14:43 #7
Du har jo intet sagt om formatet i din tabel... så jeg har da givet dig en mulig løsning ;o)
Avatar billede busschou Praktikant
21. juni 2005 - 14:43 #8
ok :o)
Avatar billede busschou Praktikant
21. juni 2005 - 14:44 #9
Du kan ikke bare have een sætning
Der findes jo ikke nogen uge funktion i asp, så man er nød til først at stykke en funktion sammen i asp som ud fra uge nummeret finder den første dato i ugen
Avatar billede uneerup Nybegynder
21. juni 2005 - 14:45 #10
ok, er der nogle der lige har et eksemple på det så?
Avatar billede fennec Nybegynder
21. juni 2005 - 14:50 #11
egeleye har lavet denne funktion

function findMandag(uge,aar)
d = DateSerial(aar, 1, 1)    ' 1/1/i år
'find mandag i uge 1
If DatePart("ww", d, 2, 2) = 1 Then    'Hvis 1/1 er i uge 1
  While(DatePart("w", d, 2, 2) <> 1)    'find sidste mandag
    d = DateAdd("d", -1, d)
  WEnd
Else
  While(DatePart("ww", d, 2, 2) <> 1)  'find næste mandag
    d = DateAdd("d", 1, d)
  WEnd
End If
findMandag = DateAdd("d", 7*(uge-1), d) 'juster til ugenummer, mandag
end function

Response.write findMandag(30,2005)
Avatar billede fennec Nybegynder
21. juni 2005 - 14:52 #12
Den kan du så bruge sammen med SQL

mandag = findMandag(30,2005)
set rs = conn.execute("select * from enTabel where enDato between #"& mandag &"# and #"& dateadd("d",7,mandag) &"#")
Avatar billede fennec Nybegynder
21. juni 2005 - 14:54 #13
ps. funktionen er taget fra:
http://eksperten.dk/spm/287741
Avatar billede busschou Praktikant
21. juni 2005 - 15:12 #14
hmm er ikke super haj, men har selv brugt denne, det er muligt at egeleyes tager højde for noget som denne ikke gør?
--
function findMandag(uge,aar)
  start = DateSerial(aar,1,1)
  ugedag = weekday(start)
  if ugedag = 1 then
    ugestart = DateAdd("d",ugedag-6,start)
  else
    ugestart = DateAdd("d",ugedag-(ugedag-2),start)
  end if
  findMandag = dateadd("ww",uge-1,ugestart)
End Function
--
Avatar billede busschou Praktikant
21. juni 2005 - 15:14 #15
ahh ja ok egeleyes tager selvfølgelig højde for at første uge i året måske ikke er uge 1 men 53, det er klart. Min går ud fra det er uge 1.
Avatar billede uneerup Nybegynder
22. juni 2005 - 09:10 #16
lækkert det virker sgu..... fennec smid et svar
Avatar billede fennec Nybegynder
22. juni 2005 - 10:14 #17
.o) <-- One Eyed Jack
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