BiH



#16 12.07.2013-20:38
zidar Offline
Moderator
Registrovan/a od: 03.02.2009-21:52
Komentari: 27


Subject: Re: CountIf u accessu?
Dobro, sad sam video objasnjenej u Prilog.RAR. Mislim da sam razumeo situaciju. Moze se reci ovo:

Zadatak koji si sebi postavio nije bas jednostavan. Ne izgleda Bog zna sta kad visis resenja, ali se ne nadolazi na resenje bas tako lako, sto smo iz dosadasnjeg I sami zakljucili.

Access se razlikuje od Excela u tome sto se nacin cuvanja podatak i nacin prikazivanja informacija veoma razlikuju. U Excelu je princip ‘sto uneses to tako i vidis’. Ovde nije, i to je glavna stvar da se svlada, a to iziskuje vreme I strpljenje. Zato ti dajemo resenje koje ces verovatno razumeti, kad ga vidis, ali se ne ocekuje das am umes da napravis ovo u dogledno vreme. Ima puno da se uci drugih korisnih stvari (kakao se unose podaci u tabele, kako rade kveriji).

Elem ovako. Tvoj process se moze opisatisledecim recenicama:
  1. 1) Akt [BrojAkta] im predmet [Predmet] i poslaoga je [Posiljilac] a mi smog a uneli u bazu na [DatumUnosa] u vreme [VrijemeUnosa]
    2) Akt [BrojAkta] je signiran na osobu [Korisnik] dana [DatumSigniranja]
    3) Signirani akt [BrojAkta] osoba [Korisink] moze da vrati u protocol na dan [DatumVracanja]

On u uglastim zagradama su u stvari kolone u tabelama. Dakle, uglaset zagrade su kolone – polja u nasim tabelama. U sledecem koraku tabele treba da povezemo, da bi garantovali ispravnost podataka (integritete podataka). Ako ti zvuci komplikovano, jeste komplikovano, da li mora tako – mora. Ako ne razumes, nema veze, procitaj cisto z ainformaciju, postce jasno kasnije.

Tabele cemo ovako povezati:



Sad se processi tok podataka mogu opisati ovako:

Kad se akt dobije od nekog posiljioca, to se zavede u tabelu Akti. Tu se aktu mora dodeliti jedinstvena oznaka – [BrojAkta], koju smo ostavili d abude text tipa. Sta god da uneses, prolazi, samo da je jedinstveno, na bilo koji nacin. Sva su polja obavezna, nesto se mora uneti.

Kad se akt signira na korisnika, to se upisuje u tabelu SigniraniAkti: {BrojAkta,Korisnik,DatumSigniranja}. Akt se moze na odredjenog korsinka signirati samo jednom. Akt se moze signirati na neogranicen broj korisnika.

Ako korisnik vrati akt u protocol, to se zapisuje u tabelu AKtiVraceniUProtokol. Samo akt koji je bio signiran na korisnika moze se vratiti u protocol.

I to je sve sto se tice cuvanja informacija koje su nastale u procesu. Izvlacenje informacija iz baze je zadat za kverije.

Pogledaj sledece kverije:
qrySigniraniAkti – najvazniji od svih, osnova za brojanje i anlitiku. Pokazuje sve akte koji su primljeni i signirani bar na jednog korisnika
qrySigniraniAkti_Vraceni_i_Nevraceni – pregeld signiranja po korisnicama, svi akti koji su iakda signirani. Neki od ovih akta su mozda I vraceni u protocol.
qryAktiVraceniUProtokol – akti koji su bili signirani na nekoga, pa ih je taj neko vratio u protocol
qrySigniraniAkti_NisuVraceni – akti koji su signirani nekome, i nisuvraceni u protocol. To je ono sto te je verovatno interesovalo na pocetk ove price.

Access nije bas mocan u daljem prikazivanju ove vrste kverija, pa ces verovatno rezultate Cut/Paset u Excel, pa ces u Excelu tamo nasminkati izvestaje.

Ako ti treba jos nesto da se vadi iz baze, postavi pitanje, pa ce ZXZ ili neko vec naci nacina da to izvuce iz baze.

Ikona prilozene slike:
2013-07-12_150214.png
Tip fajla: Informacije o fajlu: png png
Preuzimanja: 102
Veličina: 8.32 KB
Veličina slike: 616 x 235 Pixels



Prilozi:
Informacije o fajlu: rar  PrimjerZ.rar
Preuzimanja: 96
Veličina: 32.56 KB

↑  ↓

#17 12.07.2013-20:43
zidar Offline
Moderator
Registrovan/a od: 03.02.2009-21:52
Komentari: 27


Subject: Re: CountIf u accessu?
Evo u Wordu objasnjenje, sa slikom. Kakao se ubacuju slike u poruke? ranije ej bilo jednostavno, sad je nesto zakomplikovano...

