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

Pravljenje forme i podforme

[es] :: Access :: Pravljenje forme i podforme

[ Pregleda: 494 | Odgovora: 6 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tihi_20
Bojana Petrovic

Član broj: 5904
Poruke: 55
213.244.209.*



Profil

icon Pravljenje forme i podforme06.11.2007. u 22:40

Imam sledeće tabele ucenici, predmeti i ocene. Kako da napravim formu ucenici koja će sadržati podformu za unos ocena a da se svi predmeti iz tabele predmeti pojavljuju na toj podformi bez obzira da li učenik iz tog predmeta ima ocenu.
06.11.2007. u 22:40 

Getsbi
Miroljub Zahorjanski
Vršac

Moderator
Član broj: 124608
Poruke: 1153
77.46.172.*



Profil

icon Re: Pravljenje forme i podforme07.11.2007. u 13:31
Citat:
tihi_20: Imam sledeće tabele ucenici, predmeti i ocene. Kako da napravim formu ucenici koja će sadržati podformu za unos ocena a da se svi predmeti iz tabele predmeti pojavljuju na toj podformi bez obzira da li učenik iz tog predmeta ima ocenu.


Evo jednog rešenja gde se svi predmeti mogu pojaviti (ne pojavljuju se automatski već se dodaju) na toj podformi bez obzira da li učenik iz tog predmeta ima ocenu.

Moguće da u zadatku nedostaju informacije, a sigurno je da ja nemam bolje rešenje.
I'll know what I want, when I see it.
Prikačeni fajlovi
07.11.2007. u 13:31 

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 1692
*.100.46-69.q9.net.



Profil

icon Re: Pravljenje forme i podforme07.11.2007. u 14:49
Ono sto hoces da postignes trazi malo vise posla unapred. I pitanje je da li ti bas to treba, bas onako kako si naveo:
Citat:
Imam sledeće tabele ucenici, predmeti i ocene. Kako da napravim formu ucenici koja će sadržati podformu za unos ocena a da se svi predmeti iz tabele predmeti pojavljuju na toj podformi bez obzira da li učenik iz tog predmeta ima ocenu.


Getsbijevo resenje dozvoljava da uneses predmet bez ocene. medjutim, ne prikazuju se uvek svi predmeti, barem dok ih ne uneses. Nema nista lose u resenju koje je Getsbi dao. Da sam ja dizajner tog sistema, uradio bih upravo onako kako Getsbi predlaze, uz neka dodatna ogranicenja. Kljucno pitanje je zasto bi pri unosu podataka morao da vidis bas sve predmete za tekuceg ucenika, sa ili bez ocene? Relacije koje je postavio Getsbi sprecavaju da uneses ocenu za ucenika iz predmeta koji ne postoji. Znaci, tu smo bezbedni. etsbi je zabranio da imas vise od jedne ocene po predmetu za datog ucenika. I tu se slazem snjim, mada to zavisi od zadatka, a to u ovom momentu ne znamo. Gde se razilazim sa Getsbijem je cinjenica da njegov model dozvoljava da se u tabelu Ocene unese predmet ebz ocene. Getsbi to ne bi uradio da nisi ti to trazio - da se vide predmeti i koji nemaju ocene. Ja ne bih dozvolio da se unese rekord u tabelu ocene a da ocena u stvari ne postoji. Ponavljam, to ne bi ni Getsbi dozvolio, ali si ti to trazio,. Stoga se postavlja pitanej validnosti zahteva.

Ako bas zelis da imas sve predmete dodeljene svakom student pre unosa ocena, onda se mora uraditi ovo:
- u momentu dodavanja novog ucenika u tabelu Ucenici, mora se popuniti i tabela Ocene, tako sto se za zadatog studenta dodaju sve vrednosti iz tabele predmet, a kolona Ocene.Ocena ostavi prazna to jest ta kolona ce sadrzati NULL vrednosti
Posto je u pitanju Access, ne moze se garantovati da ce se sve bas ovako desiti. Naravno, moze se napisati kod koji ovo odradjuje ali to nije jednostavno ako sto se cini, ako se zeli valjano uraditi. Stoga predlazem da odustanes od zahteva i da se u tabelu Ocene vrati uslov da kolona Ocena ne sme biti NULL (proerty Required = Yes u table design)

Ako ti treba da prikazes sve ucenika i sve predmete, bez obzira da li imaju ocenu, koristi nesto kao
Code:

qiery qryUceniciPredmeti:
SELECT Ucenici.*, Predmeti.*
FROM Ucenici, Predmeti

pa onda

SELECT 
qryUceniciPredmeti.*, Ocene.Ocena
FROM qryUceniciPredmeti
LEFT JOIN Ocene 
  ON qryUceniciPredmeti.UcenikID = Ocene.UcenikID 
  AND qryUceniciPredmeti.PremetID = Ocene.PredmetID


Poslednji SELECT ce ti prikazati sve ucenike i sve premete i ocene tamo gde ih ima. To mozes da koristis na reportu ali i kao record source za formu, zasto ne, samo sto taj record source nece biti 'updatable'. Znaci, morao bi da resis dodeljivanje ocene na neki drugi nacin, na podsebnoj formici. I to je komplikovano, pa predlazem da zadrzis Getsbijev model, uz dodatno ogranicenej da Ocene.Oceana ne sme biti NULL, a da opisani sistem kverija koristis za prikaz podatka.








07.11.2007. u 14:49 

Getsbi
Miroljub Zahorjanski
Vršac

Moderator
Član broj: 124608
Poruke: 1153
77.46.172.*



Profil

icon Re: Pravljenje forme i podforme07.11.2007. u 16:04
@ Zidar
Ja sam, ne znam zašto bio ubeđen da je pokretaču teme neko zadao zadatak (ono školskog tipa). Dobrih par sati sam se trudio da iznađem rešenje, međutim ništa bolje nism smislio, pa sam došao do zaključka ili da imamo krive informacija, ili da taj ko je zadao temu hoće nešto po uzoru na Excel ili Crosstab Query zaboravljajući da Crosstab Query ne može da se edituje, ili da ima neko rešenje u rukavu (što bih ja jako voleo da uvrstim u svoju kolekciju). :)

I'll know what I want, when I see it.
07.11.2007. u 16:04 

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 1692
*.100.46-69.q9.net.



Profil

icon Re: Pravljenje forme i podforme07.11.2007. u 17:54
@Getsbi: ja bih isto uradio i preporucio sto i ti, samo si me pretekao

Poenta je da ponekad ljudi ne umeju da objasne sta zapravo hoce, pa te navedu na krivi put. Mozda to ovde nije slucaj, ali se cesto desava da ljudi ne prave razliku izmedju nacina na koji cuvas podatke, nacina na koji ih unosis i nacina na koji ih prikazujes. Seldi pokusaj da se sve tri funkcije rese odjednom, najcesce nekom univerzalnom tabelom. Covek je mozda mislio kako da vidi koji su sve raspolozivi predmeti za jednog djaka, pa je smislio da bi svi trebalo da se vide na formi za unos. Bas kao Excel, dobro si primetio, pa samo upises u celiju. Jedino sto ovo nije Excel.

Ovakvo razmisljanje bi se ocekivalo od pocetnika, nema nista lose u tome. Ja to nazalost svaki dan vidm i od profesionalaca, debelo placenih, sa reputacijom, Microsoft sertifikovanih, dolaze sa najboljih univerziteta u Americi i slicno. Sta li ih uce tamo, pitam se...

07.11.2007. u 17:54 

tihi_20
Bojana Petrovic

Član broj: 5904
Poruke: 55
213.244.208.*



Profil

icon Re: Pravljenje forme i podforme07.11.2007. u 21:30
Pa ovako i nisam baš totalni početnik ponešto i znam. Moje rešenje zadatka bilo je baš kao Getsbi-jevo. Ali bilo je potrebno uraditi kao što reče Zidar
Citat:
„Baš kao Excel, dobro si primetio, pa samo upišeš u celiju. Jedino sto ovo nije Excel.“
Jer su u dnevniku predmeti određenim redosledom a u ovom rešenju to nije slučaj i onda se usporava unos ocena i javlja se mogućnost da se javi greška prilikom unosa. Barem je takvo bilo obrazloženje.

Palo mi je na pamet jedno rešenje da ponudim a to je da se u tabelu predmeti spisak predmeta unosi onim redom kao u dnevniku a onda da se u onom podobrascu sortiraju predmeti po polju PredmetID pa na kraju učenici dobiju ocene iz svih predmeta izvršim sortiranje i biće njihov redosled kao u dnevniku. Bojim se da mi tada ne postavi pitanje „A onda profesor mora da unosi predmete za svakog učenika...“

Hvala vam puno na razumevanju.
07.11.2007. u 21:30 

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 1692
*.100.46-69.q9.net.



Profil

icon Re: Pravljenje forme i podforme08.11.2007. u 15:34
@Tihi_20: Nisi nista lose uradio, moj poslednji post nije kritika tebi. Ti si u neugodnoj situaciji kada korisnik zahteva nesto sto u najmanju ruku 'nije uobicajeno'. Ono o ne pravljenju razlike o unosu, cuvanju i prikazivanju podataka, to uglavnom size od korisnika pa te oni primoravaju da radis protiv pravila i logike. Ja to svaki dan gledam kod mene na poslu. Imamo jedan tim koji je na kraju potpuno digao ruke od dizajna, sve njihove baze i tabele prakticno projektuje korisnik (a da toga nije ni svestan). Jednostavno, u specifikaciji navede "Hocu da mi napravis tabelu takvu i takvu, sa ovim kolonama i ovim vrednsotima. Necu da je normalizujes jer je meni ovako lakse da shvatim sa cime radim". I onda ekipa briljantnih programera provede dane i dane da proizvede nesto sto samo po sebi nema mnogo smisla. Takav je zivot. Moj tim to naravno ne radi tako, jer smo uspeli da objasnimo korisniku da mi dizajniramo bazu a korisnik dobija na izlazu sta god hoce, bez mesanja u nase stvari (kako smo to sve spakovali u bazu).

Ako nisi te srece da korisniku mozes da kazes 'ej pusti mene da radim moj posao a ti radi svoj', radi sta ti se kaze i bas te briga. Po principu - dobili ste sta ste trazili.

08.11.2007. u 15:34 

[es] :: Access :: Pravljenje forme i podforme

[ Pregleda: 494 | Odgovora: 6 ]

Postavi temu Odgovori

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