Avatar billede glenovic16dk Nybegynder
14. oktober 2006 - 16:06 Der er 18 kommentarer og
2 løsninger

Find alle imellem DATO og DATO

Hej Eksperter

Jeg har en side hvor jeg gerne vil have man skal kunne finde alle brugere mellem en dato og en anden dato. Den skal finde alle brugere der har en fødselsdag der ligger i mellem datoerne i databasen.

Lige nu ser min streng således ud:

SQL = "SELECT * FROM users WHERE birthday BETWEEN " & minBirthday & " AND " & maxBirthday & ""

Men den finder ingen selvom jeg den meget gerne skulle finde noget som har en fødselsdag der ligger imellem de 2 angivne datoer

#Glenovic16dk
Avatar billede wilweb Nybegynder
14. oktober 2006 - 16:13 #1
hvilken database buger du?
Avatar billede glenovic16dk Nybegynder
14. oktober 2006 - 16:17 #2
Jeg bruger Acces database
Avatar billede Søren Bech Morsing Praktikant
14. oktober 2006 - 16:19 #3
birthday er et datofelt?
Prøv at sætte ' '  rundt om minBirthday og maxBirthday
- hvordan formatere du min/maxBirthday?
- det børe være YYYY-MM-DD
Avatar billede glenovic16dk Nybegynder
14. oktober 2006 - 16:21 #4
Den formatere det således: DD-MM-YYYY

Nej det er ikke et datofelt, skal det være det?
Avatar billede fixxxer Nybegynder
14. oktober 2006 - 16:23 #5
For at databasemotoren skal kunne foretage en BETWEEN udregning skal formatet være rigtigt for feltet. Hvis det er et tekstfelt, så forstår databasen ikke formatet korrekt og vil derfor give et forkert resultat.
Avatar billede wilweb Nybegynder
14. oktober 2006 - 16:27 #6
hiv det er access og birthday er dato format skal det være #
Avatar billede madeindk Nybegynder
14. oktober 2006 - 16:27 #7
Ja, det er korrekt. Men hans SQL ser da meget fornuftigt ud ikk? Det skulle jeg da mene.
Avatar billede glenovic16dk Nybegynder
14. oktober 2006 - 16:30 #8
Har ændet det nu til dato felt inde i databasen

Strenget ser således ud:

SQL = "SELECT * FROM users WHERE birthday BETWEEN " & minBirthday & " AND " & maxBirthday & ""

og får samme resultat med at den ikke finde de brugere der er inde for minBirthday og maxBirthday
Avatar billede glenovic16dk Nybegynder
14. oktober 2006 - 16:31 #9
wilweb

Hvor skal det være # ?
Avatar billede fixxxer Nybegynder
14. oktober 2006 - 16:32 #10
Har access også konverteret de eksisterende data der var i alle rækker for det felt?
Avatar billede glenovic16dk Nybegynder
14. oktober 2006 - 16:34 #11
Kan man ikke undgå at den laver det til YYYY/MM/DD ?
Avatar billede wilweb Nybegynder
14. oktober 2006 - 16:51 #12
Du kan jo formatere datoen a la dette

dag = day(dato)
md = month(dato)
aar = year(dato)
nydato = dag & "/" & md & "/" & aar
Avatar billede wilweb Nybegynder
14. oktober 2006 - 16:51 #13
Dato i Access skal omsluttes af #
Avatar billede glenovic16dk Nybegynder
14. oktober 2006 - 16:55 #14
Kan du ikke prøve at sætte min SQL string op med de # der skal være.

Er ikke så stærk i SQL strings
Avatar billede wilweb Nybegynder
14. oktober 2006 - 16:56 #15
ok vent lige
Avatar billede wilweb Nybegynder
14. oktober 2006 - 17:00 #16
måske sådan, jeg har ikke testet den!
SQL = "Select * From users Where (birthday < #" & minBirthday & "# And birthday > #" & maxBirthday & "#)"
Avatar billede glenovic16dk Nybegynder
14. oktober 2006 - 17:21 #17
Jeg synes ikke jeg kan få det til at fungere ordenligt.. Så dropper projektet midlertidigt.

Dem der ønsker points som har deltaget i sprøgsmålet må gerne ligge svar!
Avatar billede wilweb Nybegynder
14. oktober 2006 - 17:32 #18
jeg skal til at aflevere en opgave, så tiden er lidt presset til at lave db mm. men jeg vil gerne se på det hvis du kan sende db til mig: admin@wilweb.dk
Avatar billede glenovic16dk Nybegynder
15. oktober 2006 - 17:09 #19
Point givet til wilweb og sbk.

Tak for hjælpen :-)
Avatar billede wilweb Nybegynder
15. oktober 2006 - 20:48 #20
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