Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Ogranicenje broj unosa !

[es] :: Access :: Ogranicenje broj unosa !

[ Pregleda: 3197 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Cyberghost
Aleksandar Jovanović
Programer
S U M A D I J A

Član broj: 14674
Poruke: 813
213.244.200.*



+1 Profil

icon Ogranicenje broj unosa !05.10.2005. u 19:25 - pre 231 meseci
Nakon razgovora sa Zidarem postavljam ovu temu. Naime cilj je da se nakon unosa odredjenog broja zapisa u tabelu ista zakljuca za dalji unos, odnosno da se na neki nacin ogranici broj unosa u odredjenu tabelu.
Moja namera bi sluzila za sledece: Kada napravim gotovu aplikaciju i predam je klijentu na koriscenje (testiranje) da nakon odredjenog broja unosa dobije zabranu za dalje koriscenje, nakon cega bi morao da se odluci da li kupuje projekat ili ne !
Every program is either trivial or it contains at least one bug.
 
Odgovor na temu

banem
Kikinda

Član broj: 16619
Poruke: 583
*.smin.sezampro.yu.



+15 Profil

icon Re: Ogranicenje broj unosa !05.10.2005. u 21:34 - pre 231 meseci
Verovatno ciljaš na demo verziju programa.

Čini mi se da to nije veliki problem. Pre svega moraš da napraviš zaštićenu bazu: napraviš prava pristupa, onemogućiš AllowByPassKey (isključiš pokretanje sa pritisnutim SHIFTom) i kontrolišeš rad sa podacima formama. U formi u kojoj se unose podaci treba da proveriš broj zapisa (izbrojiš recorde) tabele i zatim kada neko pokuša unos daš poruku "Demo verzija omogućava xy".
Pozdrav,
Branislav
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Ogranicenje broj unosa !05.10.2005. u 21:56 - pre 231 meseci
U tabeli moras da imas neko numericko polje, moze i Autonumber, ime polja recimo Brojac. Stavis validation rule za polje Brojac
Code:
<50


Ovo ce da funkcionise pod uslovom da klijent ne vidi ili ne moze da menja dizajn tabele. Da se ovo postigne, moze se postaviti Access Security, ali to moze da bude komplikovano. Sta bih ja preporucio:
1) aplikacija da sedi u MDE fajlu
2) unutar aplikacionog fajla stavis jednu tabelu koja se zove usysBrojac Pazi, prefix usys je vazan - tako tabela postaje sitemska i nevidljiva. Da bi je video, moras da ides u Tools/Options i cekiras system objects. Tabela da ima dva polja: Brojac i Limit, oba su Long Int. Za limit stavite Default=20 ili koji broj hocete da bude vase ogranicenje
3) Unseite jedan rekord u tabelu, Brojac=0
4) aplikacija ima StartUp formu, ta forma ima na OnOpen tri linije koda koje proveravaju najvecu vrednost u polju Brojac i upisuju rekord u tabelu usysBrojac, ko moze. Kad ne moze vise da se upisuje, zbog validation rule, stavis da se aplikacija zatvara uz pozdravnu poruku "Zao mi je, istekao ti je rok upotrebe, plati ako hoces jos"
5) pre nego sto pretvorite MDB u MDE, stavite Tools/Oprtins da se ne vide system objects i Tools/StartUp da se ne mogu korsistiti Access Special keys
6) napravite MDE file
4) Posto je fajl MDE, korisnik nece moci da uopste pozove Tools/Options, pa nece moci niti da vidi tabelu, niti da vidi kod na formi koji ovo radi.

Vidi zakaceni primer, bice jasnije.Imas MDB i MDE, vidi kako radi.

P.S: i ovo sve sto ti je Banem rekao vazi se, SHIFT Enter i ostalo.

[Ovu poruku je menjao Zidar dana 05.10.2005. u 22:57 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
195.29.146.*



+8 Profil

icon Re: Ogranicenje broj unosa !06.10.2005. u 14:15 - pre 231 meseci
Pa to bi tako bilo ali cemu raditi jos jednu tabelu
Znaci imas dve baze.
1 baza s programima koju kasnije pretvoris u *.mde
2 baza sa tablicama u koju upisujes podatke
tu drugu bazu zastitis s paswordom


e sad , kad startas tu svoju bazu pozoves link

recimo .....

......................................

ppdef = Application.CurrentProject.Path
ppdef = ppdef + "\matpod.mdb"
dput = Dir(ppdef)


If Len(dput) < 3 Then
MsgBox "NE POSTOJI BAZA " + ppdef
DoCmd.Quit
Exit Sub
End If

' linkamo tablicu s passvordom

curpasword = ";pwd=" + "paswordzaonubazu"

Dim db As Database
Set db = DBEngine.Workspaces(0).OpenDatabase(ppdef, False, False, curpasword)
' brisemo postojeci link , jer bi inace linkao kao maticni1 , pa maticni2 itd...

DoCmd.DeleteObject acTable, "maticni"
' i tu linkamo tablicu koju zelis , ili vise njih
DoCmd.TransferDatabase acLink, "Microsoft Access", ppdef, acTable, "maticni", "maticni", False
Set db = Nothing

----------------------------------------

' jos bi sad tu trebo dodati kod koji ti prebroji koliko ima unesenih polja
ili podataka u tablici

sutra ga ubacim ako ces trebat, sad mi se neda


Pozdrav Trtko




 
Odgovor na temu

Cyberghost
Aleksandar Jovanović
Programer
S U M A D I J A

Član broj: 14674
Poruke: 813
213.244.200.*



+1 Profil

icon Re: Ogranicenje broj unosa !06.10.2005. u 15:23 - pre 231 meseci
Nekako mi se Zidarevo resenje svidja, implementiracu ga ovih dana pa cemo da vidimo rezultate. Mislim da je ovo prilicno "fino" resenje za zastitu baze :)

Pozdrav, i hvala svima
Every program is either trivial or it contains at least one bug.
 
Odgovor na temu

[es] :: Access :: Ogranicenje broj unosa !

[ Pregleda: 3197 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.