[ savetnik.org @ 21.03.2010. 01:54 ] @
Zdravo ljudi dugo vas pratim na forumu, početnik sam sa accesom.
Pretpostavljam da ću postaviti pitanje na koje već negde postoji odgovor na forumu ali ja iz tih odgovora nisam uspeo da shvatim.
Dakle pravim malu bazu za evidenciju robe u carisnkom skladištu. Sama baza ima glavnu tabelu u kojos se vode podaci i još 2-3 tabelice sa šiframa koje se ponavljaju.
Znači ništa kompleksno 2-3 reporta, 2-3 query ja. to je to. Glavna tabela naravno ima autonomber polje koje je skriveno na formi ali meni treba još jedno polje koje bi radilo isti posao ali koje bi moglo da se menja po potrebi i naravno nije mi potrebno da ono bude po redu u bazi ali mi je bitno da ono generiše neki sledeći broj u odnosu na predhodni zapis a da ja mogu da ga promenim ako mi to zatreba.
[ Trtko @ 21.03.2010. 08:24 ] @
Ako ti je to dodatno polje numerik onda možeš koristiti funkciju DMAX s kojom dobiješ največi
zapisani broj u bazi.

Pa bi to izgledalo ovako

brojnaformi=NZ(DMAX("poljeutablici","kojatablica"),0) + 1

NZ ti je funkcija s kojom staviš neku vrijednost u varijablu ako je vračeni rezultat NULL ili prazno

[ Zoran.Eremija @ 21.03.2010. 09:34 ] @
Eto samo da dopunim kolegu Trtka sa primerom
[ savetnik.org @ 21.03.2010. 23:09 ] @
Ljudi hvala na brzom odgovoru ali izgleda nisam dobro postavio pitanje, dakle radi se o jednoj tabeli (od koje sam napravio i formu) što znači nije posebno novo polje na formi.
Ima polje ID /autonomber, redni broj /nomber, datum ... itd.
ID ne prikazujem na formi, samo redni broj e to polje bi ustvari trebalo da generise neki broj ali bi trebalo da mogu da ga izmenim.
Na žalost nisam ukapirao kako da attach na forumu primer pa da možete da vidite (i to bi bilo ok da mi kažete kako se radi jer će mi trebati).
[ Zoran.Eremija @ 21.03.2010. 23:53 ] @
Da li je sada ovo sto ste zeleli i prilogu?

Osim toga pogledajte i drugi kompleksniji primer http://www.elitesecurity.org/t393108-0#2535990
[ savetnik.org @ 22.03.2010. 08:18 ] @
Da to je to odprilike samo jos da mogu brojeve da edit u formi?
[ galac1968 @ 22.03.2010. 09:35 ] @
Ovo sto ti je Trtko rekao stavis u Default Value i radice ti kao autonumber koji uvek povecava za jedan vrednost novog unaosa. Ja to koristim ,normalno,za brojeve faktura.
[ Zoran.Eremija @ 22.03.2010. 09:59 ] @
Evo korigovano. Ne bih ostavio slobodno polje za unos Rednog broja sem ako priroda stvari to zahteva...
Korekcija na drugoj slici je u svrhu zastite od ponavljanja dva ista redna broja..


[ savetnik.org @ 22.03.2010. 11:59 ] @
Zorane hvala primenio sam po uputstvu iz priloga ali mi izbacuje #Name? umesto broja.
Ajde recite mi kako da prikačim fajl pa da vidite.

[Ovu poruku je menjao savetnik.org dana 22.03.2010. u 20:16 GMT+1]
[ Zoran.Eremija @ 22.03.2010. 12:14 ] @
Nakon toga sto napisete poruku i kliknete na "Posalji poruku" otvorice se strana na kojoj u dnu imate dugme "Upload uz poruku" i tada izaberite fajl koji zelite da posaljete i onda kliknite na dugme Upload
[ Zoran.Eremija @ 22.03.2010. 16:34 ] @
Ako vam nije problem da konvertujete bazu u Access 2003 onda bih mogao da vam pomognem.
[ savetnik.org @ 22.03.2010. 19:19 ] @
Hehe ae to mi je sad poseban problem jer sam se bas opustio u accessu 2007 i sada mi ne da konverziju zbog ne kompatibilnosti.
[ Zoran.Eremija @ 22.03.2010. 19:24 ] @
Nazalost ja jos nisam presao na 2007 racunam da ce se naci neko pametan u razvojnom timu Access-a i da se odrekne ili vrati mogucnost kreiranja menija kao u prethodnim verzijama. No bez obzira na to pokusajte da prebacite u raniju verziju da vidim sta je problem pa cu vam reci sta da radite
[ Catch 22 @ 22.03.2010. 20:18 ] @
Htedoh samo da pomognem, bez namere da se mešam u vaš dijalog, ali avaj...

