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

Biblioteka - baza podataka!

[es] :: Access :: Biblioteka - baza podataka!

Strane: 1 2 3 4 5

[ Pregleda: 46315 | Odgovora: 81 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.rcub.bg.ac.yu.

Sajt: biske.rs


+39 Profil

icon Biblioteka - baza podataka!19.09.2008. u 16:10 - pre 188 meseci
Ovo je logičan nastavak projektovanja informacionog sistema biblioteke koje sam radio u alatima BPwin i ERwin. Tabele i relacije sam generisao iz ERwin-a i napravio sam početnu formu koja mi se pojavljuje kada pokrenem bazu. U attachmentu se nalazi baza koju možete slobodno koristiti za učenje ili komercijalnu upotrebu a od vas očekujem predloge, sugestije i kritike bilo koje vrste..

Odgovarajući BPwin i ERwin fajlovi se nalaze u posebnoj temi u forumu Baze podataka na adresi:
http://www.elitesecurity.org/t...-biblioteke-predlozi-sugestije
Prikačeni fajlovi
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
213.244.209.*

Sajt: biske.rs


+39 Profil

icon Re: Biblioteka - baza podataka!20.09.2008. u 13:36 - pre 188 meseci
Evo i prvog problema pri izradi aplikacije. Očigledno da još nisam dobro ušao u ovu stvar sa postavljanjem upita i azuriranja tabela. Naime, napravio sam formu 'frmUnosOsnovnihPodatakaOCitaocu' i na njoj se nalaze polja iz upita qryCitalac. Prethodno sam u tabeli 'Citalac' promenio svojstvo polja 'SifraZanimanja' iz Textbox u Combobox na kartici Lookup tako da mi se javlja da umesto unosa sifre imam combobox sa prikazom naziva zanimanja dok se fizički u tabeli upisuje sifrazanimanja (svojstva count column i bound column). Sve to radi ali mi se javlja jedan problem kada počnem da unosim neke podatke na formi 'frmUnosOsnovnihPodatakaOCitaocu' i stignem do polja 'sifrazanimanja' onda ne mogu da ubacim novo zanimanje već mogu samo da izaberem jedno od ponuđenih zanimanja iz liste. Alternativa je da tu negde pored stavim posebno dugme (npr. Unos novih zanimanja) koje otvara tabelu 'Zanimanja' i tu da unesem to novo zanimanje a zatim da se vratim na prethodnu formu i da izaberem iz liste zanimanje koje sam uneo. Međutim, više mi se sviđa da na primer počnem da unosim par slova i ukoliko u listi već postoji zanimanje sa tom kombinacijom reči izaberem ga a ukoliko ne postoji onda nastavim da kucam naziv zanimanja i to bi trebalo da se unese u tabelu 'Zanimanja' i naravno u tabeli 'Citalac'. Pretpostavljam da treba da uradim JOIN ove dve tabele i da onda nekako to odradim..Ovo će mi trebati i kod spajanja drugih tabela pa ukoliko to rešim na ovom primeru onda bi mi kasnije lakše bilo i oko drugih spajanja..Ima li neko iskustva sa ovakvim problemom?

Evo i baze..
Prikačeni fajlovi
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Biblioteka - baza podataka!20.09.2008. u 15:55 - pre 188 meseci
Za početak, nema potrebe da ti se forma “frmUnosOsnovnihPodatakaOCitaocu” zasniva na query-ju zato što ćeš vući podatake o zanimanjima. Tu formu možeš komotno da zasnuješ na tabeli “Citalac”, a ComboBox “sifrazanimanja”, koji se u toj formi nalazi, zasnuj na tabeli “Zanimanja”. Uvođenje nepotrebnog query-ja se smatra komplikovanjem i to je loša praksa.

Aplikativno modeliranje ima takođe neka svoja pravila. Tabela “Zanimanja” je inače nadređena tabeli “Citaoci” (pogledaj Relationships) i hierarhijski je poželjno da se prekine unos u tabelu “Citaoc” i popuni tabela “Zanimanje” preko njene forme za unos. Prvo je moraš napraviti.

Kad praviš aplikaciju, poželjno je da prvo napraviš (obezbediš) forme za unos takozvanih šifarnika ili neki ih još zovu i kodne tabele. Kod tebe su to: “RadnoMesto”, “PeriodClanarine”, “ISBN”, “Izdavac”, “Autor” i već pomenuto “Zanimanje”.

Nakon zatvaranja forme za unos zanimanja i povratka u formu “frmUnosOsnovnihPodatakaOCitaocu”, potrebno je da osvežiš Combo Box “sifrazanimanja”. To možeš da uradiš na događaj forme On Activate
(kad otvoreni obrazac dobije fokus postajući tako aktivan obrazac)

Me![sifrazanimanja].Requery

Što se tiče automatskog kucanja slova i pronalaženja postojećeg zanimanja u Combo Box-u, to je već obezbeđeno. Kad budeš imao više zapisa u tabeli “Zanimanje”, moći ćeš da isprobaš.

Napomena:
Pre slanja, fajl prvo komprimuj (Tools, Options, General, Compact on Close), a potom spakuj nekim arhiverom .zip ili .rar . Tvoj upload će biti kraći, a i naši downloadi takođe.

 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
213.244.209.*

Sajt: biske.rs


+39 Profil

icon Re: Biblioteka - baza podataka!20.09.2008. u 21:22 - pre 188 meseci
Citat:
Aplikativno modeliranje ima takođe neka svoja pravila. Tabela “Zanimanja” je inače nadređena tabeli “Citaoci” (pogledaj Relationships) i hierarhijski je poželjno da se prekine unos u tabelu “Citaoc” i popuni tabela “Zanimanje” preko njene forme za unos. Prvo je moraš napraviti.

Ovo mi nije problem da napravim i prvo mi je palo na pamet ali sam hteo da napravim efikasnije rešenje.
Da li uopšte postoji način da se uradi kao što sam napisao u prethodnom postu tj. da ako postoji u listi izaberemo vrednost a ako ne onda samo nastavimo da kucamo i da se unese i u sifarniku zanimanja kao i u tabeli citalac? Ukoliko nije onda ću morati da uradim kao što kažeš na drugi način..
 
Odgovor na temu

Scelle
Slavko Šćekić
Student, Računarski fakultet
Beograd

Član broj: 151761
Poruke: 174
78.155.36.*



Profil

icon Re: Biblioteka - baza podataka!20.09.2008. u 21:41 - pre 188 meseci
Postoji opcija Limit To List koju mozes postaviti na No i time omoguciti korisniku da unosi proizvoljne vrijednosti u dato polje. Mozes je pronaci klikom na Lookup karticu odgovarajuceg atributa. Ali ovim se takvi podaci ne upisuju u izvornu tabelu, nazalost.

Vjerovatno bi se moglo nesto odraditi pomocu VBA koda, i mislim da ne bi bilo komplikovano.

Mozda na OnUpdate ili nesto slicno da se stavi kod tipa:

Ako podatak ne postoji u izvornoj tabeli
{
Upisi podatak
}


Usput, sjajan model! Svaka cast!
"Takozvani praktični ljudi bili bi korisni i zasluživali bi svaku pohvalu i poštovanje kad od te svoje praktičnosti ne bi hteli da naprave smisao života i razlog svoga opstanka, opravdanje za podjarmljivanje i terorisanje svih onih koji su lišeni toga praktičnog smisla, ali zato stvoreni za druge, možda više i bolje podvige."

Ivo Andric
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Biblioteka - baza podataka!21.09.2008. u 07:29 - pre 188 meseci
Da bi postavio Limit to List na No, mora da u osobini Bound Column bude ona kolona kojom su stvarno “Citalac” i “Zanimanje” povezani, a to je “SifraZanimanja”. Drugi uslov je da ta kolona bude vidljiva u ComboBoxu (popunjena osobina Column Widths) To znači, da ako se kolona “SifraZanimanja” i suzi na 0.01 cm opet će u polju ostajati brojevi, a ne “NazivZanimanja”, što za operatera manje prihvatljivo od logične činjenice da zanimanje prvo treba da postoji u šifarniku da bi ga on mogao upotrebiti.
Ako bi i insistirali na tehnici koju je predložio @biske86 morali bi da u polje upišemo sifru novog zanimanja, a taj broj je AutoNumber u izvornoj tabeli.
Tačno je što kaže @Scelle da se to može prevazići VBA programiranjem, recimo na događaj Before Update polja nad kojim je Combo box, ali je šteta na samom početku opteriti aplikaciju VBA programiranjem u meri koja je neprikladna za ovako dobar model.

Savet svima koji počinju sa Access-om:

Potrebom da se odmah naprave "efikasnija" rešenja, gube se osnovne stvari koje se uče na početnom i srednjem kursu Access-a. Savetujem svakom početniku u Access-u da prođe temu “Brzo učenje Access-a”, kako bi prvo ovladao osnovnim tehnikama. Potom da isčita ostale Top teme, pogotovo temu “Korisni linkovi”, gde se nalaze adrese do dobrih knjiga u elektronskom obliku. Ništa nema bez par pročitanih knjiga iz ove oblasti. Kasnije stečeno znanje koristite za odabir pravih ključnih reči i upotrebljavajte polje “Pretraga” ovog foruma. Kad nakon pretrage ne uspete da nađete adekvatno rešenje, postavite pitanje na forumu. Ozbiljnija VBA programiranja ostavite za kraj kad iscrpite sve mogućnosti drugih automatizacija.

 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
213.244.209.*

Sajt: biske.rs


+39 Profil

icon Re: Biblioteka - baza podataka!21.09.2008. u 10:30 - pre 188 meseci
Mislio sam da neko već ima gotovo rešenje za ovaj tip problema i da ima volje da ostavi kod ovde na forumu..
Znam neke osnove VBE programiranja i evo ovih dana upravo učim dalje, o funkcijama i događajima. Napominjem programirao sam u Paskalu,
C++, pomalo u javi i poznajem principe programiranja. Upravo sam zamislio nešto kao:
Citat:
Scelle
Ako podatak ne postoji u izvornoj tabeli
{
Upisi podatak
}

samo još ne znam dobro sintaksu jezika..
Citat:
Getsbi
Savet svima koji počinju sa Access-om:

Potrebom da se odmah naprave "efikasnija" rešenja, gube se osnovne stvari koje se uče na početnom i srednjem kursu Access-a. Savetujem svakom početniku u Access-u da prođe temu “Brzo učenje Access-a”, kako bi prvo ovladao osnovnim tehnikama. Potom da isčita ostale Top teme, pogotovo temu “Korisni linkovi”, gde se nalaze adrese do dobrih knjiga u elektronskom obliku. Ništa nema bez par pročitanih knjiga iz ove oblasti. Kasnije stečeno znanje koristite za odabir pravih ključnih reči i upotrebljavajte polje “Pretraga” ovog foruma. Kad nakon pretrage ne uspete da nađete adekvatno rešenje, postavite pitanje na forumu. Ozbiljnija VBA programiranja ostavite za kraj kad iscrpite sve mogućnosti drugih automatizacija.

Ipak ću poslušati ovaj savet i ne komplikovati model i napraviću dugme pored ComboBoxa gde se može otići do šifarnika zanimanja i tamo je moguće uneti novo zanimanje. Ipak nemam mnogo vremena jer moram da odradim aplikaciju i odgovarajuću dokumentaciju za nekih dvadesetak dana..
Svima hvala na komentarima..
 
Odgovor na temu

Scelle
Slavko Šćekić
Student, Računarski fakultet
Beograd

Član broj: 151761
Poruke: 174
78.155.36.*



Profil

icon Re: Biblioteka - baza podataka!21.09.2008. u 21:26 - pre 188 meseci
Kad vec radis tako, sto je i po meni sasvim prihvatljivo rjesenje, moram da napomenem da Access ne osvjezava padajuce liste (ComboBox) automatski. Tako da, kada korisnik unese novo zanimanje, ono nece biti prikazano u listi nakon zatvaranja forme za unos. Da bi ovo sprijecio, potrebno je da na odgovarajuci dogadjaj (mozda na OnClick) osvjezis Combo Box tako sto ces poslati Accessu F9 komandu. Ovo mozes pomocu funkcije Send Keys, pogledaj help za detalje.

Ovo sam procitao na sjajnom sajtu www.praktikum.co.yu u odeljku za Access, gdje sam nasao i rjesenje na tvoje pitanje. Vrlo je jednostavno i efektno, koliko sam ja moga oprocijeniti. Izvolite: http://www.praktikum.co.yu/office/access/acc_100.asp
"Takozvani praktični ljudi bili bi korisni i zasluživali bi svaku pohvalu i poštovanje kad od te svoje praktičnosti ne bi hteli da naprave smisao života i razlog svoga opstanka, opravdanje za podjarmljivanje i terorisanje svih onih koji su lišeni toga praktičnog smisla, ali zato stvoreni za druge, možda više i bolje podvige."

Ivo Andric
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
213.244.208.*

Sajt: biske.rs


+39 Profil

icon Re: Biblioteka - baza podataka!21.09.2008. u 21:50 - pre 188 meseci
Ne znam da li je to ono što mi treba, pogledaću sutra pa ako uspem da ubacim u svoju bazu da funkcioniše javiću..
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.rcub.bg.ac.yu.

Sajt: biske.rs


+39 Profil

icon Re: Biblioteka - baza podataka!29.09.2008. u 11:02 - pre 188 meseci
Napravio sam dosta izmena u bazi pa evo pogledajte i dajte predloge. Ukoliko imate neko konkretno rešenje (čitaj kod) koji provereno radi kod vas postujte na forumu. Ograničen sam sa vremenom jer moram da završim aplikaciju najkasnije za nedelju dana tako da ne mogu da dodajem neke nove funkcionalnosti ovoj bazi.
Potrebno je da uradim da pretrage rade na odgovarajućim formama i da se vrednosti automatski unose u određena polja. Forme sam napravio ali još ne rade, treba za iskodiram u VBA pa ću postovati kad budem napravio. Izveštaje još nisam napravio to ću na kraju uraditi.

Imam problem da povežem formu frmKnjiga i podformu subfrmIzdanje. Dok sam na formi frmKnjige vukao samo podatke iz tabele Knjiga sve je bilo OK. Međutim posle sam promenio pa mi vuče podatke iz upita qryKnjigaNapisao da bi unosio i autora mi se javlja problem povezivanja sa podformom. Kada hoću da otvorim formu frmKnjiga pojavi mi se prozorčić koji trazi da unesem vrednost za atribut SifraKnjige. Pretpostavljam da je to atribut u podformi subfrmIzdanje. Kada vam se ovo pojavi unesite 1 da bi se prikazala podforma. Podformu sufrmIzdanje sam dobro povezao sa subfrmPrimerakSkladisniProstor i tu je sve u redu jer imam LinkMasterFilds i LinkChildFilds ali na frmKnjiga to nemam. Pomagajte.
Evo i baze u attachmentu (kompresovane naravno).


Prikačeni fajlovi
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Biblioteka - baza podataka!29.09.2008. u 12:44 - pre 188 meseci
Ne valja ti upit qryKnjigaNapisao na kojem zasnivaš glavnu formu frmKnjiga. Takvi upiti sa zvezdicom za pojavljivanje svih polja pogodni su za prikaze ali nisu pogodni za Record Source forme koja treba da ima LinkMasterFilds i LinkChildFilds. Navedi sva polja u qveriju poimence i promeni sve k.SifraKnjige i slično gde god ih imaš i proradiće. Kod mene radi.
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.rcub.bg.ac.yu.

Sajt: biske.rs


+39 Profil

icon Re: Biblioteka - baza podataka!30.09.2008. u 10:46 - pre 188 meseci
Možda nisam baš najbolje razumeo šta treba da uradim ali nešto mi i dalje ne radi. Evo i SQL-a od qryKnjigaNapisao:

Code:
SELECT k.SifraKnjige, k.Naziv, k.SifraTipa, k.SifraGrupe, n.SifraKnjige, n.SifraAutora
FROM Knjiga AS k LEFT JOIN Napisao AS n ON k.SifraKnjige=n.SifraKnjige;


Možeš li da mi tačno kažeš šta si uradio pa kod tebe radi dobro?

Imam još par pitanja. Krenimo redom:

1. Pogledajte kako sam uradio formu za unos članarine citaoca (kada odete na glavnu formu i kliknete Čitaoci, zatim na Članarina čitaoca). Napravio sam upit qryVazeciPeriodClanarine koji mi vraća period članarine koji važi za period koji obuhvata današnji datum. Postoji li način da ograničim bibliotekara da ne unosi članarinu za dva perioda koji se poklapaju. Na primer, unesem članarinu za ovu godinu ali pri kraju godine hoćemo da unesemo članarinu za narednu godinu ali bibliotekar slučajno unese u atributu DatumVazenjaOd stavimo recimo 25 decembar 2007 a prethodna članarina je važila od 1 januara 2007 do 1 januara 2008. Onda će mi upit u vremenskom intervalu od 25 decembra 2007 do 1 januara 2008 vraćati dve vrednosti što je pogrešno.

2. Pretpostavljam da može ali ne znam kako da napravim da kad otvorim neku formu da mi se otvori prazan red tj. da forma bude spremna za unos novih vrednosti.

3. Mislio sam da bi bilo bolje da imam jedan option group (kao na formi koja se dobija kada kliknemo na Čitaoci na glavnoj formi) sa dve vrednosti Muški ili Ženski gde bi se na neki način to ubacivalo u bazu umesto da korisnik unosi pol kao slovo m ili M ili Ž ili ž.
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.rcub.bg.ac.yu.

Sajt: biske.rs


+39 Profil

icon Re: Biblioteka - baza podataka!01.10.2008. u 17:55 - pre 188 meseci
Ima li kakvih naznaka, bilo kakve ideje?
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Biblioteka - baza podataka!01.10.2008. u 18:54 - pre 188 meseci
Izgubio sam ovaj tvoj post iz vida, zato tek sad odgovaram. Na ostala pitanja kasnije, jer sam nešto u žurbi.
Evo to što sam prepravio u vezi glavne forme "frmKnjiga" pa uporedi sa svojim.
Prikačeni fajlovi
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Biblioteka - baza podataka!01.10.2008. u 19:39 - pre 188 meseci
Odgovor na pitanja:

1. Ovo za periode članarine mi se ne sviđa. I sam kažeš „...članarina je važila od 1 januara 2007 do 1 januara 2008..... “ Znači dovoljno je bilo u tabeli „Clanarina“ držati kolona „Godina“ Number; Long Integer, bez tabele „PeriodClanarine“, koju bih ja izbacio da se pitam, a kolona „Iznos“ se može prebaciti u tabelu „Clanarina“. To sa preklapanjem datuma je suviše veliki zalogaj za jedan bibliotečki program, a i za tebe kao početnika u Access-u.

2. Na događaj On Open forme napiši:

Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acNewRec
End Sub

3. Mnogo jednostavnija varijanta je da od text boxa “Pol” napraviš Combo Box. U Row Source Type odabereš Value List, a u Row Source upišeš: M;Z . To je minut posla, nema VBA koda, a efikasno koliko i Option Group.

 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.com
Via: [es] mailing liste

Sajt: biske.rs


+39 Profil

icon Re: Biblioteka - baza podataka!01.10.2008. u 21:05 - pre 188 meseci
1. Konsultovacu se sa profesorom pa cu videti sta on kaze na ovo. Problem je ako biblioteka ima clanarine za tromesecja ili za pola godine onda bi moralo da se radi na drugaciji nacin od ovog sto si predlozio. Ja sam samo naveo primer da clanarina vazi od 1.1.2007. do 1.1.2008. godine.
2. Pre nego sto si odgovorio malo sam Googlao i nasao isti ovaj odgovor. U svakom slucaju hvala..
3. Ovo resenje je sjajna stvar. Uneo sam i ogranicenje u svojstv Validation Rule tako da super radi. Hteo sam na neki nacin da ogranicim korisnika na unos odredjene vrednosti i ovo je pravo resenje..



 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Biblioteka - baza podataka!01.10.2008. u 21:25 - pre 188 meseci
Citat:
biske86: ...... Problem je ako biblioteka ima clanarine za tromesecja ili za pola godine onda bi moralo da se radi na drugaciji nacin od ovog sto si predlozio......


U tom slučaju umesto godina vodiš kvartale: 2008/1 za prvi kvartal, 2008/2 za drugi kvartal i tako redom, s tim što bi polje bilo tekstualnog tipa.

 
Odgovor na temu

drzga
Igor Majk
Programer ERICSSON kućnih centrala
Mostar

Član broj: 15410
Poruke: 25
*.crnagora.net.

ICQ: 107146568


Profil

icon Re: Biblioteka - baza podataka!01.10.2008. u 22:35 - pre 188 meseci
Nisam bas neki debeli poznanik accessa ali misli da ce ti ovo rijesit problem koji imas sa unosom novih zanimanja, evo potrudio sam se napravit i malu bazu da ti bude jasnije,
nadam se da je to ono sto trazis
I=U/R
Prikačeni fajlovi
 
Odgovor na temu

drzga
Igor Majk
Programer ERICSSON kućnih centrala
Mostar

Član broj: 15410
Poruke: 25
*.crnagora.net.

ICQ: 107146568


Profil

icon Re: Biblioteka - baza podataka!01.10.2008. u 22:47 - pre 188 meseci
Probao sam ovo primjenit i u tvoj bazi i radi ko svicarski sat samo sto ti jednu od linija coda moras drugacije upisat



strSQL = "Insert Into ime tbl ([ime polja]) values ('" & NewData & "')"



u mene se tabla zove "zanimanje" a i polje unutar table je "zanimanje"

a kod tebe je "zanimanje" "nazivzanimanja"

I=U/R
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.rcub.bg.ac.yu.

Sajt: biske.rs


+39 Profil

icon Re: Biblioteka - baza podataka!02.10.2008. u 08:01 - pre 188 meseci
Razmisliću o ovim predlozima pa ću javiti šta sam uradio.
 
Odgovor na temu

[es] :: Access :: Biblioteka - baza podataka!

Strane: 1 2 3 4 5

[ Pregleda: 46315 | Odgovora: 81 ] > FB > Twit

Postavi temu Odgovori

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