Prilozi:
Informacije o fajlu: rar  Razumevanje.rar
Preuzimanja: 92
Veličina: 25.57 KB

↑  ↓

#18 14.07.2013-18:19
Miki2013 Offline
Clan
Registrovan/a od: 03.05.2013-17:02
Komentari: 38


Subject: Re: CountIf u accessu?
Mislim da sam na korak od rjesenja.

Ako moze mala pomoc sa jednom procedurom kako da je ispravno napisem mislim da cu rijesiti problem.

Znaci imam combo box polje "PresigSA" i sada na event AfterUpdate bih postavio da provjerava drugo polje i ako se podudaraju vrijednosti da brise sadrzaj polja koje provjerava.

Primjer:
Ako je odabrana vrijednost polja "PresigSA" = 01 idi na polje "sig01" vidi je li prazno i ako nije sadrzaj polja sig01 kopiraj u polje "napomena" a zatim izbrisi sadrzaj u polju "sig01"

Private Sub PresigSA_AfterUpdate()
If [PresigSA].Value = "01" Then
?
Else
?
End If
End Sub

Evo primjer cisto da znate na sta mislim.
↑  ↓

#19 14.07.2013-21:23
Miki2013 Offline
Clan
Registrovan/a od: 03.05.2013-17:02
Komentari: 38


Subject: Re: CountIf u accessu?
Hajde da sam sebi odgovorim da ovaj kod ispod radi sve sto mi treba osim kopiranja u polje napomena-

Private Sub PresigSA_AfterUpdate()
If [PresigSA].Value = "01" Then
DoCmd.GoToControl "sig01"
End If
If [sig01].Value = "01" Then
[sig01] = ""
End If
End Sub
↑  ↓

#20 14.07.2013-22:36
Miki2013 Offline
Clan
Registrovan/a od: 03.05.2013-17:02
Komentari: 38


Subject: Re: CountIf u accessu?
Ok... rijesio sam i ovo...!
zxz... Zidar... hvala na pomoći...

Oba vasa prijedloga su interesantna ali nazalost nemogu se primjeniti na mom projektu bez dodatnih dorada. Ja sam to ipak odradio na svom projektu uz malo "maste" i "nabadanja" u pisanju procedura i na kraju sam dobio ono sto mi treba.

Pozdrav!
↑  ↓

#21 14.07.2013-22:37
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,953


Subject: Re: CountIf u accessu?
Nece ti to biti dovoljno da radi kako valja ali eto:
Private Sub PresigSA_AfterUpdate()
If [PresigSA].Value = "01" Then
DoCmd.GoToControl "sig01"
me.napomena=me.sig01
End If
If [sig01].Value = "01" Then
[sig01] = ""
End If
End Sub
Pozdrav
↑  ↓

#22 15.07.2013-00:15
Miki2013 Offline
Clan
Registrovan/a od: 03.05.2013-17:02
Komentari: 38


Subject: Re: CountIf u accessu?
Napravio sam obrnuti postupak... prilikom presigniranja

If [PresigSA].Value = "01" Then
DoCmd.GoToControl "sig01"
[sig01] = cls
End If

Private Sub PresigNA_AfterUpdate()
If [PresigNA].Value = "01" Then
DoCmd.GoToControl "sig01"
[sig01] = "01"
End If

Nije mi jasno kako ali radi i ova cls umjesto ""

Imam sad jednu nejasnocu koju nikako ne mogu da dokucim
"Pamti mi" sve kod koga je sta bilo signirano prije presigniranja i prikazuje u analitici iako u tabeli nema vise te vrijednosti on je racuna kao da ima.
Uklonio sam cak i indeksiranje sa ovih polja ali i dalje negdje "pamti" te vrijednosti...

Ikona prilozene slike:
statistika.jpg
Tip fajla: Informacije o fajlu: jpg jpg
Preuzimanja: 105
Veličina: 74.18 KB
Veličina slike: 452 x 513 Pixels

Ovaj komentar je mijenjan 1 puta. zadnja izmjena 15.07.2013-00:18 od strane Miki2013. ↑  ↓

#23 15.07.2013-13:35
Miki2013 Offline
Clan
Registrovan/a od: 03.05.2013-17:02
Komentari: 38


Subject: Re: CountIf u accessu?
Rijesio sam i ovu "nejasnocu"... samo sam povezao 2 upita 1<--->1. Onaj koji mi je "vadio" podatke iz tabele i drugi koji je pratio samo kolonu "PresigSA" i kolonu PresigNA.

Count je "cudo" od komande Grinning

Sada sam jos ugradio i grafikon ispod tako da je sve to sad i lijepo "nasminkano"
↑  ↓

#24 15.07.2013-14:39
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,953


