[ Zidar @ 14.02.2005. 15:28 ] @
Evo primer jedne veoma jednostavne Access aplikacije. Radi se o jednoj jedinoj tabeli, za pracenje prihoda i rashoda. Ovo je samo PRIMER, ne i radna verzija. Cilj je da se ukaze na neke vazne sitnice u dizajnu tabele i kako se resavaju neki svakodnevni zahtevi. Za pocetak, eto primera za razgledanje, i ocekuju se pitanja. Sutra cu da da ukazem na neke interesantne stvarcice u primeru. Kasnije cemo da ukazemo i na neke znacajne mane datog resenja i da mozda popravimo celu stvar, tako da lici na profesionalno uradjen posao.

Ako ima zaintersovanih, postavite zadatak za resavanje, na primer, potrebna aplikacija za "to i to". Odvojicemo temu na TOP i resavati korak po korak, tako da moze da se nauci ponesto.

[ Zidar @ 17.02.2005. 14:10 ] @
Tema je dobila 94 posete u tri dana, znaci ima interesa. :-)

Ima li pitanja?

Hocete li da dodamo neku novu funkciju, da program radi jos nesto, neki novi report?

Preporuka: konvertujte fajl u MDE i uocite kako se menjaju raspolozivi meniji i ikonice. Ponekad konvertovanje u MDE ukida potrebu za "custom built menus and toolbars"
[ Zidar @ 17.02.2005. 20:10 ] @
Nije vljada da je primer nedostajao svo vreme ?! Kao da je nestao kad sam temu pomerio na TOP. Izvinjavam se za zbrku.

Ajde da probamo sad.

Nije uspelo. Neka mi neko posaje e-mail na koji mogu da posaljem attachment od 55 K pa probajte upload. Meni ne uspeva. Kliknem Upoad uz poruku, kliknem Browse, pokazem fajl, pocne nesto da radi i kaze na kraju "Done" ali fajla nema na poruci.

[ Zidar @ 18.02.2005. 14:41 ] @
Uspelo je! Joce nece, danas 'oce. Sto ti je tehnologija, cudo jedno

Ako uspete da otvorite fajl, pogledajte dobro tabelu tblKnjigaBlagajne u design modu. Molim da uocite sledece:
- sva (ili skoro sva) polja su Required.
- neka polja imaju Default value i Validation rule.
- Uocite da jedno polje (Vrsta transakcije) ima lookup combo box sa hard kodiranim vrednostima, Limit to list=TRUE

Sve ovo je uradjeno pre nego sto je napisana i jedna linija koda ili kreiran bilo koji drugi objekat. Korisno je jos dodati Caption za svako polje (sto ja nisam ucinio, zaboravio sam). Zasto je ovo vazno? Zato sto pri kreiranju forme, sve ove properties ce biti dodeljene odgovarajucim kontrolama. Posebno vazno za Validation rule i Default values. Caption postaje labele uz kontrou na formu. Ovo stedi vreme utroseno na kreiranje formi i reporta.

Pre nogo sto nastavimo dalje, da skrenemo paznju na neke sitnice koje treba uraditi kad god kreirate novi MDB fajl:

1) Tools/Options/General - iskljuciti je sve u Name Auto Correct okviru. Ovo sprecava probleme tipa "MS Access will close, do you want to send error report to Microsoft..."

2) iako nemate ni jedan modul kreiran, otidjite u VBA prozor, i kao hocete da kreirate novi modul. Dok ste u VBA prozoru, kliknite na VBA meniju Tools/References i proverite da li je aktivna referenca na Microsft DAO. U mom slucaju jeste, DAO 3.5.

3) Na kraju, mozda ne primetite, ali se moze desiti da vas novi fajl bude u stvari Access 2000, a ne 2002, iako je verzija vaseg Access-a 2002 ili cak 2003. Za pocetak to ne smeta, ali je zgodno kasnije konvertovati fajl u 2002 format

Ja sam uradio korake 1 i 2, a fajl je jos uvek verzija 2000. Za sada ne smeta. Konvertovacemo kasnije.

U sledecoj poruci nastavicu komentar dizajna tabele tblKnjigaBlagajne.

[ Gomatami @ 18.02.2005. 23:54 ] @
Mislim da je ovo jako dobra tema. Generalno, trebalo bi samo malo korigovati Zidarov predlog o postavljanju tema tipa "Potrebna Access aplikacija za ..." na taj nacin da uvedemo praksu postavljanja primera sa svakim novim implementiranim resenjem tj. resenim problemom. Na kraju bi onda imali gotovu aplikaciju u javnom vlasnistvu, sto mislim da i treba da bude cilj ovakvog rada.

E, sad, ako neko zeli komercijalni rad - kada bude analizirao postavljene primere imace i resenje za cca 90% problema vezanih za bilo koju (materijalnu) pricu.
[ Gegula @ 19.02.2005. 08:18 ] @
Da li bi Zidar mogao postaviti i jednostavan programcic za pracenje alata na raznim lokacijama .Bio bi mu izuzetno zahvalan.Jako sam nov u accessu.
Pozdrav i hvala
[ obradorriuss @ 19.02.2005. 14:35 ] @
Jako fina aplikacija.....

Ali zanima me zasto mi prijavljuje jednu gresku...
Naime kada otvorim Main formu i zelim da vidim izvestaje, kliknem na "Dnevni prikaz uplata i isplata" otvori mi se obrazac za unos datuma tj. Od, Do....
Ja unesem datum formata 11/01/05 on mi automatski podesi (windows podesavanja koja sam namestio sam) na 11-Jan-05, unesem isto tako neki drugi datum 12/Jan-05 za polje "Do" i dobijem sledecu gresku:
Syntax error in date in query expression '(Datum between #01.11.2005.# AND #01.12.2005#)'

E sada prvo primetio sam da postoji modul koji ima opciju SQLDate koja automatski transformishe ovaj datum koji sam ja uneo u skroz drugacije (zameni mesec i datum). Sta bi bilo potrebno da mu uradim kako bi normalno prikazivao podatke??

Sta mu u funkciji SQL date u modulu znachi znak ispred datuma "#" ??
[ TomaParComp @ 19.02.2005. 15:12 ] @
Nije problem u funkciji ni u tarabi, problem je u zagradama, koje Access =
sam doda iz meni nepoznatih razloga. Any idea, "man who builds"?
[ Zidar @ 21.02.2005. 15:42 ] @
Hvala Obradorius, na reviziji i izvanrednom pitanju. nesto sa datumima izgleda ne radi ako valja ako je regional setting evropski. Naterao si ma da malo analiziram problem i evo rezultata:

Problem sa datumima:

1) Znaci "#" su 'date delimiters' - to kazuje Accessu da se radi o datumima a ne o stringovima. kad radite interaktivno, Access sam dodaje # gde treba, pa ni ne primetite sta se desava. probajte u nekom kveriju da ukucate datum kao parameter u Criteria polje i vidcete da Access sam dodaje #.

1) Funkcija SQLDate ne radi dobro ako vam regional settings nije za neku English speaking country. Probao sam sa Serbian i stvarno, sve je kako Obradorius kaze.

SQLdate treba promeniti. Evo sta se desava:
Code:

Function SQLDateZID(Date2Convert As Variant) As String
    'SQLDate = "#" & Format(CVDate(Date2Convert), "mm/dd/yyyy") & "#"
    SQLDateZID = "#" & Format(Month(CVDate(Date2Convert)), "00") & "/" _
    & Format(Day(CVDate(Date2Convert)), "00") _
    & "/" & Format(Year(CVDate(Date2Convert)), "0000") & "#"
End Function

Function SQLDate(Date2Convert As Variant) As String
    SQLDate = "#" & Format(CVDate(Date2Convert), "mm/dd/yyyy") & "#"
End Function

'U debug window probamo obe funkcije:
? date(), SQLDateZID(date()), sqldate(date())
21.2.2005     #02/21/2005#  #02.21.2005#

Dakle, za 21 Feb 2005 (21.2.2005) SQLDate vraca #02.21.2005# sto nije dobro za Access. MORA DA BUDE sa kosim crtama. Dakle, druga funkcija, SQLDateZID(date()), vratila je string kako treba #02/21/2005#. Dakle, kad se u programu koriste datumi, kao u nasem slucaju MORA DA BUDE datum u USA formatu, MM/DD/YYYY, sa kosim crtama.

Problem je u stvari Acccessova funkcija Format, koja konvertuje / u simbol koji je u vasem regional settingu, a onda ga SQL parser ne razume jer - nije /.

Predlazem da sad izmenite aplikaciju i da promenite funkciju SQLDate, tako da od sada pa nadalje glasi ovako:
Code:

Function SQLDate(Date2Convert As Variant) As String
'Forllowing code is OK for English speaking countries,
'but it does not work well for other regional settings
'    SQLDate = "#" & Format(CVDate(Date2Convert), "mm/dd/yyyy") & "#"

'Code that works for other regional settings
'(tested for Serbian Cyrilic):
    SQLDate = "#" & Format(Month(CVDate(Date2Convert)), "00") & "/" _
    & Format(Day(CVDate(Date2Convert)), "00") _
    & "/" & Format(Year(CVDate(Date2Convert)), "0000") & "#"

End Function




[ obradorriuss @ 21.02.2005. 18:32 ] @
Ha, evo odmah sam probao novu funkciju sto je Zidar napisao i sve radi perfektno....
Svaka cast....
Ja sam skontao da je neka greskica bila u datumima iz razloga sto sam imao slicnih problema sa nekim mojim aplikacijama i puno mi je zavisilo od regional settingsa.

Sve pohvale!

P.S. mnogo koristan programchicj za privatne svrhe

[ Zidar @ 22.02.2005. 14:42 ] @
Drago mi je sto vam se dopao primer. Neka mi bude dozvoljeno da komentarisme neke lepe stvari, ali i neke veome ruzne u vezi sa aplikacijom.

Lepo:
-Nadam se da je bar nekome pomogla ideja o organizovanju reporta i kverija. Na ovaj nacin nema potrebe za dodavanjem dugmica po formama i switchboardima kad god se doda novi report ili kveri.

-Videli ste primer reporta koji se otvara pomocu kriterijumske forme.

-Nesto sto mozda niste zapazili odmah, ali je vazno - glavna forma je unbound, i na nju je postravjena unbound subforma za unos podataka. Glavna forma je tako postala nosac unbound sunforme. Ovim smo dobili prostor za postavljanje dugmica, na glavnoj formi. Ako bi samo otvorili samo datasheet formu za unios podataka, ne bi imali kako da pozovemo forme sa reportima i kverijima. Lazem, mogli bi, jedino ako podesimo formin toolbar i menu bar a verujte mi to je ruzan posao.

-Postavljanjem datasheet forme na non-datasheet nosac resavate i jednu manu Access Switchboard wizarda. Switchboardi koje gradi Access ne dozvoljavaju da se otvaraju datasheeti ili kveriji, samo forme u Form view. Na ovaj nacin vi varate switchboard. Otvarate vasu nosac formu, a sta je na njoj to switchboard ne zna niti ga interesuje. Ako vam treba kveri da se vidi, napravite datasheet fomu, stavite je na nosac i pozovite nosac sa switchboarda. Mnogo lakse nego menjati kod na switchboard formi i Switchboard ites tabelu.

- Najbrzi nacin da se napravi datasheet forma NIJE Form Wizard. Najobcniji AutoForm je ubedljivo najbrzi i sva se polja lepo vide. Onda u properties promenite FormView na Datasheet i gotovo.

-Datasheet forma je jako zgodna za pretrazivanje i sortiranje - ne morate da programirate nista. korisnik brzo nauci da koristi A->Z ikone za sortiranje. Probajte da koristite Right Click i opciju Filter By Selection. U praksi, ako zelimo da vidimo samo uplate, postavimo kursor u bilo koje polje gde pise Uplata. right Click, filter by selection => samo se uplate vide. naucite korisnika da radi ovo i bice vam veoma zahvalan. Korisnik se oseca bolje ako mu dozvolite da i on nesto zna, a vi ne morate da se mucite i programirate razne Search/Sort opcije sa kombo boksovoma i rekrdsetima i slicno.

Ruzno:
- Ceo program ima malo veze sa realnoscu, iako je upotrebljiv. Izgleda kao da bi se nesto ovako moglo upotrebiti za knjigu blagajne. Samo izgleda, u stvarnosti je neupotrebljivo. Zasto? Kad se vodi knjiga blagajne, pisu se priznanice. Kad od nekoga uzmete pare, vi mu napisete priznanicu. Kad nekome date pare, on vama napise priznanicu. Znaci, svaka transakcija mora biti pokrivena nekim papirom. Kada se odstampa dnevni izvestaj, onda pametan blagajnik pogleda sve transakcije i pogleda sve priznanice. Mora da se slazu 100%. Za svaku transakciju mora postojati priznanica, i za svaku priznanicu mora postojati transakcija. Ako ovo nije tacno, nedostajace vam para u blagajni pa cete ili zavrsiti u zatvoru ili ce vam neko polomiti kolena bejzbol palicom. Znaci, nedostaje polje za cuvanje Prizanice.

