miro35 31.08.2010 13:41
Predmet:Re: Datumska kontrola

Jesam ali me zanima može li se u funkciju ugradit i ovo i kako. Recimo kad korisnik upiše 32.08.2010 ova funkcija će javiti grešku,isto tako ako upišem recimo 22 javiće grešku i to je u redu.Ali ako korisnik upiše 31.08.201 umjesto 31.08.2010 onda funkcija ne javlja grešku.Normalno i ne treba javljat jer je korisnik stavio da je godina 201.Ali ja bih napravio još ukoliko korisnik stavi godinu dužine 3 cifre da javi isto grešku.Ja to znam napravit za svako polje na događaj after update,ali neznam ugradit u funkciji.

zxz 31.08.2010 23:28
Predmet:Re: Datumska kontrola

To mozes napravit na Before update ili pak dirketno u tabeli.
Na update bi bilo:
If Date()-me.moj _datum<100 or if Date()-me.moj _datum>100 then
MsgBox "Pogresan datum"
me.mojdatum=""
endif.

Ovo je da moze pisati samo veci datum od trenutnog za 100 dana i manji isto tako.
E ti sad nadji sta ti pase.

U tabeli isto tako moze u Validatio rule i ja to obicno tamo stavljam da nebi poslije morao razmisljati
Between Date()-10 And Date()+10
U validation tekst upises napr. Pogresan datum.

miro35 03.09.2010 07:40
Predmet:Re: Datumska kontrola

Ovo bi trebalo na after update ali samo sa godinom,jer kad ukucam datum recimo prije 100 dana javljaće poruku pogrešan datum.A meni treba samo godina da nemože upisati da je godina "201" umjesto "2010".Dobro bi bilo kad bi moglo u ovoj funkciji zbog pozivanja.Jer za svako polje bi morao na datum postaviti nešto na after update a sa funkcijom moram samo na svaku formu u aplikaciji na dogadjaj on error.

zxz 03.09.2010 07:48
Predmet:Re: Datumska kontrola

Nemoze na on eror jer nema greske i event error se nece pojaviti.
Najbolje ti ju u polje u bazi.
Ako ti treba cijela godina onda -365 a mozes staviti i vise.
Mozes ti napraviti proceduru koja ci ispitivati samo godinu ali zasto ne i cio datum.
Ako vec hoces godinu ili ako moze upisivati samo tekucu godinu onda se napravi procedura koja unosi godinu a korisnik unosi samo mjesec i dan.

miro35 03.09.2010 08:51
Predmet:Re: Datumska kontrola

U pravu si moram ovako, staviću ovo 365.Ali ću odvojit posebno ako je upisana manje godina i ako je upisana više godina.Baš sam imao više slučajeva i juče isto tako gdje korisnik upiše umjesto 2010 , 201.Posebno ima puno grešaka otkad je nastupila 2010.Kod 2009,2008,2007 bilo je manje grešaka.I onda mi traže na rekapitulaciji taj podatak a on je knjižen pod 201 godinom.

zxz 03.09.2010 11:56
Predmet:Re: Datumska kontrola

Gledaj ovako ja to rjesavam uglavnom na polju tabele takve stvari.
Gore sam ti napisao kako se to radi sa narebom between.
To se inace radi pri kreiranju tabela, medjutim vecina ne napise ni opsu polja a koamoli sta srugo da gleda.
Ja neznam sta ces ti unositi ali nevjerujem da smije biti veci datum od tekuce a isto tako manji od tekuceg napr mjesec ili 2.
Bilo kako bilo to napises na polju tabele.
Between daste()-365 and data()+365.

miro35 03.09.2010 14:26
Predmet:Re: Datumska kontrola

Evo ovako sam ja kod sebe stavio na dogadjaj AfterUpdate()
Private Sub DatumPrijema_AfterUpdate()
If (Date - Me.DatumPrijema > 365) Then
MsgBox "Pogrešan datum!", vbExclamation, "Nepotpun unos"
Me.DatumPrijema = Date
End If
If (Date - Me.DatumPrijema < -20) Then
MsgBox "Pogrešan datum!", vbExclamation, "Nepotpun unos"
Me.DatumPrijema = Date
End If
End Sub

zxz 03.09.2010 17:43
Predmet:Re: Datumska kontrola

Pa dobro moze se tako uraditi ako je manja aplikacija.