[ sensei @ 13.03.2012. 10:02 ] @
Za zadatak trebam u access 2007 na osnovu osoba koje se nalaze u bazi napraviti biracki spisak.
Dakle, sve osobe koje se +18 godina bi se trebale naci na spisku. Mjeseci i dani starosti uopste nisu potrebni.
Probao sam sa dateDiff, ali mi javlja error, i pokusao sam Date() - [DatumRodjenja] ali ni to nije uspjelo.
Ima li neko savjet jer o ovome nisam nasao ni na microsoft office help sajtu?
[ SLOJ.1973 @ 13.03.2012. 10:13 ] @
Da bi znao ko ima 18 ili vise godina,svakako moras uneti i dan i mesec rodjenja,a ne samo godinu,a kada to uradis sve ce ti biti mnogo lakse.
[ sensei @ 13.03.2012. 10:35 ] @
Imam ja to uneseno u bazi, datum rodjenja je u formatu dd.mm.yyyy

Ali kao rezultat kverija koji cu povezati sa reportom treba da mi izdvoji samo one koji su punoljetni, dakle +18.

Ne treba mi ispis tipa: Osoba A ima 18 godina, 2 mjeseca i 20 dana.
[ FOX028 @ 13.03.2012. 13:19 ] @
Pa ako ti ne treba taj podatak koliko ima godina nemoj ga ubaciti u izvestaju vec samo u Query-ju jer taj podatak ce ti sluziti za filtriranje podataka.

mozes iskoristiti ovako nesto

Starost: (Date()-[DatumRodjenja])/365

za kriterijum stavis

>18
[ SLOJ.1973 @ 13.03.2012. 13:27 ] @
Mozda ovako:
Code:
DateDiff("yyyy", Me.Text2, Date)
,gde ti je me.text2 polje sa datumom rodjenja.
[ FOX028 @ 13.03.2012. 13:35 ] @
Citat:
SLOJ.1973: Mozda ovako:
Code:
DateDiff("yyyy", Me.Text2, Date)
,gde ti je me.text2 polje sa datumom rodjenja.


ne bih se slozio sa ovim, jer ovde racuna samo razligu u godinama a na osnovu ovoga neko moze imati 18 godina a ustvari mu fali jos koji dan ili mesec do 18 godina

Npr.
datum rodjenja
25.03.1994
danasnji datum
13.03.2012

ako se racuna 2012-1994=18
ali ako gledas cele datume vidi se da fali jos 12 dana do 18 rodjendana.

[Ovu poruku je menjao Getsbi dana 13.03.2012. u 18:59 GMT+1]
[ Zidar @ 13.03.2012. 14:41 ] @
Ama ljudi na forumu smo govorili mnogo puta od problemu racunanja rodjendana. Nikakvi DateDiff niti dlejenja sa 365. Ja ne umem da nadjem to na forumu, ali ima na internetu.

Ovako se radi:
Starost na zadati dan se racuna ovako: Osoba je rodjena na dan Y. Koliko godina ima osoba na dan X, X>Y?
Priblizno, Starost = Year(X) - Year(Y)
Zasto priblizno? neka je osoba rodjena na dan X = 10 Mart 2000.
Koliko godina osoba ima na dan 5 Feb 2012? Odgovor: 11 godina, jos nismo dosli do rodjendana
Koliko godina osoba ima na dan 15 April 2012? Odgovor: 12 godina, jer se racuna starost posle rodjendana

Ako je neko rodjen 10 Marta 200, on je 10 Marta 2012 imati punih 12 godina. U godini 2012, ta ce osoba imati 12 godina pocevsi od 10 Marta. Pre 10. Marta osoba ce imati jos uvek 11 godina. Znaci, mora se uporediti zadati datum sa danom rodjendana. Pre rodjendana imas godinu manje, posle rodjendana imas godinu vise.

Funkcija koja se moze koristiti u kodu: http://allenbrowne.com/func-08.html
Ovo moze i u kveriju: http://office.microsoft.com/en...ate-in-access-HA001055071.aspx

Zakacio sam primer. Nekoliko osoba u bazi, kveri racuna starost i pokazuje samo one osobe koje imaju > 18 godina na zadani dan. Zadani dan se zadaje kao parametar. Racunaica u kveriju je kopirana sa navedenog Microsoft sajta.

[ Bufalo Kikiriki @ 13.03.2012. 17:10 ] @
Citat:
ne bih se slozio sa ovim, jer ovde racuna samo razligu u godinama a na osnovu ovoga neko moze imati 18 godina a ustvari mu fali jos koji dan ili mesec do 18 godina

Npr.
datum rodjenja
01.03.1994
danasnji datum
13.03.2012

ako se racuna 2012-1994=18
ali ako gledas cele datume vidi se da fali jos 12 dana do 18 rodjendana.
Malo si se zeznuo u računici :d
[ FOX028 @ 13.03.2012. 17:19 ] @
ako mislis da sam se zeznuo reci mi gde je greska, da se ne bi drugi put zeznuo :)
[ Getsbi @ 13.03.2012. 17:55 ] @
@ FOX028
Ne fali mu 12 dana do 18. rođendana, nego mu je 18. rođendan bio pre 12 dana.

Evo ispravio sam datum rođenja na 25.03.1994
[ FOX028 @ 13.03.2012. 18:19 ] @
da jeste, sad sam uvideo :)
[ SLOJ.1973 @ 13.03.2012. 18:51 ] @
Citat:
FOX028: Pa ako ti ne treba taj podatak koliko ima godina nemoj ga ubaciti u izvestaju vec samo u Query-ju jer taj podatak ce ti sluziti za filtriranje podataka.

mozes iskoristiti ovako nesto

Starost: (Date()-[DatumRodjenja])/365

za kriterijum stavis

>18

Ako ćemo tako ni ovaj tvoj kod ne daje tačan rezultat.Probaj sa datumom rođenja 28.2.1994 i recimo da je današnji dan 25.2.2012.Dobijam rezultat 18.00273
A u stvari osoba još nema 18 godina,već će ih napuniti 28.2.2012. Zato što nemaju sve godine 365 dana,već neke su i prestupne,kao recimo ova.Pozdrav.
[ sensei @ 13.03.2012. 20:59 ] @
Citat:
Zidar
Zakacio sam primer. Nekoliko osoba u bazi, kveri racuna starost i pokazuje samo one osobe koje imaju > 18 godina na zadani dan. Zadani dan se zadaje kao parametar. Racunaica u kveriju je kopirana sa navedenog Microsoft sajta.

:-)


Malo sam preuredio primjer.
Da li ovo može da se izvede na ovaj nacin.
U bazi su porodice podjeljene po kvartovima.
Spiskovi se prave za kvartove.
Meni bi trebala forma na kojoj preko lookup wizarda izaberem kvart, i preko text boxa ukucam datum izbora. Kliknem na dugme koje bi te podatke prenijelo kveriju kao kriterij i po njima pretrazilo bazu.
Zakacio sam to u primjeru.
Nadam se da ce se moci uraditi da ovo radi preko forme.
Hvala vam puno!
[ SLOJ.1973 @ 14.03.2012. 09:55 ] @
Mozda ovako
[ SLOJ.1973 @ 17.03.2012. 06:50 ] @
Pa jel' odgovara?
[ sensei @ 25.03.2012. 19:23 ] @
Sorry sto kasno odgovaram, jutros dosao s puta.
Ukomponovao sam ovo prema primjeru koji ste postavili i radi.
Velika vam hvala, ovo mi je u mnogogome olaksalo!