Šta je novo?

Sta mislite o Ms Access bazama podataka

b4b

Slavan
Učlanjen(a)
26.01.2005
Poruke
117
Poena
319
Zanima me misljenje ljudi koji rade profesionalno sa MS Access-om. da li je moguce uz pomoc ovog programa napraviti mali informacioni sistem-bazu podataka. Pokrecem temu jer me mnogi likovi iz inostranstva-programeri ubedjuju da im firme veoma cesto traze da prave programe u Accessu, sto zbog brzine izrade, sto zbog rasprostranjenosti Office-a, sto zbog povezanosti office aplikacija? :wave:
 
zavisi sta ti treba...
access bih koristio kad treba napraviti aplikaciju za jednog korisnika (tj jedan racunar) i kad je potrebno uvoziti/izvoziti u xls, doc formate...
u drugim varijantama ga ne bih koristio |>>

mene su zeznuli pa sam aplikaicju po gornjem opisu uzeo da radim u javi+mysql... sad planiram da scrapujem sve i da odradim isto to u accessu za nedelju dana i da se ne mucim sa obrascima u doc formatu...
 
Sve zavisi sta ti konkretno treba...
Generalno, u Accessu mogu da se rade vrlo slozene aplikacije, uz dobro poznavanje VBA mogu se cuda raditi... Nije nikakav problem napraviti u njemu i klijent/server aplikacije koje ce opsluzivati 20-30 korisnika, ali svakako i da ima svojih ogranicenja...
Prednost mu je sto njegovu bazu kada pocne da "stuca" i preraste svoju prvobitnu namjenu (najcesce se previse poveca broj korisnika ili kolicina podataka) mozes prebaciti na neki veci RDBMS tipa MSSQL, MySQL...

Uglavnom, brzo se uci, ali ti za bilo kakve ozbiljnije stvari ne gine ucenje VBA...

Naravno, Access je samo alat, tako da za ozbiljan rad treba imati i neke osnove teorije relacionih baza podataka i SQL-a...
 
ja bas ne znam kako bi prebacio bazu i vba aplikaciju iz accessa na mysql? ustvari mi treba obrnuti smer, ali me zanima i ovaj...
 
Naglasio sam "bazu", ali ne i aplikaciju:
Prednost mu je sto njegovu bazu kada pocne da "stuca" i preraste svoju prvobitnu namjenu (najcesce se previse poveca broj korisnika ili kolicina podataka) mozes prebaciti......

Aplikacija i dalje moze da ostane Access/VBA, a preko ODBC drajvera ili neceg slicnog se kacis na MySQL ili neku drugu bazu... Problem u performansama (u nasem virtuelnom slucaju firme i baze koji rastu) ce cesce biti na serverskoj nego na klijentskoj strani, pa Access i dalje moze da sluzi kao klijentska aplikacija...
 
koristiti access kao aplikaciju za drugu bazu.. brrr jako mi se ne svidja ni kao ideja |)))

onda bi ipak pre pisao cist vb...
 
Ja sam radio jednu veoma veliku aplikaciju u access-u + MS SQL2000.
Prednosti koriscenja VBA Access-a su brza izrada castom DataGridova koji su u obluku subFormi, veoma brza i laka izrada reporta (to nam je mnogo znacilo u tom trenutku), a mane su mnogo bagova, cesta pucanja access-a ....
Ipak na kraju kao zakljucak, kad se sabere, veoma brz develop aplikacija kad vam zatreba.
 
Od 1997. radim aktivno sa Access-om, i poslednji projekat (koji još nije završen) jeste klijent-server baza sa 30-ak korisnika, istestirana, radi stabilno.

Access, što reče neko, jeste samo ALAT, ali kod koga je kriva učenja vrlo strma (čitaj:lako se uči :)), ali pre toga bih savetovao proučavanje teorije dizajna baze podataka, E-R dijagrama i SQL-a... Access jeste alat, ali ako se ne znaju fundamentalne stvari, vrlo lako se može doći u ćorsokak.