Subject: Re: CountIf u accessu?
Ja sam ti poceo nesto raditi.
Znaci nemoram dalje,
mada cisto sumnjam da ce te to zadovoljiti na duze staze.
Uocio sam nekoliko manjkavosti tvoje app.
Prvo sistematizacija radnih mjesta koja ti nazivas sig01 do 11.
Ukoliko se tu nesto bude mijenjalo morat ces mijenjati i strukturu.
Ima gresaka i na formi napr. kod koga se nalazi orginal, stavio si opcoine tastere umjesto tekst ili combo box pa ako bi se povecao broj radnih mjesta morao bi sve to dizajnirati na formi.
Ima jos toga ali eto.
Pokusao te i zidar ubijediti ali eto nije islo.
Sve u svemu bitno je da si ti zadovoljan.
Pozdrav
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 15.07.2013-14:41 od strane zxz. ↑  ↓

#25 15.07.2013-15:36
zidar Offline
Moderator
Registrovan/a od: 03.02.2009-21:52
Komentari: 27


Subject: Re: CountIf u accessu?
"Ja sam to ipak odradio na svom projektu uz malo "maste" i "nabadanja" u pisanju procedura i na kraju sam dobio ono sto mi treba."
Ako je tako, onda je sve OK, nema sta da se doda ili oduzme. Ako budes imao problema na duzi rok, moraces da prepravis bazu onako kako to pravila relacione teorije nalazu. To nije ni slicno onome kako radi Excel i to ce biti tesko, ali sta se mora nije tesko.

Srecan rad :-)
↑  ↓

#26 15.07.2013-15:53
Miki2013 Offline
Clan
Registrovan/a od: 03.05.2013-17:02
Komentari: 38


Subject: Re: CountIf u accessu?
Povlacim ono sto sam napisao o Countif... ipak je sama bila nemocna.
Morao sam ipak ukljuciti sum.

To u upitu izgleda ovako:
Signirano na 01: Sum(IIf([tblOsnovna.sig01]="01";1;0))

Ovo mi sada daje 100% ono sto sam zelio.

Ako analiziras moje prethodne postove shvatit ces sta sam mislio sa ono "malo maste".

Jednostavno je:
Umjesto da komplikujem sa brojanjem u signirano i presignirano ja sam samo napravio obrnuti postupak. Pa ako je nešto presignirano brise se iz tabele gdje je bilo signirano, odnosno vraca se onome drugom kome je presignirano tako da sada imam sve sto mi treba u jednoj tabeli... ne trebaju mi relacije.

A za buducu upotrebu (ako kad zatreba) ono kod koga je bio ranije akt to ostaje zabiljezeno u koloni "PresigSA".

Nadam se da sam dobro opisao postupak jer sam jos uvijek odusevljen kako ga je jednostavno bilo napraviti iako mi je nekoliko dana izgledalo previse komplikovano da sam cak skoro odustao od ovoga.

Pozdrav!
↑  ↓

#27 15.07.2013-16:05
Miki2013 Offline
Clan
Registrovan/a od: 03.05.2013-17:02
Komentari: 38


Subject: Re: CountIf u accessu?
Citat od zxz:
Ja sam ti poceo nesto raditi.
Znaci nemoram dalje,
mada cisto sumnjam da ce te to zadovoljiti na duze staze.
Uocio sam nekoliko manjkavosti tvoje app.
Prvo sistematizacija radnih mjesta koja ti nazivas sig01 do 11.
Ukoliko se tu nesto bude mijenjalo morat ces mijenjati i strukturu.
Ima gresaka i na formi napr. kod koga se nalazi orginal, stavio si opcoine tastere umjesto tekst ili combo box pa ako bi se povecao broj radnih mjesta morao bi sve to dizajnirati na formi.
Ima jos toga ali eto.

Pokusao te i zidar ubijediti ali eto nije islo.
Sve u svemu bitno je da si ti zadovoljan.

Drugar!
Hvala tebi u svakom slucaju "do nebesa" sto bi nas narod rekao...
Svaka primjedba i sugestija je dobro dosla.

Sto se tice sistematizacije radnih mjesta, nisam je pravio, nametnuta mi je takva i cisto sumnjam u narednih 20 godina da ce biti ista drugacije jer se na isti nacin radi i 15 godina unazad.

Da su nam firme podlozne promjenama (mislim na drustvene) pa makar i nagore bilo bi bolje od ove jednolicnosti.

Dakle, ako ima jos kakvih manjkavosti a vjerujem da ima i ne sumnjam u tvoj majstorski sud o tome... samo ih iznesi a ja cu sa ovim svojim skromnim znanjem nastojati da ih uklonim.

Ja licno ih trenutno ne vidim ..vjerovatno zato sto se previse vremena druzim sa ovom aplikacijom ali sam shvatio da ako covjek ima maste zaista samo nebo je granica...

Pozdrav!
↑  ↓

Stranice (2): 1, 2


All times are GMT +01:00. Current time: 21.09.2019-21:17.