Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 35 odgovora
  • 10.304 pregleda

Najnovija ↓

Seminarski rad (baza kladionice) 14.02.2011. u 19:49 · pre 191 mesec #1
Ovako pravim bazu podataka za kladionicu... u access-u 2003. Dosta sam skroman po pitanju accessa, ali sam savladao neke osnove i ostalo sto mi je trebalo sam pokupio sa neta.

Ono sto nisam uspeo da nadjem (ili nisam znao sta da trazim) je kako da napravim formu za kucanje tiketa koji ce se stampati iz te forme. Tj. zelim da omogucim korisniku da ukuca ID utakmice i tip koji zeli da odigra 1,x ili 2 i da se u okviru forme ili subforme (ne znam kako i da li to moze da se izvede??) usnimava jedna po jedna utakmica sa odigranim tipom, na kraju bi trebalo da se kuca zeljena uplata X ukupni koeficijenat i dobitak se stampa na kraju tiketa.

Nadam se da sam donekle uspeo da objasnim sta mi treba.
Ukoliko ovo moze da se odradi bio bih veoma zahvalan na svakoj vrsti pomoci?

Re: Seminarski rad (baza kladionice) 15.02.2011. u 23:37 · pre 191 mesec #3
Paaa, nije konkretno pitanje, a ljudi inače ne vole drugima da rade seminarske.
Potpis
Pozdrav,
Branislav
Re: Seminarski rad (baza kladionice) 16.02.2011. u 00:56 · pre 191 mesec #4
Nisam ni zeleo da mi neko odradi seminarski vec ako moze da mi pomogne oko ovog dela ( ima tu jos dosta toga da se odradi ali je lakse pa cu to znati sam).

A moguce da nisam dovoljno jasno objasnio sta mi treba. Evo da probam jos jednom:

Kako napraviti formu za kucanje tiketa (svako ko je jednom odigrao kladionicu zna kako treba da izgleda)
Znaci imam tabelu Utakmice(ID utakmice, domacin, gost,...), tabelu Kvote (Id utamice, koeficijenat1, koef0, koef2)
Hocu da napravim da korisnik moze da ukuca ID utamice( na osnovu toga mu se pojavljuje domacin, gost,vreme utakmice...), pa onda tip1.0 ili 2 i da mu se na osnovu tipa 1.0.ili2 pojavi koef1.0 ili 2 u posebnom polju. do maksimuma od 16 utakmica koje moze da odigra.
Zatim da postoji polje "suma koef" za proizvod koeficijenata od svih utakmica koje zeli zatim polje "uplata" gde kuca uplatu i polje "suma koef. X uplata"

Nadam se da je sad pitanje konkretno i da sam bio jasniji, ako neko ima vremena i dobre volje bio bih zahvalan za bilo koji savet pozz



Re: Seminarski rad (baza kladionice) 16.02.2011. u 01:57 · pre 191 mesec #5
Tebi verovatno neće biti jasno šta ću ja sad da napišem... Hajmo ovako, to što pitaš prvo što je preopširno za objašnjavanje, a drugo je to što spada u najosnovnije tehnike Accessa. Ja bih ti preporučio da probaš sam da naučiš kako se to radi, jer ne radiš seminarski da dobiješ ocenu, već da naučiš nešto. Zato niko ne odgovara, neće da čini medveđu uslugu.
Potpis
Pozdrav,
Branislav
Re: Seminarski rad (baza kladionice) 16.02.2011. u 05:34 · pre 191 mesec #6
Evo ovde sam prekucao iz knjige “Access 2003 Korak po korak“ uputstva koja bi ti bila dovoljna za izradu seminarskog:
Brzo ucenje Accessa: http://www.elitesecurity.org/t324585-Brzo-ucenje-Access

Ovde ćeš naći odgovre na često postavljana pitanja, a između ostalog i nekoliko urađenih seminarskih radova:
http://www.elitesecurity.org/t321342-Cesto-postavljana-pitanja

Možda ti pomogne i isčitavanje ove teme:
http://www.elitesecurity.org/t...Program-za-sportsku-statistiku

Zadnji link nije direktno vezan za Access, već je iz foruma Baze podataka, ali će ti nadam se pomoći da proširiš neka znanja.



Potpis
https://mzahorjanski.wixsite.com/mzahorjanski
https://www.fiverr.com/miroljubzahorja?up_rollout=true
https://www.youtube.com/@miroljubzahorjanski


Re: Seminarski rad (baza kladionice) 16.02.2011. u 16:56 · pre 191 mesec #7
Citat:
(svako ko je jednom odigrao kladionicu zna kako treba da izgleda)
Vidis, problem je u tome sto programeri uglavnom ne igraju kladionicu, pa prema tome ne znaju kako treba da izgleda. Programeri ne zanju ni kako funkcionise kladionica, pa ne mogu da naprave ni shemu baze podataka.

