Avatar billede azzodiac Nybegynder
12. august 2003 - 10:30 Der er 12 kommentarer og
4 løsninger

Hent SQL data for denne måned

Hej.
Jeg vil gerne lave en SQL sætning, som henter alle poster hvis dato felt ligger i den måned vi befinder os i.

Jeg går ud fra at det er noget i retningen af
"SELECT * FROM tabel WHERE datofelt = DenneMåned"

Nogen som kan hjælpe?
Avatar billede somaliomar Praktikant
12. august 2003 - 10:33 #1
Hvis databasen er Access kan du gøre sådan her:

"SELECT * FROM tabel WHERE datofelt = Now"

eller

"SELECT * FROM tabel WHERE datofelt = Date"
Avatar billede azzodiac Nybegynder
12. august 2003 - 11:07 #2
Databasen er Access.
Datofelt er i formatet "dd-mm-yyyy" (f.eks. "31-08-2003")
Det jeg så gerne vil trække ud er alle poster hvor måneden er "08".
Avatar billede ellebaek Nybegynder
12. august 2003 - 11:19 #3
"Select * from tabel where datofelt = month(date)"
Avatar billede ellebaek Nybegynder
12. august 2003 - 11:19 #4
eller også er det:
"Select * from tabel where datofelt = " & month(date)

det kan jeg ikke helt huske..!
Avatar billede ellebaek Nybegynder
12. august 2003 - 11:21 #5
hmm...
eller muligvis:
"Select * from tabel where datofelt = '" & month(date) &"'"

men det bør nok være det jeg skrev før: 12/08-2003 11:19:53
Avatar billede hossein Nybegynder
12. august 2003 - 12:04 #6
"SELECT * FROM tabel WHERE month(datofelt) = month(date) and year(datofelt) = year(date)"
Avatar billede somaliomar Praktikant
12. august 2003 - 12:11 #7
Hvis du vil SELECT'e alle poster i en given måned kan du gøre sådan her:

Function FirstDayInMonth(datDate)
  'TODO: Funktionen skal returnere den første dag i måneden
End Function

Function LastDayInMonth(datDate)
  'TODO: Funktionen skal returnere den sidste dag i måneden
End Function

datDatoen = "12-03-2003"
"SELECT * FROM tabel WHERE datofelt BETWEEN '" & FirstDayInMonth(Date) & "' AND '" & LastDayInMonth(Date) & "'"
Avatar billede somaliomar Praktikant
12. august 2003 - 12:22 #8
Rettelse:

Function LastDayInMonth(datDate)
  datDate = DateAdd("m", 1, datDate)
  datDate = FirstDayInMonth(datDate)
  datDate = DateAdd("d", -1, datDate)

  LastDayInMonth = datDate
End Function

Function FirstDayInMonth(datDate)
  FirstDayInMonth = "01" & Right(datDate, 6)
End Function

"SELECT * FROM tabel WHERE datofelt BETWEEN '" & FirstDayInMonth(Date) & "' AND '" & LastDayInMonth(Date) & "'"
Avatar billede eagleeye Praktikant
12. august 2003 - 17:19 #9
Den lette er sådan her den hendter alle datoer i denne månede:

SQL = "SELECT * FROM tabel WHERE Month(datofelt) '=" & Month(Date) & "'"
Avatar billede somaliomar Praktikant
12. august 2003 - 18:15 #10
eagleeye >> Smart!! Kan man ikke også gøre sådan her:

SQL = "SELECT * FROM tabel WHERE Month(datofelt) = Month(Date())"
Avatar billede hossein Nybegynder
12. august 2003 - 18:30 #11
Den er jo god nok:
strSQL = "SELECT * from tabel where month(dato) = month(date()) and year(dato) = year(date())"

Hvad med year?
Avatar billede eagleeye Praktikant
12. august 2003 - 18:41 #12
Jo somaliomar ;) det jo endnu lettere og
Ja det var måske en ide at få årstallet med så det kun er datoer i år som kommer med.
Avatar billede somaliomar Praktikant
12. august 2003 - 18:47 #13
Man lærer noget hverdag! Det er derfor jeg siger: "lær og lev"... eller var det "lær at leve"... ;)
Avatar billede wilweb Nybegynder
12. august 2003 - 22:23 #14
hossein :> når du skriver 'dato' er det så et dato felt fra tabellen i databasen?

strSQL = "SELECT * from tabel where month(dato) = month(date()) and year(dato) = year(date())"
Avatar billede hossein Nybegynder
12. august 2003 - 22:26 #15
ja, han har selv kaldt det datofelt, rigtig.
Avatar billede wilweb Nybegynder
12. august 2003 - 22:36 #16
Takker:>
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