Takođe, za iole ozbiljniju upotrebu treba poznavati VBA, koji sam po sebi nije problematičan, pogotovo ako se poznaje bilo koji programski jezik i teorija programiranja.

Odlična je varijanta migracije na SQL2000, pogotovo samo BE baze (backend) a da front-end ostane u Accessu... Pri tome, naravno, izbegavati korišćenje wizarda već raditi planski i "ručno".

danijel00 je napisao(la):
koristiti access kao aplikaciju za drugu bazu.. brrr jako mi se ne svidja ni kao ideja |)))

onda bi ipak pre pisao cist vb...

Grešiš, moram da ti kažem. Praksa je pokazala da je ovo najbezbolniji način migracije. Na klijentskoj strani ostaviš upite, forme, module (drugim rečima, aplikaciju), a na serverskoj strani možeš da staviš tabele iz bilo koje baze, samo da znaš koju tabelu i kako linkuješ na klijenta. Ovo je u praksi potvrđeno, i radi sa svim poznatijim bazama, putem ODBC-a. Možeš da pišeš ponovo aplikaciju iz VB-a ali to ti ne savetujem, ovo što tebi treba (migracija), je posao od jednog dana, sa sve testiranjem i puštanjem u rad.

EDIT: evo ti primer aplikacije pisane u Accessu, gde je backend u SQL2000, na ovom linku

A ovo je jedno od najboljih mesta na web-u za Access i savete za njega:www.mvps.org/access
 
Poslednja izmena:
Do sada sam pravio nekoliko aplikacija u access-u, i to samo za rad na jednom racunaru. Nisam radio klijent-server aplikacije. Problem sa kojim se susrecem pri radu sa ovakvim aplikacijama je najcesce u tome sto se program razlicito ponasa u razlicitim verzijama Accessa. Baze pravim u access2000 formatu, a kada treba da je prebacim u neki drugi format, javlja se gomila problema...

Zelim da pocnem da radim sa klijent-server aplikacijama u accessu, programiranje u VBA znam, relacione baze takodje. Zanima me odakle da pocnem, kako da napravim prvu klijent-server aplikaciju, postoje li negde primeri (uz pomoc njih se lako uci) ili ima neka knjiga bas za to?
 
Ja sam ovo sve teoretisao... tj nisam nikad nsita ozbiljnije u accessu radio, osim kad sam kao klinac pravio telefonski imenik i onda kad sam hteo da ga dam drugaru, pa sam video da je 20mb, sam se oladio |>>

E sad, koliko ja cenim za ozbiljnu aplikaciju u accessu treba vb (njega jesam dosta koristio), pa ako se jos koristi neka druga baza, onda mi je samo koriscenje accessa cisto rasipanje resursa, kad bi vb+baza mogli sve to da odrade...

BTW hvala na linku!

PS jel ta firma ima 30 legalnih offfice proffesional? To je jos jedna "sitnica" zbog koje ne volim da se igram sa accessom...
 
danijel00 je napisao(la):
E sad, koliko ja cenim za ozbiljnu aplikaciju u accessu treba vb, pa ako se jos koristi neka druga baza, onda mi je samo koriscenje accessa cisto rasipanje resursa, kad bi vb+baza mogli sve to da odrade...

Access nije savrsen i oko toga se slazemo... Ali, Access je namjenski napisan za pravljenje database aplikacija, i tu jednostavnost kreiranja izvjestaja, upita ili formi sa podacima ne posjeduje ni VB, Delphi ili nesto trece... I uopste, brzinu razvoja namjenske database aplikacije tesko mozes da nadjes negdje drugo...

b4b je napisao(la):
Zanima me odakle da pocnem, kako da napravim prvu klijent-server aplikaciju

Vrlo jednostavno:
Kreiraj obicnu Access bazu po svom ukusu... Kada zavrsis i kada sve funkcionise kako treba napravi jednu kopiju svoje Access baze... Sada imas 2 identicna fajla, jedan nazovi "Baza" a drugi "Klijent"... Iz baze poskidaj sve forme, reporte, ostavi samo tabele i upite... Iz klijenta pobrisi sve tabele i upite, ostavi forme i izvjestaje... Zatim u klijentsku aplikaciju linkuj podatke iz fajla "Baza" (tabele i upite) i ... Voila! Tvoja prva klijent/server Access aplikacija je gotova...
 