Posti=o si evc napravio tabele, koje nadam se pravilno reprezentuju kladionicu i sve sto se desav, onda ti ne ostaje nista drugo nego da poslusas Getsbija i Baneta. Sto en znas, naucices, svrha seminarskog je da nesto naucisili ili da shvatis sta to jos treba da naucis.

Srecan rad :-)
Re: Seminarski rad (baza kladionice) 16.02.2011. u 19:28 · pre 191 mesec #8
Citat:
Zidar: ili da shvatis sta to jos treba da naucis.


Mislim da je ovo moj najveci problem

Snaci cu se vec nekako, ako zavrsim i kad zavrsim postavljam bazu da vidite kako to izgleda :)
Re: Seminarski rad (baza kladionice) 17.02.2011. u 15:51 · pre 191 mesec #9
Moram da se ispravim, tesko da cu sam da se snadjem oko ovoga. Zakacio sam bazu uz poruku sa formom kako treba da izgleda pa ako neko ima vremena neka pogleda, ako ne necu vise da smaram obecavam pozz
Re: Seminarski rad (baza kladionice) 17.02.2011. u 20:48 · pre 191 mesec #10
Ovako, ja mislim da nema potrebe da normalizuješ tabele.

Dovoljno je da u jednoj tabeli držiš utakmice zajedno sa koeficijentima, jer u protivnom si napravio relaciju 1:1, a ona je poznata, postoji i koristi se u tačno određenim slučajevima. Ovo nije jedan od tih.

Dakle, tabela izgleda ovako:

IDTip, Domaćin, Gost, Tip1, Tip0, Tip2, Tip00, Tip10, Tip11....

DRUGA tabela je tabela tiketa, odnosno uplata i to osnovni podaci:

IDTiket, IDOperator, DatumVreme, UplataIznos

Sad ide ono glavno, TREĆA tabela u relaciji 1:n sa DRUGOM i PRVOM:

IDUnos, IDTiket, IDTip, Tip1, Koeficijent1, Tip2, Koeficijenat2, Tip3, Koeficijenat3... Tip16, Koeficijent16

E sad, pazi, ta forma što si napravio je bazirana na tabeli koja može da ima N zapisa. Ti treba da je napraviš tako da je ona bazirana na JEDNOM zapisu sa 16+16 polja (tip + koeficijent. Konačan izgled treba da bude kao na stvarnom tiketu. I to je to, prilično jednostavno. :) Tvoje je da to napraviš.
Potpis
Pozdrav,
Branislav
Re: Seminarski rad (baza kladionice) 17.02.2011. u 20:55 · pre 191 mesec #11
Samo još jedna stvar koja će tebi biti najverovatnije komplikovana.

Kod unosa, kada operater upiše ID utakmice (npr. 201) i tip (npr. 0), treba ti malo programiranja u AfterUpdate događaju koji će da "pronađe", pročita i upiše koeficijent u treću tabelu. Recimo ovako:

Select Case txtTip 'polje za unos = txtTip
Case "0"
TxtKoeficijenat = Dlookup("[Tip0]", "tblKoeficijenti", "[IDTip] = " & txtTip)
Case "1"
TxtKoeficijenat = Dlookup("[Tip1]", "tblKoeficijenti", "[IDTip] = " & txtTip)
Case "2"
TxtKoeficijenat = Dlookup("[Tip2]", "tblKoeficijenti", "[IDTip] = " & txtTip)
'... i tako dalje
End Select

Pa onda za drugo polje 'Koeficijent2' možeš da iskopiraš program i izmeniš ga... itd.

Ovo je najprostije što mogu da smislim, a da ti nije prekomplikovano.
Potpis
Pozdrav,
Branislav
Re: Seminarski rad (baza kladionice) 17.02.2011. u 21:34 · pre 191 mesec #12
@banem:

A što bi komplikovao sa tri tabele samo za tikete?

Tabela 1: Ponuda, unutra su informacije vezane za događaj (šifra, domaćin, gost, id lige, vreme odigravanje, kvote...)
Tabela 2: Tiket, generalne informacije o tiketu (ID_Tiket, broj tiketa, uplata, vreme uplate, statusi...)
Tabela 3: TiketStavke, lista događaja iz tabele ponuda koji se nalaze na tiketu, a koji su povezani sa tabelom Tiket na osnovu ID_Tiket

I to je sve što mu treba
Re: Seminarski rad (baza kladionice) 17.02.2011. u 21:58 · pre 191 mesec
izmenjeno 1 put, poslednji put banem 17.02.2011. u 22:16
  1. banem17.02.2011. u 22:16zapis iz teksta poruke
#13
A šta si ti sad napisao, nego potpuno isto što i ja?

(aaa to možda nije bilo meni namenjeno:))
Potpis
Pozdrav,
Branislav
Re: Seminarski rad (baza kladionice) 18.02.2011. u 16:57 · pre 191 mesec #14
Evo uspeo sam da odradim nesto, lepo radi za prvi unos, e sad naiso sam na niz problema kod drugog unosa.
Id unet u prvom menja domacina i gosta u svim ostali(ne znam kako da ih unbound a da rade)isto je i za Tip
Re: Seminarski rad (baza kladionice) 18.02.2011. u 21:10 · pre 191 mesec #15
Ovo ništa ne valja. :)