[att_img]

Pitam se samo na šta će nam ličiti Access 2010?!?
[ Zoran.Eremija @ 22.03.2010. 21:13 ] @
Ma slobodno, bitno je da se moze pomoci ako se moze, a sto se 2010 tice ne znam sta im je imam osecaj da projektom upravlja neka nova ekipa. Znam cesto puta da kazem kada neko nesto napravi trebalo bi da prvo on licno koristi pa ako prezivi to je to. Ne mogu da razumem da se ide napred sa korakom unazad.
[ Catch 22 @ 22.03.2010. 22:00 ] @
^ OK, za početak izgleda da bi valjalo sve ponovo, jer postoje neki elementarni problemi:

1. Nisu definisane nikakve relacije među tabelama



2. Prijavljuje grešku na nivou modula
[ galac1968 @ 22.03.2010. 22:08 ] @
Povodom Accessa 2010 da kazem da ima korisnih promena ALI,ALI ipak je to samo sminkanje. Auto ide i sa starom farbom ali je lepsi kad se prefarba.Jet masina je ista i to je to.Koristim beta verziju i nisam bas odusevljen,mozda ce sa servis packom biti bolje,videcemo
[ Zoran.Eremija @ 22.03.2010. 22:35 ] @
Prvo da se zahvalim kolegi @Catch 22 na pomoci jer nemam instalisan Access 2007. A greska koja se pojavljuje odnosi se na kod koji sam dodao na dogadjaj BeforeInsert

Private Sub Form_BeforeInsert(Cancel As Integer)
Me.RedniBroj = Broj
Me.Recalc
End Sub

I ovaj i naredni dogadjaj

Private Sub Form_AfterInsert()
DoCmd.Requery "Broj"
DoCmd.Requery "RedniBroj"
End Sub

dodelio sam iz razloga konkurentnog rada tj ako vise korisnika unosi u isto vreme tako da sam isimulirao situaciju koja je slicna kao kod AutoNumber. Podatak kod AutoNumber-a se insertuje u trenutku Before insert.

Zasto javlja gresku ne znam jer na verziji 2000-2003 radi besprekorno. Isprobao sam u konkurentnom radu vise od 60 korisnika u isto vreme. Ako imate malo korisnika mozete izbaciti taj kod.

A sto se tice komentara kolege @Catch 22 u vezi relacija slazem se s njim to je prvo sto se mora regulisati. Nema smisla koristiti relacioni model bez relacija. To bi vam bilo isto kao kada bi imali automobil koji isma savrsenu klimu a vi vozite sa otvorenim prozorima...

Takodje se pridruzujem komentaru kolege @galac1968 s time sto bih dodao da jedino sto mi se dopalo kod Access-a 2007 je search engine.
[ golic @ 22.03.2010. 22:49 ] @
Evo da pomognem, mada nemam verziju 2007, ali kod mene na 2003 radi.

@Catch22 Kod mene je istu gresku prijavljivalo ali je problem bio do funkcije DMax

Broj= Nz(Dmax("PoljeIzTabele]","NazivTabele"),0)+1 treba dobro obratiti paznju na funkciju.

[ Zoran.Eremija @ 22.03.2010. 22:53 ] @
@golac, hvala ocigledno greska u kucanju tj prekucavanju

Broj= Nz(Dmax("PoljeIzTabele]","NazivTabele"),0)+1

Broj= Nz(Dmax("[PoljeIzTabele]","NazivTabele"),0)+1
[ smal @ 22.03.2010. 23:09 ] @
I ja sam se malo igrao sa 2010 beta verzijom, i sviđa mi se:) Dizajn i interfejes je, rekao bih primetno bolji, logičniji i nekako normalniji nego u verziji 2007, mada opet dosta i liči. Nekako su uspeli da naprave fino izbalansirani miks između starog sistema menia i novog ribbona... Tu su, čini mi se napravili dobar pomak unapred i poslušali vapaje armije korisnika starijih verzija... M$ ipak ne može mimo sveta, mora neko i da kupi taj Access :)

Što se tiče accdb formata baze, on je valjda isti kao i u 2007-ici, a udarna i glavna novina je web format baze za upotrebu na SharePoint serveru.
Iako Access 2010 ne može da kreira prave web aplikacije, ovaj hibrid predstavlja jedan zaista moćan Clijent/Server mehanizam - cela aplikacija je na serveru, a prvim startovanjem se kešira lokalno na klijentsku mašinu i takva aplikacija radi nad "živim" tabelama. Ukoliko se veza iz nekog razloga prekine, može se nastaviti rad u offline modu, a podaci će se sinhronizovati čim se veza ponovo uspostavi... I to sasvim brzo i transparentno za korisnika. Lepo :)

Sa druge strane, to dosta komplikuje situaciju, takav Access više nije alatka za one man show. Konfigurisanje i održavanje SharePoint servera nije niti jeftino niti jednostavno, i tu na scenu stupa timski rad stručnjaka... Videćemo koliko će ovakav koncept da zaživi u praksi..

PS. Sorry za offtopic
[ Catch 22 @ 22.03.2010. 23:12 ] @
Citat:
golic: Evo da pomognem, mada nemam verziju 2007, ali kod mene na 2003 radi.

Da li mi uopšte pričamo o istom uzorku baze(?)
Nije mi poznato da Access 2003 ume da otvori *.accdb fajlove (?)

PS
Na drugom hardu imam Access XP SP3 (2002), a verziju 2003 nemam nigde pri ruci...
[ savetnik.org @ 22.03.2010. 23:18 ] @
Catch 22 hvala na mešanju. Naivno sam pomislio da ako imam ovako malu bazu neću morati da razmišlajm o vezama.
I tako ja nakon tvog zaključka uzmem da to ispočetka odradim kad ono ????
U tabeli magcinska knjiga imam dva polja koja su vezana za tabelu CI (carinska ispostava) jedno je CI prijave robe a drugo CI razduženja robe.
I šta sad???

[ golic @ 22.03.2010. 23:37 ] @
@Catch22 Sad kada procitam bas izgleda dvosmisleno napisano, ali mislio sam na Dmax funkciju broj, a ne na bazu .accdb .

@Zoran.Eremija Moja greska u prekucavanju.
[ Catch 22 @ 22.03.2010. 23:56 ] @
Citat:
savetnik.org:U tabeli magcinska knjiga imam dva polja koja su vezana za tabelu CI (carinska ispostava) jedno je CI prijave robe a drugo CI razduženja robe.
I šta sad???


Ako si sve uradio ponovo, mogao bi da sačuvaš bazu u formatu Access 2002-2003, pa da okačiš ovde kako bi ostali mogli da nastave dijalog.

Što se tiče pitanja "Šta sad?", pa izgleda da bi trebalo opet nešto ponoviti od početka ali na drugačiji način(?)
Za polja u tabeli koja "gledaju podatke" iz druge tabele, najbolje je da koristiš Access Lookup Wizard, koji će ti ujedno kreirati i potrebne relacije...

[att_img]
[ savetnik.org @ 23.03.2010. 00:01 ] @
Pa sada sam zbunjen. U onoj prethodnoj postavci sam upravo tako i uradio. Na polju CI razduzenja/Prijave, valute, dokumenta.
Šta sad?
A bazu ću postaviti čim uspostavim pravilno polja i relacije.
[ Zoran.Eremija @ 23.03.2010. 00:10 ] @
U prilogu sam prikacio model baze i da li je to to?
Iako mi nije jasna potreba da imate kolonu RedniBroj?
[ savetnik.org @ 23.03.2010. 00:20 ] @
Ajde ovako, pošto sam ja definitivnio težak amater ajde da postavim stvari onako kako je trebalo i da započnem temu (od početka).
Dakle treba da napravim magacinsku knjigu. U prilogu je slika koja će nadam se ukazati šta je sadržaj t.j. krajnji cilj.
Ima 14 polja i ona se popunjavaju jednostavno koristeči se tek po nekim šifarnikom kao što je CI prijave/razduženja, vrsta dokumenta, vrsta robe. U 14.kolonu ide napmena a tu se najčešće unosi špediter ili uvoznik, ja sam hteo da i to bude šifarnik partnera ali su mi tražili da to ostaneu formi slobodnog unosa. Redni broj je ono što je i započelo ovu temu , hoće autonomber a li da mogu da ga menjaju. I postoji interesantna caka sa ne razduženim količinama. Dakle neko ocarini samo deo robe iz magacina i ja treba to da pratim( to sam tek planirao da pitam). Trebaće mi par izveštaja pored magacinske knjige i otpremnica koja bi trebalo da se printa nekako kada se roba razduži.Eto..
[ savetnik.org @ 23.03.2010. 00:24 ] @
Pa ni meni nije jasno ali iz nekog razloga bi hteli da to polje bude otvoreno za izmenu
Zorane to je to što sam i ja napravio ali sam se sada skroz zbunio sa vezama i lookup fieldom.
[ Zoran.Eremija @ 23.03.2010. 00:40 ] @
Mislim da je suvisno i jedno i drugo. Dovoljno bi bilo da je samo MagacinskaKnjigaID tipa LongInteger i da se postigne i jedno i drugo. evo psolacu vam primer
pogresan fajl sam nakacio
[ Zoran.Eremija @ 23.03.2010. 00:55 ] @
Kako rece moj kolega prof Alempije Veljovic prvo treba videti popunjeni obrazac najbolje rukom popunjen pa onda krenuti sa modeliranjem. Ali kao sto vidite ovakav nacin je najcesci da se krece od same baze. Ako nije hitno malo bih prilegao pa ujutro cu vam postaviti sve. Ali koliko sam vvideo tabelu tj formular model koji sam nakacio podrzava postavljen zahtev
[ savetnik.org @ 23.03.2010. 00:56 ] @
Ok video sam ovaj primer i vidim da ste uneli funkciju NZ dmax.
u čemu se razlikuje ovo rešenje od autonomber?
[ Zoran.Eremija @ 23.03.2010. 01:01 ] @
skoro nista sem sto kontrolu dodeljivanja narednog broja regulisete vi tj vasim kodom a ne internom funkcijom relacionog modela i AutoNumber je neponovljiv ako se obrise neki red on se ne moze obicno ukucati vec se mora pribeci posebnim zahvatima. Ja izbegavam da koristim AutoNumber. Koristim ga samo kada treba nesto hitno da odradim i kada mi taj broj bas nista ne znaci. A sada odeh da odmorim, a sutra tj vec dana ali kasnije cu pogledati onaj obrazac.
[ Catch 22 @ 23.03.2010. 01:23 ] @
Citat:
savetnik.org: ...
u čemu se razlikuje ovo rešenje od autonomber?

1. U tabeli može postojati samo jedno autonumber polje
2. Autonumber se može definisati kao:
-Increment (rastuće vrednosti)
-Random (nasumične vrednosti)

Polje autonumber se obično koristi samo kao unikatni identifikator sloga (upisa) u tabeli i nije baš dobra ideja koristiti ga za bilo kakve druge namene (redni brojevi, broj fakture... i slično).
Za takve namene je bolja varijanta pomoću funkcije: Nz(DMax("NazivPolja";"NazivTabele");0)+1

Primer (dodeljivanje rednog broja fakture za svaku kalendarsku godinu ponovo počevši od 1)
Code:

Nz(DMax("PRODAJA_BROJ";"PRODAJA";"Year(PRODAJA_DATUM)=Year(Now())");0)+1



[ savetnik.org @ 23.03.2010. 01:37 ] @
OK to sam skapirao! znači od sada uvek koristim ovu funkciju ali koliko vidim u samoj tabeli unosim nomber a funkciju primenjujem na formi?
[ Zoran.Eremija @ 23.03.2010. 11:18 ] @
Cini mi se da sam iz obrasca koji ste prikacili uocio potrebu Rednog broja. Da li sam pogodio ne znam, ali evo primera.