- Podaci su potpuno nezasticeni od naknadne izmene, namerne ili slucajne. Zamislite da ste lepo sravnili priznanice i transakcije, odstampali dnevni izvestaj i odlozili ga u arhivu. Sutradan, greskom,nenamerno, niste ytoga ni svesni, prtvorite neki 20.00 DIN u 200.00 dinara. Ili obrisete rekord. A brisanje je veoma lako - kliknite na rekord selector i pritisnite taster Delete. Jos gore, mozete 'ladno da obrisete SVE rekorde u jednom potezu. Klinite na levi gornji ugao subforme, ili otkucajte Ctrl A. time ste selektovali SVE rekorde. DELETE taster i boom, sve je otislo. Ctrl Z ili Undo NE POMAZU. Znaci, potrebno je na neki nacin zastititi zavrsene rekorde od brisanja-izmene. Neko polje, nazovimo ga 'Zakljucano', tipa Yes/No bi odradilo posao, pa kad se setuje na Zakljucano=Yes ond aje rekord zakljucan. Onda na BeforeUpdate za formu stavite Cancel=me!Zakljucano i svaki pokusaj brisanja ili promene rekorda bio bi ignorisan. Nazalost, ako odete direktno u tabelu, mozete da radite sta hocete, tamo nema BeforeUpdate. Bilo bi dobro stoga da se podaci odvoje u poseban MDB, pa linkuju na vas programski MDB. Onda programski MDB napravite da bude MDE. Pre toga sakrijete database Window i ukinete tatser F11 za pozivanje DB window. Ovo je vec nesto ozbiljno. Korisnik startuje MDB i vid samo forme koje vi ponudite kroz program. Posto ne mogu da se vide tabele direktno, sve izmene, brisanja, dodavanja moraju da se rade kroz forme, gde vi imate kontrolu nad dogadjajima.

Svrha ovog primera je bila da demonstrira neke korisne metode u dizajnu aplikacije i dizajnu tabele i mislim da smo to postigli, bar delimicneo. Ako ima interesa, mozemo da pokusamo da popravimo dizajn tako da ove lose stvari budu ili eliminisane ili smanjene na neku prihvatljivu dozu rizika.

[ obradorriuss @ 22.02.2005. 14:53 ] @
Ako se ja licno pitam, naravno da ima interesa za tim!

Npr. ja sam prvi put video tu opciju dodavanja izvestaja u jednu formu....sto smo stvarno sachuvali mnogo prostora. E sada mozda ako bi se ta forma mogla malo lepse dizajnirati, ta sto nam pokazuje spisak Queryja i Reporta?
Inache aplikacija naravno da u trenutno napisanom stanju nije za prodaju ali to nam nije ni cilj trenutni (bar meni) , ja cju je iskoristiti za licnu evidenciju, da vidim koliko sa para trosi na pivo a koliko na neke druge stvari , samo cju prethodno linkovati tabele iz drugog mdb fajla.
Mene jos zanima samo kako se mogu odraditi ti potencijalni beckapi baze, to za brisanje, izmene i ostalo? Kontam da bi trebala da postoji jedna posebna tabela obrisanih rekorda koje cje aplikacija praktichno cutovati iz jedne tabele u drugu, ali kako posle da se sve to vrati...?
Imam neke i ideje, ali aj da ne bude da jedini ja nestikuckam na ovu temu da pustimo sta ce i drugi recji, mada nedaju se chuti... Tema ima jako puno poseta za kratko vreme i mislim da bi mogli da odradimo ovaj programchicj da bude bash bash mocjan i dobar samo su potrebna i druga misljenja!

Veseli pozdrav
[ Zidar @ 24.02.2005. 17:38 ] @
Evo malo dodataka aplikaciji. Cuveni report Dnevni IZvestaj Blagajne je dodat.
Report prikazuje sve transakcije u toku jednog dana, na dnu ispisuje sume uplata i isplata za tekuci dan. Takodje pokazuje prenos sa prethodne stranice :-)

Uocite upotrebu nevidljivih polja za izracunavanje "prenose sa prethodne strane"
U jednj od diskusija proslog meseca (sa RRibaric, mislim) sam objasnio kako se racuna prenos sa stranice na stranicu.
Uocite upotrebu RunningSum za ispisivane rednih brojeva na stranici. Isto tako, za section "Datum", section footer ima property ForceNewPage=After section. Ovo omogucuje stampanje dnevnih izvestaja za vise dana, svaki na svom listu.

Uocite na reportu dve event procedure - OnOpen i OnNoData. Na OnOpen zatvaramo formu koja je pozvala report. Na NoData stopiramo otvaranje reporta ukoliko zadati uslov ne obezedjuje podatke za report. Zbog NoData eventa smo u formi koja poziva report promenili malo Error handler, tako da nam sakriva Accesovu poruku o gresci "Open Report was cancelled by user".

Forma koja otvara report dobijena je prostim kopiranjem posdtojece forme za jedan od postojecih reporta. Samo sam promenio konstantu u form modulu koja cuva ima reporta za otvaranje, i sve lepo radi. Onda sam se setio da na form caption stavim ime reporta (Form onOpen). P a sam se setio da se dnevni izvestaji stampaju uglavnom za jedan izabrani dan. posto su na formi dva datuma Od i Do, onda mora biti Od=Do. To sam resio jednom linijom koda u AfterUpdate eventu za kontrolu txtDatum_Od.