Sad ću ti opisati šta si napravio da pokušamo tako.

Napravio si tabelu sa utakmicama i koeficijentima. To je dobro.

Zatim si napravio formu baziranu na toj tabeli. Ta forma služi tome da menjaš utakmice i koeficijente. I to se radi od kola do kola. Ona može da izgleda kao tabela na listi kladionice.

Međutim, meni se čini da si ti pokušao da napraviš formu za unos tiketa. Ako je to tako, nemaš tabelu u kojoj će se upisivati tiketi.

Trebaju ti dakle tri tabele:

1) Tabela parova i koeficijenata
2) Tabela tiketa sa osnovnim podacima (zaglavlje tiketa)
3) Tabela tiketa sa parovima (max: 16)

Tebi nedostaju 2) i 3).
Potpis
Pozdrav,
Branislav
Re: Seminarski rad (baza kladionice) 28.02.2011. u 21:02 · pre 190 meseci #16
Citat:
banem: Ovo ništa ne valja. :)
:(

Citat:
banem: 
Međutim, meni se čini da si ti pokušao da napraviš formu za unos tiketa.


Upravo to... evo da vidimo jesam li uspeo da napravim nesto malo bolje.
Ne uspeva mi da u ovoj subformi povezem koeficijent sa odigranim tipom
Re: Seminarski rad (baza kladionice) 28.02.2011. u 23:46 · pre 190 meseci #17
E, ovo je već bolje i po mom mišljenju dovoljno za prelaznu ocenu (bio sam neko vreme asistent na višoj, baš za ovo...). :)

Zato sledi mala pomoć, pogledaj u programu kako sam napravio da prepisuje koeficijent iz Ponude u Tiket. Komande agregatnog domena se inače izbegavaju jer su spooore, ali ovde može da posluži.

Druga varijanta je da od Id_Utakmice na podformi napraviš ComboBox i zatim u njegov Source staviš tabelu Ponuda sa poljima Koeficijenat1, 2 i 3 i onda vrlo jednostavnim programom određuješ koji podatak iz nevidljive kolone ComboBoxa da prepisuje u Koeficijenat tiketa.

Kako ti lakše.

Mislim da ti tek sad sledi glavolomka: izgračunavanje ukupnog koeficijenta po tiketu, a meni se čini da neće ići bez (opet) nekog programa? Jer: Sum() ili Count() je lako napraviti, ali proizvod već teže, a do sada (čudno) još nisam imao zahtev da se multiplikuju vrednosti jednog polja.

Iskopiraj ovaj program u modul podforme (ctrl+g, pa dupli klik na naziv forme):

Code:
Option Compare Database
Option Explicit

Sub sKoeficijenat()
    If Not IsNull(Id_Utakmice) And Not IsNull(Tip) Then
        Select Case Tip
            Case 0
                Keoficijent = DLookup("[Koeficijent0]", "Ponuda", "Id_Utakmice = " & Id_Utakmice)
            Case 1
                Keoficijent = DLookup("[Koeficijent1]", "Ponuda", "Id_Utakmice = " & Id_Utakmice)
            Case 2
                Keoficijent = DLookup("[Koeficijent2]", "Ponuda", "Id_Utakmice = " & Id_Utakmice)
        End Select
    Else
        Keoficijent = 0
    End If
End Sub

Private Sub Form_AfterUpdate()
    sKoeficijenat
End Sub

Private Sub Id_Utakmice_AfterUpdate()
    sKoeficijenat
End Sub

Private Sub Tip_AfterUpdate()
    sKoeficijenat
End Sub


Potpis
Pozdrav,
Branislav
Re: Seminarski rad (baza kladionice) 01.03.2011. u 00:40 · pre 190 meseci #18
Drugi deo. :)

Našao sam zanimljiv način za SQL Server za formiranje funkcije product: http://support.microsoft.com/kb/89656/en-us

U Accessu zamenska funkcija je ova: Exp(Sum(Log([NazivPolja]))) tj. zbir logaritama uz uslov da naziv polja ne sadrži negativan broj, nulu ili Null.

Tako da ovo rešava i poslednji problem.
Potpis
Pozdrav,
Branislav
Re: Seminarski rad (baza kladionice) 01.03.2011. u 13:48 · pre 190 meseci #19
Ne znam da li je do mene neki problem, program se ukoci pri svakom unosu u subformu. Posle toga mogu samo da zatvorim formu i javlja mi se poruka:

"Microsoft Office Access may have encountered error while trying to save record"




Re: Seminarski rad (baza kladionice) 01.03.2011. u 20:43 · pre 190 meseci #20
Izbaci sledeće iz programa (moja greška):


Private Sub Form_AfterUpdate()
sKoeficijenat
End Sub
Potpis
Pozdrav,
Branislav
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme