Avatar billede garant11 Nybegynder
17. juli 2012 - 21:05 Der er 7 kommentarer og
1 løsning

Søg efter alder fra datofelt

Hey allesammen.

Jeg har et fødselsdag(dob) felt i access (mm/dd/yyyy) og jeg prøver at lave et søgefelt hvor man kan søge imellem to aldre f.eks: 20 eller 30 år. Men jeg ved ikke hvordan så jeg håber der er nogen der vil hjælpe mig.

Her er et lille "eksempel" på hvad jeg prøver på:
age1 = Request.Form("age1") 'age1 = 20
age2 = Request.Form("age2") 'age2 = 30

'dob er et datofelt
sql = "SELECT * FROM users WHERE dob between "& age1 &" and "& age2 &"
Avatar billede garant11 Nybegynder
18. juli 2012 - 16:57 #1
Folk plejer ellers at være hurtig herinde. :-)
Avatar billede cpufan Juniormester
19. juli 2012 - 17:12 #2
du skal kigge på datediff
se eksempler her:
http://www.techonthenet.com/access/functions/date/datediff.php

pseudokode:
"select * from users where datediff('yyyy',dob,"&now()&")>=20 and datediff('yyyy',dob,"&now()&")<=30"
Avatar billede garant11 Nybegynder
19. juli 2012 - 17:42 #3
Mange tak. :-)
Ser ud til at være i den rigtig retning, men jeg kan ikke få den til at virke.

jeg får:
Variablen er ikke defineret: 'dob' Selvom at dob slet ikke er en variabel men et felt i access databasen.

Koden ser nu sådan her ud:
sql = "SELECT * FROM users WHERE datediff('yyyy',dob,"&date()&")>=" & age1 &" and datediff('yyyy',users.dob,"&date()&")<=" & age2 & "

Og datoformat er: dd/mm/yyyy.
Avatar billede garant11 Nybegynder
19. juli 2012 - 19:49 #4
Har lige prøvet:
sql = "SELECT * FROM users WHERE datediff('yyyy',dob.Fields,"&date()&")>=" & age1 &" and datediff('yyyy',dob.Fields,"&date()&")<=" & age2 & "


Og nu får jeg:
Microsoft JET Database Engine fejl '80040e10'

Der er ikke angivet nogen værdi for en eller flere krævede parametre.
Avatar billede cpufan Juniormester
20. juli 2012 - 13:26 #5
prøv at skifte dob til CDATE(dob)
Avatar billede garant11 Nybegynder
20. juli 2012 - 13:37 #6
Øv det virkede heller ikke. Den tror stadig at det dob at en variabel. Jeg har prøvet alle mulige løsningerne men ikke noget held.
Avatar billede garant11 Nybegynder
20. juli 2012 - 13:44 #7
Ps, jeg har tjekket for stavefejl og manglene tegn igen og igen så det er ikke det der er problemet.
Avatar billede garant11 Nybegynder
20. juli 2012 - 14:00 #8
har fået løs problemet, Mange tak for hjælpen cpufan. :-)

Det viste sig at jeg havde bedt om "dob" længere nede i scriptet, min fejl.
Din pseudokode virker som den skal. :-)
Ved du hvor præcis datediff er? Jeg har hørt meget om at datediff er lidt "off".
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



Seneste spørgsmål Seneste aktivitet
I dag 06:10 Excel åbner fil i kæmpe format Af Aske i Excel
I går 22:00 Datafordeler Af Lsk i PHP
I går 12:37 Summere beløb pr. dato Af TTA i Excel
31/1022:44 Tilslutte chassic fans Af viking69 i PC
31/1020:28 LED lysstofrør Af ErikHg i Fri debat