U sledecem nastavku mozda ubacimo kalendar za biranje datuma :-)

I naravno, dugujem vam tehniku za zakljucavanje transakcija i kakvu-takvu zastitu podataka. Rekao sam "kakvu-takvu", a ne potpunu (security, passwords, users, permissions). I "kakva-takva" bice dobra za 99% slucajeva.

:-)
[ Gomatami @ 24.02.2005. 23:00 ] @
Stigao je "sledeci nastavak"!

Znaci, ovako: sada imamo nad poljem "Datum" OnDblClick PopUp kalendar, a nad poljem "Iznos" kalkulator.

'Ajmo dalje!
[ obradorriuss @ 25.02.2005. 13:30 ] @
Lepo Bogme......
Moracju i ja nesto da doradim chim uhvatim malko vremena
[ Zidar @ 25.02.2005. 15:34 ] @
Bravo za kalendar! Pa jos i preveden ;-)

Ajde sad neko da unaci kalendar na pomocne forme koje otvaraju reporte. ne samo na double click, nego i kao dugmence sa strane. Ako je samo double click, onda korisnik mora da zna da ta opcija postoji. Ako postoji i dugmence, onda je lakse.


:-)
[ bobiris @ 26.02.2005. 14:44 ] @
Jos jednom bravo za kalendar, odlicna stvar.
Ja bih se malko vratio na SQLDate funkciju koju je Zidar objasnjavao i menjao (/-kosa crta). Kod mene se javlja drugi problem. Imam sledeci kod:
Code:

Private Sub cmdPrevievRecord_Click()
On Error GoTo Err_cmdPrevievReport_Click
    
    Dim strDocName As String
    Dim strWhereCondition As String
    
    strWhereCondition = "Datum Between " & SQLDate(Me!txtOdDatuma) & " AND " & SQLDate(Me!txtDoDatuma)
    strDocName = "Pregled_prihoda"  '<---- ime tvog reporta
    DoCmd.OpenForm FormName:=strDocName, View:=acViewNormal, WhereCondition:=strWhereCondition

Exit_cmdPrevievReport_Click:
    Exit Sub

Err_cmdPrevievReport_Click:
    MsgBox "Pogrešan unos datuma. Ponovite!"
    Resume Exit_cmdPrevievReport_Click
      
End Sub


i kao gresku dobijem: "Ambiguous name detected: SQLDate".

Funkciju sam napisao (prekopirao) u Modul1 kako je Zidar rekao, znaci:
Code:

Function SQLDate(Date2Convert As Variant) As String
SQLDate = "#" & Format(Month(CVDate(Date2Convert)), "00") & "/" _
    & Format(Day(CVDate(Date2Convert)), "00") _
    & "/" & Format(Year(CVDate(Date2Convert)), "0000") & "#"
End Function


Zna li neko u cemu je problem.

Drugi problem se odnosi na Gomatamijev kalendar. Probao sam da ga primenim u mojoj aplikaciji, (importovao sve module i formu) ali se nista ne desava kada kliknem na neki datum. Ako pak kliknem dvaputa, onda se datum unese gde treba i forma sa kalendarom se zatvori. Primetio sam da je u primeru koji je Gomatami prilozio stvar drugacija, tj. kada se klikne na neki datum, on promeni izgled (sunken), pa je onda potrebno kliknuti na "OK" da bi se kalendar zatvorio i datum smestio tamo gde treba.
[ Gomatami @ 27.02.2005. 10:04 ] @
Zao mi je, ali vec ceo dan pokusavam kojekakvim ceprkanjima po kodu da dodjem do greske koja se tebi javlja. I nista.

Pokusaj da napravis test bazu, da samo ubacis kalendar i jednu tabelu. Ako to proradi kreni dalje sa uvozom jednog po jednog objekta.

Druga varijanta je Zidar :)
[ Zidar @ 28.02.2005. 13:13 ] @
Za Bobiris: greska "Ambigious function name.." javlja se kad imas istu funkciju definisanu dva puta, u isto ili dva razlicita modula. meni se cini da jos uvek imas "staru" funkciju SQLDate i ovu "novu". Obrisi staru i zadrzi novu. probleme ove vrste izbeci ces ako povremeno izvrsis Compile komandu u VBA prozoru. Kompilacija ce ti odmah ukazati na duplirane funkcije.

:-)
[ bobiris @ 04.03.2005. 10:24 ] @
Tako je. Ustvari, uvezao sam Gomatamijev modul zbog kalendara, a u tom modulu takodje postoji funkcija SQLDate. Izbrisao sam je i sada sve radi.

Ostao je jos prvi problem (upozorenje pre brisanja tabela), koji jos nisam resio...
[ obradorriuss @ 07.03.2005. 19:52 ] @
Evo i ja sam malo umesao prste u aplikaciju...ali nisam nishta novo doprineo.
Naime malo su formatirani izgledi izvestaja, tabele su prebachene u fajl baza.mdb koji treba da se nalazi u C:\KnjigaPrihodaRashoda\ , te tabele su linkovane, polja u tabelama i polja na formima i izvestajima u kojima je currency tj valuta bila $ prebacheno je da bude Din (tj dinar ) ...

Saljem 1 zip fajl.

Znahci aplikacija zajedno sa bazom neka se nalazi u direktorijumu C:\KnjigaPrihodaRashoda\

P.S. tabele su ispraznjene tako da AutoNumber krecje od broja 1
Imao sam malo vremena pa sam bar malo umeshao prste.

Veseli pozdrav...
[ Gomatami @ 21.03.2005. 00:14 ] @
Posto mi je jako trebalo neko resenje u vezi zastite (kakve - takve) aplikacije u Accessu, zagrejao sam stolicu i napravio nesto.
Koristio sam neka od ponudjenih resenja na forumu (uz sitne prepravke), i cini mi se da je ovaj oblik zastite dovoljan za 80% slucajeva.


Malo se igrajte, pogledajte, pa da radimo dalje.

P.S.

Sve opcije (Registracija korisnika, serijski broj) nisu dovedene do kraja, vec su samo postavljene kao prikaz kako bi moglo da izgleda.

P.S.2

Kor. ime moze da bude bilo sta, a sifra je 14789. U odredjenim situacijama imacete 8 sec. da ukucate sifru i oslobodite bazu za "komotan" rad.


[ adenis @ 22.03.2005. 13:29 ] @
@Gomatami
nije lose, ustvari nema sanse da je otvorim, ali ni ova vrsta zastite ne sprijecava import postojecih podataka u drugu bazu :-).
[ tandrli @ 23.03.2005. 07:03 ] @
pozdrav svima
ovo je vjerujem početničko pitanje
pa da vas pitam
koja je šansa na ovom prozoru postaviti npr. dugme save kako bi ovo što sam danas unjeo u bazu
zapamti u final report kojeg ja kasnije mogu da pozovem i printam

i još nešto padajući meni sa datumima ako je danas 23.03.05 i ja izaberem drugi datum
kako da mi se resetuje "unos" u bazi
npr. ako danas unesem neke vrjed. i kad biram padajuci sa datumima on sve nulira
[ Cyberghost @ 14.04.2005. 21:05 ] @
Citat:
Gomatami: Posto mi je jako trebalo neko resenje u vezi zastite (kakve - takve) aplikacije u Accessu, zagrejao sam stolicu i napravio nesto.
Koristio sam neka od ponudjenih resenja na forumu (uz sitne prepravke), i cini mi se da je ovaj oblik zastite dovoljan za 80% slucajeva.


Zastita je super samo sto kod mene nece da radi, kaze nije registrovana za rad na ovom racunaru, ukucam sifru 14789 a user sdfgf ali jok ?
[ Gomatami @ 14.04.2005. 21:57 ] @
Restartujes bazu i ce da radi.
[ Cyberghost @ 15.04.2005. 07:42 ] @
A kako se restartuje baza kada je sve zakljucano ako ne ukucam sifru izbaci me ?
[ Gomatami @ 15.04.2005. 13:45 ] @
Posaljes, 20 EUR na moju adresu i taa daaa! Proradilo!
Salu na stranu, odgovor je sledeci:

1. Moras biti jako brz jer ces imati samo 8 sec da zavrsis posao
2. Kada se baza podize, posle pojavljivanja ekrana sa nazivom aplikacije, odmah iza : kod serijskog broja klikni misem dok se ne pojavi ono sto treba da se pojavi.

Znaci: vidis startup ekran => kliknes odmah pored dve tacke, iza serijskog broja
[ Cyberghost @ 16.04.2005. 07:15 ] @
Ok usao sam ali pojavljuje SECURITY SETTINGS:
REGISTRACIJA:
SHIFT:

ZATVORI

Kako sad ?
[ Gomatami @ 17.04.2005. 17:18 ] @
Hajde do ovo doteramo do kraja! :))

Pazi ovako! Kada ti se pojavi prozor sa SECURITY SETTINGS i poljima
REGISTRACIJA: neregistrovan i SHIFT: iskljuceno ti onda budes pun srece i
uradis sledece:

1) REGISTRACIA: promenis (posto imas "onu strelicu na dole") vrednost na
REGISTROVANO. To znaci da ce na svakoj masini konkretni *.mdb fajl raditi
svoj posao, ali bez mogucnosti "gledanja" tabela, upita i ostalih sistemskih
vrednosti. Znaci, ona fora sa drzanjem Shift tastera prilikom podizanja
baze, jednostavno nece raditi, kao ni kada posle pokretanja baze pokusas da
pritisnes F11. Ovo, naravno vazi za manje verzirane korisnike Officea, posto
se *.mdb stiti jedino sa *.mde.

E, sad. Ako bi hteo da dozvolis ljudima da "virkaju od pozadi", sto ti toplo
ne preporucujem, ti onda uradi sledece:

2) Kod polja SHIFT: vrednost iskljucen promeni na UKLJUCEN. Na ovaj nacin
ces omoguciti svakome da vidi sve ono sto si nocima stvarao da bi ti baza
konacno odradjivala posao za koji je predvidjena.

Naravno, ona verzija koja stoji na tvom racunaru, podrazumeva se da je u
*mdb formatu, da BUDE REGISTROVANA i da taster SHIFT BUDE UKLJUCEN. Sve to
naravno da bi mogao da je odrzavas i sredjujes Marfijeve provokacije.

Nadam se da ce sada sve biti uredu.
[ Cyberghost @ 17.04.2005. 19:54 ] @
Sve sam ja to uradio i kad podesim REGISTROVAN i UKLJUCEN na kraju opet
moram da kliknem na ZATVOTI i baza se jednostavno zatvori kada je ponovo
pokrenem sve u krug ? Nisam bas toliko glup, u cemu je fora prozor SECURITY
SETTINGS se nikad ne zatvara i ne dozvoljava mi rad ? Jedino sam uspeo da
ukljucim SHIFT i da udjem u bazu i pokrenem je peske direktno preko forme
MasterForm i da radim sa njom ?!
[ Gomatami @ 17.04.2005. 22:35 ] @
Niko nije ni pomislio a ni rekao da si glup. Samo sam bio u fazi dobrog
raspolozenja i u malo saljivijem tonu pisao odgovor iz najiskrenije zelje da
ti pomognem.

Uz poruku saljem TOTALNO NEZASTICENU verziju. Znaci, registrovano i shift
omogucen. Pokusaj sa ovim fajlom pa cemo videti da li je leglo.

Jos jednom, nemoj se ljutiti zbog prethodnog posta. Nije postojala nikakva
zla namera. Svi mi na ovom forumu smo "glupi" i stalno ucimo nesto novo.
Neko se prikljuci sa vise znanja i bude u blagoj prednosti. Neko je
skromniji po tom pitanju (i ja spadam u tu grupu), ali mu zato drugi clanovi
priskoce u pomoc i svi guramo dalje.
[ Cyberghost @ 18.04.2005. 07:06 ] @
Ma prijatelju kakva ljutnja nego sam popizdeo sto nisam mogao da udjem
pokusao sam 20-ak puta i prso :) Zastita je skroz dobra samo ne znam sto ja
nisam uspeo da odradim do kraja kako treba. Primedba: Povecaj vreme sa 8sec
na 15-20sec ja nisam hteo da prckam po bazi i da sam menjam.

P.S. Pa sad si poslao opet sa zastitom sve je isto !!!

Veliki pozdrav
[ Gomatami @ 18.04.2005. 17:01 ] @
Evoga sad na 60 sec.

Znaci postavis sva podesavanja (na registrovano, i na shift omogucen), kada kliknes na Close, baza se zatvori. Kada je ponovo upalis tek tada podesavanja postaju vazeca.

[ Gomatami @ 19.04.2005. 23:02 ] @
I Cyberghost, sta bi na kraju? Da li si uspeo ili odustao?

P.S.
Nepisano pravilo na forumu je povratna informacija od onoga ko postavi pitanje, ma kakav da je rezultat.
[ Cyberghost @ 20.04.2005. 07:22 ] @
Imao sam guzvu na poslu pa ne stigoh, ovako, ukucam User:sasa, Password: 14789, REGISTROVAN, UKLJUCEN, zatvorim. Otvorim ponovo User: sasa, pass:14789 udjem u program ali i dalje mi se ne sklanja Security Settings !? Da nije do mene nekim slucajem, jel ima jos neko ko je ovo probao na svom racunaru osim Gomatami-ja ?


Pozdrav
[ Kiro @ 20.04.2005. 09:08 ] @
Ja sam to probao prvi put kada je Cyberghost, pardon mislim Gomatami,
uploadovao aplikaciju i nikakvih problema nisam imao jedino sam morao na brzinu ukucati user i pass. i sad pri pokretanju odmah se pojavljuje forma ne znam kako se zove ona glavna za unos prihoda i rashoda.

[Ovu poruku je menjao Kiro dana 20.04.2005. u 23:00 GMT+1]
[ Gomatami @ 20.04.2005. 21:54 ] @
Cyberghost, skoro da smem da se kladim da ti problem prave bezbednosna podesavanja u Accessu! Znaci, proveri kako stoje, da li je omogucen rad makroa.
[ Vladimir Djuric @ 20.09.2006. 16:55 ] @
I, sta bi na kraju?
Radi li ova zastita?
[ zikret @ 19.11.2008. 19:30 ] @
Pozdrav svima.
Razgledao sam i proanalizirao ovu temu i svidjelo mi se sve ovo. Naravno ove informacije su mi itekako pomogle.
U primjerima koji su zakaceni sve je ok sem jednog a sto je meni potrebno, zbog toga i pisem nadajuci se da ce mi neko pomoci.

Naime, ako u toku jednog dana imamo samo uplatu ili samo isplatu, u reportu ne mozemo dobiti stanje blagajne!

Postoji li rjesenje i kako se moze rjesiti taj problem.

nadam se da sam bio koliko toliko jasan i da ce neko razrijesiti taj problem...
[ Zidar @ 19.11.2008. 21:20 ] @
Citat:
Naime, ako u toku jednog dana imamo samo uplatu ili samo isplatu, u reportu ne mozemo dobiti stanje blagajne!

Tacno :-(

Pravilo: cim neko pocne da koristi testiranu i zavrsenu aplikaciju, u prvih 5 minuta ce otkriti ozbiljan problem.

Popravka: odes u izvestaj ja sam na primer isao u repDnevniIzvestaj i u polju Text28 (ono koje ima labelu "Stanje blagajne = A-B+C =") promenis formulu.
Sada pise: =[txtUplateDanas]-[txtIsplateDanas]+[txtPrenosOdRanije]
Treba da pise: =nz([txtUplateDanas],0)-nz([txtIsplateDanas],0)+nz([txtPrenosOdRanije],0)


[ zikret @ 20.11.2008. 14:40 ] @
Ok hvala,

Ja sam bio rijesio na taj nacin sto sam u polje ukunog ulaza stavo =Sum(IIf([VrstaTransakcije]="Uplata";[Iznos];0)) tako isto i za izlaz umjesto Null stavio sam 0.

ne znam jel to ok

pozdrav i hvala

[ MachorBG @ 27.09.2014. 16:57 ] @
Drugari,
ja sam uzeo ovu bazu, poceo da je modifikujem za neke moje potrebe, ali sam shvatio da se ja u ovo definitivno ne razumem, access mi neide . Ima li neko od vas vremena da mi pomogne da mi ovo proradi.

Hvala svima unapred
[ IKA RISTOVIĆ @ 28.09.2014. 14:04 ] @
Evo, valjda ce valjati.
Prvo moraš da ubaciš reference, uđeš u reference i izabereš sl.
- Microsoft DAO 3,6 object liberary i
- Microsoft access 11.o object liberary.
obavezno ih oznaći.
U glavnoj formi imaš dugme "poveži bazu" koja poziva i otvara formu Linc u kojoj ces izabrati bazu koju povezuješ,
nadam da di je jasno.
Pozdrav Ika
[ MachorBG @ 28.09.2014. 16:50 ] @
Pozdrav IKA,

ja sam pocetnik u ovoj prici, i jos bas i nisam nesto talentovan, a ocigledno da mi je ovo previse krupan zalogaj, totlano sam se pogubio izmedju mojih zelja, mogucnosti i onoga sto sam cackao po ovom programu.

ja sam ovde dodao kolone SumaCek, Suma Kartica, SumaEur, onda sam pokusao da definisem sta koja treba da odradi i vec tu sam napravio gresku, u Stanje blagajne ispod Ukupno isplate i ukupno uplate Eur, mi ispisuje Stanje blegejne koje je vezano za Dinare, u Kolone SumaCek i SumaKartica mi neda da upisem ni jedan broj stalno mi izbaucuje poruku da mora biti upisan broj veci od 0, a da ne govorim da mi nista nije jasno sta si hteo da uradim:
>Prvo moraš da ubaciš reference, uđeš u reference i izabereš sl.
- Microsoft DAO 3,6 object liberary i
- Microsoft access 11.o object liberary.
obavezno ih oznaći.<

Hvala ti puno na pomoci, trudu i vremenu
[ IKA RISTOVIĆ @ 28.09.2014. 17:08 ] @
Dobro jasno mi je da nemaš iskustva.
Pogledacu bazu pa cu ti javiti šta može da se uradi,
sobzirom da ni ja nisam neki majstor pozivam ostale da se ukljuce i pomognu.