Avatar billede Jman Praktikant
29. juni 2005 - 18:41 Der er 10 kommentarer og
1 løsning

spørge på en dato i 3 felter (day, month, year)

Hvordan er det man laver en select på dato, når databasen er opdelt i felterne day, month, year ?
(altså et felt med day, en med month og en med year)
Avatar billede cult Nybegynder
29. juni 2005 - 19:37 #1
"Select * from Tabelnavn where day="
Avatar billede musicchart.dk Nybegynder
29. juni 2005 - 19:46 #2
"Select * from Tabelnavn where day=1 AND month=1 AND year=2005"

Jeg er ikke sikker, men mener at 'month', 'day' og 'year' er reserverede ord, brug hellere 'maaned','dag' og 'aar'.
Avatar billede Jman Praktikant
29. juni 2005 - 19:49 #3
Jeg skal desværre finde alle poster, der er af nyere dato end dags dato
Avatar billede Jman Praktikant
29. juni 2005 - 19:55 #4
..har prøvet med
strSQL = "SELECT TOP 4 tblCalendarEvents.* FROM tblCalendarEvents where day(tblCalendarEvents.Day)&'-'&month(tblCalendarEvents.Month)&'-'&year(tblCalendarEvents.year) >= #"&date()&"# order by year,month,day asc"
men den viser mig poster fra 2004 (??)
Avatar billede busschou Praktikant
29. juni 2005 - 20:05 #5
jeg vil foreslå dig at lave det om så du har et dato felt i stedet
men alternativ kan man jo altid lave den lange version, her blot med i dag som dato
Select * From tabel Where year > 2005 Or (year = 2005 And month > 6) Or (year = 2005 And month = 6 And day > 29)
Avatar billede busschou Praktikant
29. juni 2005 - 20:08 #6
dvs
Select Top 4 * Ftom tblCalendarEvents Where [Year] > Year(Date) Or ([Year] = Year(Date) And [Month] > Month(Date)) Or ([Year] = Year(Date) And [Moth]= Month(Date) And [Day] > Day(Date))
Avatar billede Jman Praktikant
29. juni 2005 - 20:09 #7
...det går da ikk ...
I dit tilfælde vil jeg få alt med fra 2005, alene fra det første kriterie
Avatar billede busschou Praktikant
29. juni 2005 - 20:13 #8
hvad?
[Year] > Year(Date) ... dvs alt hvor dit year felt er større end 2005
or ... dvs eller
[Year] = Year(Date) And [Month] > Month(Date) .. dvs hvor dit year felt er lig 2005 men måneden er større end denne
or .. dvs eller
[Year] = Year(Date) And [Moth]= Month(Date) And [Day] > Day(Date) ..dvs hvor dit års felt er lig 2005 og dit måneds felt er lig 6 og dags felt større end 29
...
ergo får du alle datoer større end dags dato :o)
Avatar billede busschou Praktikant
29. juni 2005 - 20:19 #9
eksempel
3/3-2005
året 2005 er ikke større end 2005 så den fejler i første betingelse
året 2005 er ok i anden betingelse men måned 3 er ikke større end 6 så fejler
året 2005 er ok i tredie betingelse, men måneden fejler
Jeg kan ikke se andet end at den er god nok
Hvorfor skulle den fejle?. Kan du give et eksempel? :o)
Endvidere så mener jeg også at year, month og day er reserverede
Derfor kan du i access putte [] klammer omkring og du slipper derved for at skrive tabelnavn.year og nøjes med [year]
Avatar billede Jman Praktikant
29. juni 2005 - 21:00 #10
Sorry - det er vist mig der er ved at være lidt træt .. drop et svar :/
Avatar billede busschou Praktikant
29. juni 2005 - 21:18 #11
hehe helt ok :o)
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