Haha, thanks Grunfe! nisam znao da je tako lako. E sad me zanima kako da ta aplikacija bude distribuirana, tj da radi preko interneta. na jednom racunaru baza, na drugom klijent, oni povezani preko neta, kako dalje...?
 
Upravo tako kako je napisao Grunf.

Evo linka gde se govori o optimizaciji baza rađenih u Accessu: http://www.granite.ab.ca/access/performancefaq.htm

Takođe, nije potrebno da ima 30 legalnih Office proffesional, može da se kupi developers edition koji značajno pojednostavljuje stvar oko instalacije.
 
Da li mislis bas preko interneta ili preko lokalne mreze (recimo u okviru jedne firme)?
Preko interneta ne moze ovako obicnim Access klijentom, moraces raditi web aplikaciju koju izvrsavas iz browsera (i tu ti Access moze pomoci, mada nije bas najsrecnije rjesenje), a preko lokalne mreze je princip isti kao ovo gore sto sam opisao, samo sto linkovanje baze vrsis preko mreze (tj. share-ujes folder u kom je baza na serveru da bi ga vidio sa klijentskih racunara).
 
Pa, recimo u mom slucaju, napravio sam 5 aplikavcija/baza u accessu, one se nalaze na 5 razlicitih lokacija u Srbiji. One su potpuno iste. E sad, ljudi mi iz njih salju tabele jednom mesecno i ja pravim jednu zajednicku bazu na osnovu njihovih podataka. Oni ne smeju koristiti iste kljuceve u tabelama, a i ne koriste iste, zbog prirode posla. Znaci jednom mesecno oni meni salju tabele i ja ih pakujem u bazu. Posto cu u dogledno vreme raditi slican posao, zeleo bih da unapredim svoj rad i da postoji klijent-server. Znaci da oni svi pristupaju jednoj server bazi preko INTERNETA i da direktno pune podatke u glavnu bazu.
E sad, web programiranje nisam ranije radio, a zeleo bih da baza bude bas u accessu. Kako oovo da izvedem, imam dosta vremena i da naucim i alat koji da koristim za ovo sto mi treba?
 
Hmmm, u takvom projektu bi trebalo razmisliti o periodičnoj replikaciji baze (što ti radiš ručno), mislim da ne bi trebalo raditi sa konstantnom vezom prema centralnom mestu, jer kao što vidiš, nije ti toliko bitno da imaš ažurne informacije i podatke u centralnoj bazi, s obzirom da update radiš jednom mesečno.

Dakle, pogledaj i potraži nešto o replikaciji baza, i moj ti je savet da podesiš da ti se replikacija i sinhronizacija svih baza radi van radnog vremena, recimo, u 02:00 posle ponoći ili tako nešto. U tom slučaju osiguravaš da replikacija bude konzistentna (čitaj: nikog nema u firmama da ti brlja po bazi dok se radi replikacija) i dobijaš sistem koji je sam sebe update-uje. Naravno, ne bi bilo loše prvo da isprobaš replikaciju u mreži, na lokalu, pa onda da to primeniš na tvoju globalnu aplikaciju.

Druga varijanta je da podigneš VPN između lokacija, tj. da imaš virtuelnu mrežu na pet lokacija (tj. da imaš LAN preko interneta, naravno kriptovan), i onda ti logički vidiš kompletnu mrežu kao da su svi ti računari (koji su inače na udaljenim lokacijama) povezani kablom u tvojoj lokalnoj mreži. Treba ispitati i jednu i drugu i treću mogućnost (web aplikacija), mada bi u ovom slučaju ja ipak radio replikaciju, mislim da je najbolje rešenje od svih.

Pozdrav!
 
Nazad
Vrh Dno