Avatar billede quarkb Nybegynder
08. september 2005 - 20:24 Der er 14 kommentarer og
1 løsning

Database udtræk, "WHERE dato > start"

Jeg vil gerne kunne filtere på feltet FraDen i tabellen
Når jeg bruge nedenstående filtere den kun på de første 2 felter i FraDen (12-09-2005)

sql = "SELECT * FROM [Sygdom] WHERE FraDen > '" & Start & "'"

Hvad laver jeg forkert
Avatar billede cpufan Juniormester
08. september 2005 - 20:55 #1
feltet i db'en er defineret som tekst,
lav den om til dato-format og
så skal din sql se sådan ud:
sql = "SELECT * FROM [Sygdom] WHERE FraDen > #" & Start & "#"
Avatar billede terry Ekspert
08. september 2005 - 20:58 #2
Not sure you can use format in ASP

sql = "SELECT * FROM [Sygdom] WHERE FraDen > #" & Format(Start, "yyyy-mm-dd") & "#"
Avatar billede quarkb Nybegynder
08. september 2005 - 21:14 #3
er det muligt at sammenligne dem uden at lave feltet om til dato-format?
Avatar billede terry Ekspert
08. september 2005 - 21:17 #4
If FraDen is a text field then you are going to have problems

13-08-2005 will be > than 12-09-2005
Avatar billede cpufan Juniormester
08. september 2005 - 21:21 #5
ikke mig bekendt,
da en tekstsammenligning jo starter fra 1. bogstav/tal

så skal du sætte datoerne ind i tabellen på denne måde: yyyy-mm-dd
så kan du sammenligne på større eller mindre.

hvis det er en tabel med mange værdier i forvejen, kan du lave et script der omdanner værdierne....
Avatar billede quarkb Nybegynder
08. september 2005 - 21:30 #6
sql = "SELECT * FROM [Sygdom] WHERE FraDen > #" & Start & "#"

FraDen er nu i dato-format men problemet er stadig det samme
Avatar billede cpufan Juniormester
08. september 2005 - 21:32 #7
kan du ikke vise hvad den kommer med?

sæt denne i toppen af siden:
<%session.lcid = 1030%>
Avatar billede quarkb Nybegynder
08. september 2005 - 21:36 #8
Jeg har kun 2 poster i tabellen.
08-09-2005
01-09-2005
Avatar billede terry Ekspert
08. september 2005 - 21:39 #9
hvis du kun har to poster, så vil jeg laver feltet om til dato
Avatar billede quarkb Nybegynder
08. september 2005 - 21:40 #10
Feltet er ændret til dato-format
Avatar billede busschou Praktikant
09. september 2005 - 07:17 #11
Hvordan ser dine data præcis ud?
Det er et kendt problem at søge på datoer som dd-mm-yyyy i access da du risikerer den laver det om til mm-dd-yyyy når du søger og der er jo stor forskel på om du tror at du har datoen 08-09-2005 og at systemet tror at du mener 09-08-2005
Derfor bør man lave det om til yyyy-mm-dd format som aldrig kan tolkes forkert
Prøv med fx noget ala
----
start = Year(Now)&"-"&Month(Now)&"-"&Day(Now)
sql = "SELECT * FROM [Sygdom] WHERE FraDen > #" & Start & "#"
----
hvis du altså søger på dags dato
Avatar billede busschou Praktikant
09. september 2005 - 07:19 #12
bemærk hvis du kun har de to datoer så burde den ved eksemplet herover ikke returnere noget!
Hvis du vil finde begge to så test evt på
start = "2005-08-31"
Avatar billede busschou Praktikant
09. september 2005 - 07:29 #13
nu gik det lige op for mig at du skriver at du tester på 12-09-2005 , den vil i givet fald jo heller ikke returnere noget da den 8 og 1 er mindre
Avatar billede quarkb Nybegynder
09. september 2005 - 09:39 #14
busschou, din
start = Year(Now)&"-"&Month(Now)&"-"&Day(Now)
sql = "SELECT * FROM [Sygdom] WHERE FraDen > #" & Start & "#"

var faktisk lige hvad der manglede.
Avatar billede busschou Praktikant
09. september 2005 - 09:41 #15
oki doki, så lægger jeg et svar, godt det virker :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