[ Carduel @ 25.10.2022. 17:03 ] @
Pozdrav svima,

razmišljam o sljedećoj situaciji pa bi vas molio da prokomentirate.

Neka firma kupuje određene modele uređaja koji imaju unikatni serijski broj. Da bi uređaj bio aktivan potrebno je sklopiti ugovor sa nekim operaterom koji prodaje SIM kartice i/ili internetski pristup bez SIM kartica. Znamo da SIM kartica ima svoj ICC broj i korisnički broj. Trajnost tih kartica ovisi o ponašanju firme, ako plaća onda je ok ako ne plaća kartica bude suspendirana i treba novi ugovor i novi broj kartice tako da jedan uređaj može imati jednu ili više kartica ovisno o ponašanju firme.

Ovdje bi u izvješćima bilo zanimljiva lista uređaja koje firma ima, datum sklapanja ugovora, operater, icc i korisnički broj, da li je aktivna kartica ili internetski pristup.

Ovdje se pojavljuji firme, uredjaji, operater, kartice, ugovor. Baš me zanima kako to u praksi funkcionira.

lp
[ Carduel @ 27.10.2022. 14:50 ] @
Zamolio bi nekoga tko se razumije u baze podataka da napiše koji red teksta kako gledati na ovakvu situaciju, koju tablicu izabrati kao glavnu.

Nešto sam razmišljao da bi mogao krenuti od ugovora gdje se navodi datum ugovora, firma, sim kartica ali nema tu naziva uređaja pa ni njegovog serijskog broja tako da ugovor otpada kao polazište.

Imamo situaciju da firma, kupi od dobavljača uređaj (sa serijskim brojem) i taj uređaj može imati više SIM kartica ili internet priključaka. Sve te kartice su dodijeljene preko ugovora tim firmama a fizički se ubacuju u uređaje.
[ Getsbi @ 27.10.2022. 19:24 ] @
"....Nešto sam razmišljao da bi mogao krenuti od ugovora gdje se navodi datum ugovora, firma, sim kartica ali nema tu naziva uređaja pa ni njegovog serijskog broja tako da ugovor otpada kao polazište....."

To nije razlog da odustaneš od ideje da postoji neki dokument koji povezuje korisnika, operatera i kartice. Uređaji su trenutno manje važni jer korisnik može da istu karticu prebacuje iz jednog u drugi.
Predpostavljam da posmatraš poslovni proces iz ugla jednog operatera. Ako nije tako onda pojasni o čemu se radi. Možda o nekom ko analizira sve operatere i njihov rad poput policije.

P.S.
Slobodno zakači .accdb fajl sa tabelama. Biće lakše da se formira model baze podataka.
[ Carduel @ 27.10.2022. 19:57 ] @
Hvala Getsbi,

nije problem baza nego još sam u fazi razmišljanja kako bi to moglo ići pa zbog toga nisam ništa postavljao na forum.

To promatranje 'poslovnog procesa' mi je za sada apstraktno.

Ono o čemu razmišljam sve mi govori da bi taj proces trebalo posmatrati sa strane servisera jer mi trebaju odgovori na sljedeća pitanja:

1. Koliko neka firma ima uređaja (npr. Promet d.o.o. ima 5 uređaja, Duga d.o.o. ima 7, itd...)
2. Ako neka firma ima poslovne jedinice onda info o tome koliko ta poslovna jedinicia ima uređaja
3. Koje je marke taj uređaj (Samsung, Xiaomi,...)
4. Koji je tip uređaja (Galaxy A51, Mi 11,...)
5. Od kojeg je operatera kartica u uređaju, njen icc i korisnički broj (T-Mobile, 123456789, +385 91 xxxx xxx)
6. Info o sklapanju ugovora

S obzirom što se gleda da li se promatra ovaj poslovni proces sa strane servisera?






[Ovu poruku je menjao Carduel dana 27.10.2022. u 21:11 GMT+1]
[ Getsbi @ 27.10.2022. 21:12 ] @
Apstraktno znači umetnički dojam nečeg. Moraš da imaš konkretan poslovni proces koji se do sada radio potpuno ili delimično ručno da bi ga automatizovao uz pomoć modela baze podataka. Konkretan cilj i konkretan ugao posmatranja. Kad kažem recimo studiranje na fakultetu. Može da bude iz pozicije studenta, iz pozicije studentske službe i dekana, iz pozicije jednog nastavnika, iz pozicije jedne katedre......Shodno tome postojali bi programi koji vode evidencije o tome i njihova izrada bi bila pojedinačni ciljevi.
Poslovni proces ne može da bude zamišljen već mora da bude realan. Nejasnoća na početku skupo košta na kraju zbog budućih izmena.

U polje za pretragu ovog foruma ukucaj reč serviser. Pročitaj tih nekoliko tema koje ćeš dobiti. Možda će ti pomoći.

P.S. Pročitaj i ovo: https://www.elitesecurity.org/...a-definisete-projektni-zadatak


[Ovu poruku je menjao Getsbi dana 27.10.2022. u 22:52 GMT+1]
[ Predrag Supurovic @ 28.10.2022. 09:17 ] @
Ako prodaješ uređaja što su ti bitne kartice?

Ako ti je bitno i jedno i drugio, napravi neki sistem online aktivacije kojim ćeš uvek imati registrovane parove uređaj-kartica. A ako korisnik želi da prebaci karticu u drugi uređaj onda mora da deregistruje prethodni par pa da registruje novi. To sve može da se napravi da bude potpuno automatizovano sa tvoje strane.

[ Carduel @ 28.10.2022. 17:31 ] @
Citat:
Predrag Supurovic: Ako prodaješ uređaja što su ti bitne kartice?

Ako ti je bitno i jedno i drugio, napravi neki sistem online aktivacije kojim ćeš uvek imati registrovane parove uređaj-kartica. A ako korisnik želi da prebaci karticu u drugi uređaj onda mora da deregistruje prethodni par pa da registruje novi. To sve može da se napravi da bude potpuno automatizovano sa tvoje strane.


Pozdrav Predraže,

ovdje se radi o tome da korisnici se jave i kažu mi ne radi mi uređaj pa moram tražiti koji je uređaj, koji je broj kartice pa zvati operatera da vidim da li je blokirana kartica. Operater traži po korisničkom broju jer su djelatnici informatički nepismeni pa neki znaju nači korisnički broj po ICC-u a velika većina ne zna pa to dodatno komplicira stvari.

Kartice se ne prebacuju iz uređaja u uređaj, jedan uređaj jedna kartica dok se plaća pretplata. Ako se ne plati onda se suspendira kartica pa treba novi ugovor i nova kartica sa novim korisničkim brojem.

Ne treba mi sustav koji ima u sebi ulazne račune, kalkulacije, izlazne fakture, samo praćenje koje firme imaju uređaji i koje su kartice u uređaju pa da olakšam sebi život.



[ Getsbi @ 28.10.2022. 19:49 ] @
Ponovo sam pročitao celu temu. Ako sam dobro razumeo korisnici su ti samo firme a ne fizička lica. U tom slučaju nedostaje ti još jedna tabela PoslvneJediniceT. Veži je više prema jedan za tabelu KorisnikT. I veži je jedan prema više za tabelu UteđajT

Zakači Accessov fajl pa da nastavimo.
[ Carduel @ 28.10.2022. 22:47 ] @
Citat:
Getsbi: Ponovo sam pročitao celu temu. Ako sam dobro razumeo korisnici su ti samo firme a ne fizička lica. U tom slučaju nedostaje ti još jedna tabela PoslvneJediniceT. Veži je više prema jedan za tabelu KorisnikT. I veži je jedan prema više za tabelu UteđajT

Zakači Accessov fajl pa da nastavimo.


Tako je, korisnici su samo firme.

Koristim Access 2019, to sam zaboravio spomenuti.



[ Getsbi @ 29.10.2022. 08:24 ] @
Prvo što bih preporučio je da ujednačiš notaciju. Ne koristi samo skraćenicu ID (uređaj, kartice, operater). To kasnije kod pisanja VBA kôda olakšava razumevanje i povećava čitljivost. Ako bude bilo potrebe za složenim ključevima, takođe je potrebno nešto tipa UredjajID, KarticaID......
Drugo je pitanje jednine i množine. Može ili jedno ili drugo. Rekao bih da je jednina dovoljna jer se podrazumeva da u tabeli ima više različitih primeraka. Ispravio sam Kartice u Kartica. Ono slovo T na kraju sam skinuo jer misliim da nema svrhu.
Možda za kolonu IDBrojKorisnika postoji drugi naziv. Ako ne, neka ostane.
Dodaj svuda kolone koje si pominjao u svom trećem postu, pa da vidimo koji nam upiti kao izvori za izveštaje trebaju.


Nešto me zeza upload.





[Ovu poruku je menjao Getsbi dana 29.10.2022. u 11:32 GMT+1]
[ Carduel @ 29.10.2022. 18:53 ] @
Citat:
Carduel:
Ono o čemu razmišljam sve mi govori da bi taj proces trebalo posmatrati sa strane servisera jer mi trebaju odgovori na sljedeća pitanja:

1. Koliko neka firma ima uređaja (npr. Promet d.o.o. ima 5 uređaja, Duga d.o.o. ima 7, itd...)
2. Ako neka firma ima poslovne jedinice onda info o tome koliko ta poslovna jedinicia ima uređaja
3. Koje je marke taj uređaj (Samsung, Xiaomi,...)
4. Koji je tip uređaja (Galaxy A51, Mi 11,...)
5. Od kojeg je operatera kartica u uređaju, njen icc i korisnički broj (T-Mobile, 123456789, +385 91 xxxx xxx)
6. Info o sklapanju ugovora

[Ovu poruku je menjao Carduel dana 27.10.2022. u 21:11 GMT+1]


Samo da pojasnim kako to u praksi izgleda:

1. nabavim uređaj od dobavljača
2. nabavim kartice od operatera (na njima piše icc i korisnički broj)
2. otvorim novi dokument (zahtjev o dodjeli uređaja) u kojem dodijelim uređaj firmi ili njenoj poslovnici ovisno od potrebe
3. otvorim novi ugovor sa operaterom gdje dodjeljujem karticu firmi ili njenoj poslovnici. Na ugovoru se ne spominje naziv, model niti serijski broj uređaja. Ovo ne razumijem, na ugovoru sa operaterom se ne navodi naziv, model ni serijski broj uređaja, nego samo icc broj i korisnički broj kartice a negdje u ova dva dokumenta (zahtjev i ugovor) trebao bi se navesti naziv, model i serijski broj tako da 100% znam koja je kartica u kojem uređaju bez da svaki put otvaram uređaj i provjeravam.

U tablicu Kartica dodao sam Korisnički broj, napravio tablice ModelUredjaja i Ugovor. Kao što sam gore naveo da se na ugovoru s operaterom ne navodi naziv uređaja, model niti njegov serijski broj da li možemo u ovakvoj situaciji "na silu" dodati u tablicu Ugovor polje UredjajID gdje bi karticu i uređaj povezali?







[Ovu poruku je menjao Carduel dana 29.10.2022. u 20:07 GMT+1]

[Ovu poruku je menjao Carduel dana 29.10.2022. u 20:09 GMT+1]

[Ovu poruku je menjao Carduel dana 29.10.2022. u 20:13 GMT+1]
[ Getsbi @ 29.10.2022. 21:51 ] @
Mislim da ti nova tabela ModelUredjaja ne treba. Modeli i tipovi su osobine uređaja. Tako da bi ja radije dodao novu kolonu u tabelu Uređaj.
Da li ti u tabeli Uredjaj treba informacija od koga si uređaj dobavio? Ako treba onda je dodaj.
Nemoj da brineš oko toga što se na ugovoru sa operaterom ne navodi naziv, model ni serijski broj uređaja, nego samo icc broj i korisnički broj kartice. Sve te podatke ćeš isčupati putem upita (query-a), bez da fizički otvaraš uređaj.

"...da li možemo u ovakvoj situaciji "na silu" dodati u tablicu Ugovor polje UredjajID gdje bi karticu i uređaj povezali?"

Ako se ugovor pravi za pojedinačni uređaj onda ih poveži 1:1

Bilo bi dobro da znamo koliko se ugovora očekuje. Koji je to red veličina. Koliko uređaja, njihovih modela, kartica, korisnika, poslovnih jedinica po korisniku. Ovo zbog odluka oko toga da li PK treba da bude Autonumber ili broj koji ti dodeljuješ. Ovaj prvi zna da bude nezgodan nakon brisanja i eventualnog vraćanja podataka. I sve je izglednije da poslovne jedinice treba da imaju složeni ključ. KorisnikID+PoslovnaJedinicaID.


[Ovu poruku je menjao Getsbi dana 30.10.2022. u 18:19 GMT+1]
[ Carduel @ 30.10.2022. 19:39 ] @
Izbacio sam tablicu ModelUredjaja, dodao tablicu Dobavljac i u tablicu Ugovor dodao kolonu UredjajID.

Nisam povezao tablicu ugovor i uredjaj jer nisam 100% siguran kako se to radi.

Zamolio bi objašnjenje veze tipa 1:1 i nekoliko primjera iz prakse da 'skužim' o čemu se radi.

U slučaju da se suspendira (trajno ugasi) kartica u uređaju, potrebno je napraviti novi ugovor i ponovo povezati tu novu karticu i uređaj. Pretpostavljam da i u ovom slučaju ostaje na snazi veza 1:1.
[ Getsbi @ 30.10.2022. 22:17 ] @
Ok. Ako postoji mogućnost da se isti uređaj pojavi više puta u tabeli Ugovor zbog suspendiranja kartice, onda ćemo ga vezati jedan prema više.

Ako je to do sada u redu onda bi trebalo da proveriš sve tipove i veličine kolona, te uneseš par podataka direktno u tabele. Kreni od korisnika i operatera, a za kraj ostavi ugovore. Nakon toga ćemo napraviti par upita i pre svega rešimo tvoju nedoumicu oko naziv uređaja, modela i njegovog serijskog broja u ugovoru koje trenutno nemaš u papirnatim ugovorima.

One informacije o očekivanom redu veličina (previđeni broj podataka u tabelama) bi nam dobro došao. Ipak ja nisam iz te branše pa ne mogu da predpostavim.

P.S. Ostavio sam ti par primera za vezu 1:1. Pokušajda ih napraviš. Retki su ali zatrebaju.

[Ovu poruku je menjao Getsbi dana 30.10.2022. u 23:43 GMT+1]
[ Carduel @ 30.10.2022. 23:43 ] @
Citat:
Getsbi:
Bilo bi dobro da znamo koliko se ugovora očekuje. Koji je to red veličina. Koliko uređaja, njihovih modela, kartica, korisnika, poslovnih jedinica po korisniku. Ovo zbog odluka oko toga da li PK treba da bude Autonumber ili broj koji ti dodeljuješ. Ovaj prvi zna da bude nezgodan nakon brisanja i eventualnog vraćanja podataka. I sve je izglednije da poslovne jedinice treba da imaju složeni ključ. KorisnikID+PoslovnaJedinicaID.
[Ovu poruku je menjao Getsbi dana 30.10.2022. u 18:19 GMT+1]


Ovu poruku sam tek sad pročitao.

1. Ugovori (koliko se očekuje) - 50 - 100 ugovora godišnje.
2. Koji je red veličina? Ne znam na što točno misliš?
3. Uređaji (koliko uređaja) - 50 - 100 godišnje
4. Modeli uređaja - cca 15-ak
5. Katice prate broj uređaja plus koja viška da se može postaviti ukoliko je suspendirana
6. Korisnici - 300 - 500 korisnika (trebao bi prebrojati), svake godine dolaze neki novi korisnici
7. Poslovne jedinice od 1 do 3 za sada sam imao

Nekako mi se čini da je Autonumber za običnog korisnika elegantno i jednostavno rješenje, ne mora se voditi računa o 'brojčaniku', samo se upisuje.

Kojeg tipa bi bio broj ili kombinacija brojeva i slova pa da se izbjegne duplikat i da se jednostavno unosi? Čini mi se da bi trebala postojati provjera unosa na ovom polju tako da program upozori ako se pokuša unijeti isti podatak. Možda se to radi preko svojstva Indexed da se ne dozvoli unos duplikata?

Citat:
Carduel:
3. otvorim novi dokument (zahtjev o dodjeli uređaja) u kojem dodijelim uređaj firmi ili njenoj poslovnici ovisno od potrebe


U praksi postoji i ovaj korak gdje se zahtjevom za dodjelu uređaja dodijeli uređaj nekoj firmi ili njenoj poslovnoj jedinici.

Pošto ove sve informacije imamo u ugovoru sa operaterom možemo li zanemariti ovaj zahtjev za dodjelu uređaja? U ovom slučaju treba nam forma za unos podataka o firmama, pj, uređajima a kasnije nova forma ugovora za unos ostalih podataka sa operaterom.

Pošto ne znam kako to ide kod baza podataka pretpostavljam da napišem i koji red 'gluposti' pa nemojte zamjeriti. Uzeo sam i nekoliko škola za početnike, srednje i napredne korisnike MS Accessa ali o dizajnu baza podataka i praktičnim primjerima dobiješ informacije na kapaljku. Nekako mi se čini da za druge teme (grafika, design, prijelom, itd...) ima dosta konkretnih primjera ali za baze jako malo ili nisam uspio postaviti prava pitanja na googlu.
[ Getsbi @ 31.10.2022. 06:40 ] @
Citat:
2. Koji je red veličina? Ne znam na što točno misliš?

Mislio sam na broj (na stotine, na hiljade...). Ali dobio sam konkretan odgovor.
Citat:
Nekako mi se čini da je Autonumber za običnog korisnika elegantno i jednostavno rješenje, ne mora se voditi računa o 'brojčaniku', samo se upisuje.

Ok. samo redovno pravi arhivske kopije podataka. Ako dođe do nekog problema, rešićemo.
Citat:
Kojeg tipa bi bio broj ili kombinacija brojeva i slova pa da se izbjegne duplikat i da se jednostavno unosi? Čini mi se da bi trebala postojati provjera unosa na ovom polju tako da program upozori ako se pokuša unijeti isti podatak. Možda se to radi preko svojstva Indexed da se ne dozvoli unos duplikata?

Short Text. Brojevi su tamo samo cifre. Kod složenih ključeva se manipuliše sa svojstvom Indexed. Za sada to nije prioritet jer Access po defaultu neda da PK bude ponovljen.
Citat:
Pošto ove sve informacije imamo u ugovoru sa operaterom možemo li zanemariti ovaj zahtjev za dodjelu uređaja? U ovom slučaju treba nam forma za unos podataka o firmama, pj, uređajima a kasnije nova forma ugovora za unos ostalih podataka sa operaterom.

Ja bih isto tako postupio. Napravio bih dve razlišite forme za popunu tabele Ugovor. U jednoj nebih spominjao operatera, a u drugoj korisnika. Kod tih prenesenih ključevia je osobina Required već postavljena na No.
Citat:
Uzeo sam i nekoliko škola za početnike, srednje i napredne korisnike MS Accessa ali o dizajnu baza podataka i praktičnim primjerima dobiješ informacije na kapaljku. Nekako mi se čini da za druge teme (grafika, design, prijelom, itd...) ima dosta konkretnih primjera ali za baze jako malo ili nisam uspio postaviti prava pitanja na googlu.


Ove sam knjige pisao dok sam radio na RAF-u u Beogradu, pa možda pomogne.
https://cet.rs/proizvod/modeliranje-informacionih-sistema/

https://cet.rs/proizvod/zbirka...-iz-informacionog-modeliranja/
[ Carduel @ 31.10.2022. 17:10 ] @
Unio sam neke podatke u tablice, nisam ništa radio po pitanju unosa u tablicu ugovor.

Kod unosa podataka u tablicu Uredjaj javljalo mi je grešku da ne mogu unijeti podatak ako ne unesem podatak za poslovnu jedinicu. Pretpostavljam da ovdje treba dozvoliti null vrijednosti ili sam nešto krivo posložio.



[ Getsbi @ 31.10.2022. 17:54 ] @
Pošto nam je tabela Ugovor postala centralna evidencija izbacio sam iz tabele Uredjaj korisnike i poslovnice. Nema razloga da komplikujemo. Sad možeš da popuniš malo tabelu Ugovor vodeći računa da tamo gde unosiš korisnika i poslovnu jedinicu ne unosiš operatera i obratno. Kasnije ćeš imati dve odvjene forme. Jednu prema korisniku, a drugu prema operateru. Kad to uradiš napraviću ti query za prvi izveštaj.
[ Carduel @ 31.10.2022. 18:27 ] @
Pokušavam popuniti record u tablici Ugovor ali dobijem grešku You cannot add or change a record because a related record is required in table korisnik ili poslovna jedinica ili operater.

Čini mi se da po zadnjim podešavanjima parametara treba unijeti i korisnika i pj i operatera. Ne vidim načina da unesem samo korisnika ili samo pj ili samo operatera.



[ Getsbi @ 31.10.2022. 19:38 ] @
To sam prvideo. Eto zašto nevalja Autonumber kod spoljnih tabela (šifarnika). Imaš dve opcije.

1. Da vratiš kod svih PK Autonumber na običan Number osim kod Ugovora. Tu može da ostane Autonumber. Onda ti kontrolišeš redosled i možeš da uneseš prvog operatera sa PK broj 0 i u nazivu ga nazoveš "Neraspoređen". Takođe to uradiš i za korisnika i njihove poslovnice. Referencijalni integritet će da radi.

2. Opcija je da u strukturi tabele Ugovor na sva tri polja (KorisnikID, PoslovnaJedinicaID, OperaterID) u osobini Default Value obrišeš nule i ostaviš ta polja prazna. Prkatično dozvoliš Null vrednost. Referencijalni integritet će i ovde da radi. Ova mi se opcija čini elegantnijom ali u svakom slučaju izbegavaj Autonumber osim kod tabela gde očekuješ jako veliki broj zapisa.
Pošto si mi predočio koji su to redovi valičina (očekivani broj zapisa u tabelama) ja sam za to da ti vodiš računa o redosledu kod PK svih drugih tabela osim centralne (tabela Ugovor)

Na tebi je da odlučiš.
[ Carduel @ 31.10.2022. 19:58 ] @
Izabrao sam 2 opciju, sada radi upis podataka.

[ Carduel @ 31.10.2022. 20:10 ] @
Citat:
Getsbi: To sam prvideo. Eto zašto nevalja Autonumber kod spoljnih tabela (šifarnika). Imaš dve opcije.

1. Da vratiš kod svih PK Autonumber na običan Number osim kod Ugovora. Tu može da ostane Autonumber. Onda ti kontrolišeš redosled i možeš da uneseš prvog operatera sa PK broj 0 i u nazivu ga nazoveš "Neraspoređen". Takođe to uradiš i za korisnika i njihove poslovnice. Referencijalni integritet će da radi.


U ovom slučaju se PK može dodijeliti bilo koja vrijednost podatka (neka šifra u kombinaciji brojeva i slova neovisno o dužini) a u slučaju istog unosa ref. integritet to neće dozvoliti.

Ako tabela korisnik naraste na 1000 unosa da li je i u tom slučaju poželjno ostaviti number tip podatka pa sortirati u formi to polje (combobox) po nazivu radi lakšeg odabira jer tu mi se čini da je teško pretraživati po 'našim' šiframa?

2. Opcija je da u strukturi tabele Ugovor na sva tri polja (KorisnikID, PoslovnaJedinicaID, OperaterID) u osobini Default Value obrišeš nule i ostaviš ta polja prazna. Prkatično dozvoliš Null vrednost. Referencijalni integritet će i ovde da radi. Ova mi se opcija čini elegantnijom ali u svakom slučaju izbegavaj Autonumber osim kod tabela gde očekuješ jako veliki broj zapisa.[/quote]

Citat:

Pošto si mi predočio koji su to redovi valičina (očekivani broj zapisa u tabelama) ja sam za to da ti vodiš računa o redosledu kod PK svih drugih tabela osim centralne (tabela Ugovor)

Na tebi je da odlučiš.


Ovo ću ostaviti za kasnije kao drugu verziju ove baze podataka.



[ Getsbi @ 31.10.2022. 21:27 ] @
Ne treba bežati od kontrolisanja brojeva tipa Number. Na formama za unos, u osobini Default Value treba upisati:
= Nz(DMax("[KorisnikID]";"Korisnik");0) +1
To će uvek nuditi za jedan veći od prethodnog. Osobina Enabled tog polja se postavi na No i tada nema brisanja. Opet se sve ponaša kao Autonumber-increment.

Autonumber je dobar jedino za neke tabele sa jako velikim brojem zapisa koje su samostalne (nepovezane). Recimo tabela „BiračkiSpisak” ili „SpisakSvihNaselejnihMesta” u državi.

Jednom obrisani broj tipa Autonumber više ne može da se upotrebi. Čini mi se da mora da se prazni cela tabela, ako se ne varam.

Pogledaću sutra fajl.
[ Carduel @ 31.10.2022. 22:40 ] @
Citat:
Getsbi: Ne treba bežati od kontrolisanja brojeva tipa Number. Na formama za unos, u osobini Default Value treba upisati:
= Nz(DMax("[KorisnikID]";"Korisnik");0) +1
To će uvek nuditi za jedan veći od prethodnog. Osobina Enabled tog polja se postavi na No i tada nema brisanja. Opet se sve ponaša kao Autonumber-increment.

Autonumber je dobar jedino za neke tabele sa jako velikim brojem zapisa koje su samostalne (nepovezane). Recimo tabela „BiračkiSpisak” ili „SpisakSvihNaselejnihMesta” u državi.

Jednom obrisani broj tipa Autonumber više ne može da se upotrebi. Čini mi se da mora da se prazni cela tabela, ako se ne varam.

Pogledaću sutra fajl.


Čitaš mi misli, taman razmišljam o tome kako bi se mogao odraditi 'increment' za 1 a da nije polje tipa autonumber. :)

Getsbi, Vi ste pravi doktor! Veliko poštovanje sa moje strane.

[ Getsbi @ 01.11.2022. 06:43 ] @
Forma radi pristojno. Mada bi je ja nazvao UgovorSaKorisnikom i napravio još jednu UgovorSaOperaterom gde se neće videti polja Korisnik i Poslovna jedinica. Tako kasnije iz menija koji sledi pri kraju projekta biraš onaj koji ti je na tapetu, a nema dvojbe koja polja za unos preskočiti.

Takođe više preferiram izdvojene (plivajuće prozore na ekranu) umesto tabova (kartica).
Isprobaj: Access Options, Current Database, Overlaping Windows.
[ blingaro @ 01.11.2022. 09:13 ] @
Citat:
Carduel:


Getsbi, Vi ste pravi doktor! Veliko poštovanje sa moje strane.


Da, da. Profesor Getsbi zaista jeste doktor nauka (dipl. ing.). Mnogo puta mi je direktno i indirektno pomogao svojim savetima na ovom forumu. Naravno da neće sam sebe da hvali, te koristim ovu priliku da se zahvalim javno za sve što čini za nas ovde. Živi bili, kapa dole.
[ Carduel @ 01.11.2022. 16:08 ] @
Tipkamo se na ovom forumu preko 'ekrana' ali osjećam tu intelektualnu snagu s druge strane. Drago mi je da postoje takvi ljudi. Koliko vidim jedna od veličina na ovom forumu je i Zidar ali ne vidim već odavno da je tu prisutan. Nadam se da je živ i zdrav, mnogo je zadužio, kao i Getsbi i još neki eksperti, sve korisnike vezane za baze podataka.

Meni se ovo putovanje kroz MS Access uz Getsbijevu pomoć čini jako zanimljivim. Mnogo toga ima u ovom programu a da nisam mogao ni zamisliti. Čak sam uspio napraviti i svoj prvi Switchborard. :) I za divno čudo sinhronizaciju combobox-ova ali nisam još shvatio kako oni funkcioniraju, da li služe za unos ili prihvat podataka iz baze. Sinhronizacija u ovom slučaju radi tako kad u prvom combobox-u izaberem neku firmu koja ima poslovne jedinice u drugom combobox-u dobijem sortirane te poslovne jedinice. Meni se čini to jako efektno ali nisam siguran da rade u ovom mom slučaju. Sinhronizacija comobobox-ova pravi konflikt sa ove dvije forme pa ne radi.

Probao sam Overlaping windows i čini mi se jadnostavniji za rad.

Što se tiče ove baze, zastao sam gledajući ove dvije forme ugovor sa korisnikom i ugovor sa operaterom.

Koliko mi se čini da obje forme pune podacima tablicu ugovor i to mi stvara konfuziju kako to funkcionira.

Da li trebaju dvije tablice u ovom slučaju pošto se koriste dvije forme za unos podataka?





[Ovu poruku je menjao Carduel dana 01.11.2022. u 17:26 GMT+1]
[ Getsbi @ 01.11.2022. 17:21 ] @
Zoran Eremija nas je napusti polovinom 2017. gdine. Stariji forumaši ga se sigurno sećaju. Bili smo i lični prijatelji. Za Zidara nisam siguran ali se ne javlja već više od 3 godine. Nekako u isto vreme prestao je da se javlja i na forumu ICentar. Jedino što sam o njemu znao je da je iz Kanade. Nadam se da je živ.

O Evidenciji uređaja ću kasnije u sledećoj poruci.
[ Getsbi @ 01.11.2022. 18:12 ] @
U početku je bilo malo konfuzno zbog nedefinisanog projektnog zadatka. Shvatio sam da su papirnati ugovori ili bar njihove kopije kod tebe. Takođe sam shvatio da si ti serviser ili radiš program za servisera čim imaš podatke o ugovorima sa obe strane.
Ne vidim razlog da evidencija ne bude u jednoj tabeli, pogotovo što si rekao ovako:

Citat:
1. nabavim uređaj od dobavljača
2. nabavim kartice od operatera (na njima piše icc i korisnički broj)
2. otvorim novi dokument (zahtjev o dodjeli uređaja) u kojem dodijelim uređaj firmi ili njenoj poslovnici ovisno od potrebe
3. otvorim novi ugovor sa operaterom gdje dodjeljujem karticu firmi ili njenoj poslovnici. Na ugovoru se ne spominje naziv, model niti serijski broj uređaja. Ovo ne razumijem, na ugovoru sa operaterom se ne navodi naziv, model ni serijski broj uređaja, nego samo icc broj i korisnički broj kartice a negdje u ova dva dokumenta (zahtjev i ugovor) trebao bi se navesti naziv, model i serijski broj tako da 100% znam koja je kartica u kojem uređaju bez da svaki put otvaram uređaj i provjeravam.


Shvatio sam da kartice u uređaj postavljaš ti odnosno serviser. Datumom ugovora sa jednom stranom i datumom ugovora sa drugom stranom, kao i informacijom UredjajID u oba slučaja, ti si obezbedio da znaš u koji uređaj si postavio koju karticu. Na to da da li su Pera i Mara zamenili kartice u uređajima ne možeš kao serviser da utičeš. Ti na servis primaš samo originalnu postavku. Nisam baš siguran šta te plaši.

Ako sam nešto krivo shvatio neka me neko upozori.

Uostalom, pokušaj da napraviš i varijantu sa zasebnim evidencijama ugovora. Možda se pokaže boljom varijantom i ti samo više naučiš.
[ Carduel @ 01.11.2022. 19:01 ] @
Radim kao serviser i program je za mene da mi olakša život jer moram svaki put gubiti vrijeme za traženje papirnatih ugovora, uređaja, korisničkih brojeva...

Sada mi je razumljivo kako se forme ponašaju prilikom unosa podataka u tablicu Ugovori.

Kada otvorim formu Ugovor sa korisnikom tu su mi ID polja od KorisnikID, PJID i UredjajID. Koliko vidim preko text box-ova se unose podaci u tablicu. Kako se ovi ID brojevi mogu zamijenuti sa nazivima?

I bilo bi dobro kada bi na formi stajao broj zadnjeg ugovora da se ne mora otvarati tablica Ugovori ili se to tako treba raditi.





[Ovu poruku je menjao Carduel dana 01.11.2022. u 20:18 GMT+1]
[ Getsbi @ 01.11.2022. 20:13 ] @
Da bi nakon otvaranja forma otišla na poslednji zapis treba na njen događaj OnOpen upisati:
DoCmd.GoToRecord , , acLast
To sam ti napisao za formu UgovorSaKorisnikomComboBox

Otvori i pogledaj.
[ Carduel @ 01.11.2022. 20:42 ] @
Postavio sam i radi ok.

Pošto sad u bazi imam ugovor sa operaterom UG-2/2022 kao zadnji koji sam radio, da li ovaj podatak se može izvući iz baze i postaviti kao neka napomena na formi tako da se odmah vidi koji je sljedeći broj ugovora?

Znači kad se to pogleda odmah se upiše za sljedeći ugovor UG-3/2022 itd...

[ Getsbi @ 01.11.2022. 21:02 ] @
Mnogo si brži od mene i 12 godina mlađi. Prvo da odgovorim na prethodno pitanje:
Citat:
Kako se ovi ID brojevi mogu zamijenuti sa nazivima?

Za to pitanje napravio sam nešto sa čime i nisam baš zadovoljan.
Vidi se naziv korisnika i naziv uređaja.
Kada bi ubacio Naziv poslovne jedinice ne bi mi prikazivao sve zapise. Već samo izfiltrirane koji imaju podatak.
Sa ove tačke gledišta ona ideja od pre neki dan da poslovna jedinica po defaultu ima broj 0 i naziv Neodređeno ili recimo crtice (----) radila bi nam radnju.
E sad je pitanje šta je prava mera i za čega bi ova forma mogla da služi.
Pogledaj okačeni fajl.

Za ovo pitanje od malo pre ću sutra da razmotrim. Moram i da spavam.

I zakači mi najnoviji fajl jer ja to UG-2/2022 ne vidim.
[ Carduel @ 01.11.2022. 21:29 ] @
Nešto razmišljam kad bi sve korisnike (korisnici i poslovne jedinice) ubacili u jednu tablicu, kao što sam vidio kod ozbiljnih programa, da li bi to bilo bolje rješenje i pojednostavilo stvari.

Naravno da treba spavati. Ja sam noćna ptica pa ovo vrijeme je meni kao popodne. :D Loša navika još od prije 20 godina.

Upravo gledam ovog trenera ms accessa

https://www.youtube.com/watch?v=3dPxqipspMI

Uglavnom obradio je mnogo tema i ima različite nivoe obuke. Za mene početnika je odličan. Koliko stvarno vrijedi to ne mogu ocijeniti.
[ Getsbi @ 02.11.2022. 07:23 ] @
Za ovo kako tekstualno polje UG-2/2022 da sledeći put ponudi UG-3/2022 ću u toku dana. To su takozvani govorni ključevi.

Citat:
Nešto razmišljam kad bi sve korisnike (korisnici i poslovne jedinice) ubacili u jednu tablicu, kao što sam vidio kod ozbiljnih programa, da li bi to bilo bolje rješenje i pojednostavilo stvari.


Stanje sam usvojio iz tvog prvog .accdb fajla dok su još nazivi tabela imali slovo T na kraju. Mislio sam da ti je to od intersa. Čak šta više, ozbiljni programi imaju tu hijerarhiju (Banka-Ispostava, Opština-NaseljenMesto.....) Tu onda preneseni ključ roditelja postaje deo složenog PK, tako da nema mesta nejedinstvenosti.
Odgovor bi bio: Da pojednostavilo bi stvari ako nemaš neke druge interese u vezi posebnog egzistiranja poslovnih jedinica. Tvoj zahtev sa početka:

Citat:
2. Ako neka firma ima poslovne jedinice onda info o tome koliko ta poslovna jedinicia ima uređaja.
bio bi i dalje moguć za ispunjenje.

Dakle, možeš da korisnike i poslovne jedinice izjednačiš i sve ih smatraš firmama. Ako se ukaže potreba o pripadnosti onda smisliš neko tekstualno polje u toj zajedničkoj tabele koje će ih identifikovati po pripadnosti.



[Ovu poruku je menjao Getsbi dana 02.11.2022. u 09:59 GMT+1]
[ blingaro @ 02.11.2022. 13:42 ] @
Citat:
Getsbi:
Zoran Eremija nas je napusti polovinom 2017. gdine. Stariji forumaši ga se sigurno sećaju. Bili smo i lični prijatelji. Za Zidara nisam siguran ali se ne javlja već više od 3 godine. Nekako u isto vreme prestao je da se javlja i na forumu ICentar. Jedino što sam o njemu znao je da je iz Kanade. Nadam se da je živ.


Znam da nije vezano za temu, ali moram da izrazim žaljenje zbog Zorana. Dosta sam naučio od njegovih postova. Za Zidara se nadam da je dobro. I on je vrh vrhova na ovom forumu.

Slažem se za čoveka sa linka https://www.youtube.com/watch?v=3dPxqipspMI. I ja ga pratim. Neverovatan je.


[Ovu poruku je menjao blingaro dana 02.11.2022. u 15:06 GMT+1]
[ Getsbi @ 02.11.2022. 17:59 ] @
Evo ti rešenja oko nuđenja broja ugovora kada je struktura UG-2/2022. Ovo je takozvani govoreći ili kazujući ključ. Na formi UgovorSaKorisnikom imaš dugme sa tri tačke iza polja BrojUgovora koje sadrži VBA kôd. Ti ga iskoristi na formi koju želiš i kako želiš. Možda bi najbolje bilo da programski kôd prebaciš na događaj On Enter ili On Got Focus polja. Poigraj se malo. Dobro bi bilo da osobinu Enabled tog polja nakon toga postaviš na No i onemogućiš prepravku iz forme, tako da kursor ne može da uđe u polje.
[ Carduel @ 02.11.2022. 18:55 ] @
Auuuu, moj Getsbi što je ovo? :)

Ovaj VBA kod je za mene naučna fantastika.

Ja se Vama programerima divim. Koje Vi samo znanje imate.
[ Carduel @ 04.11.2022. 23:10 ] @
Kako razmotriti sljedeću situaciju:

Treba u dokumentu navesti da li je poslovni prostor u vlasništvu ili zakupu,
unijeti oib firme ako je u njenom vlasništvu ili
oib osobe koja je vlasnik prostora. Isto tako navesti i kvadraturu prostora.

Da li se u ovom slučaju treba otvoriti tablica prostor sa poljem vlasnik i kvadratura.

I ostaje nam joj da li je u vlasništvu ili zakupu.





[ Getsbi @ 05.11.2022. 06:50 ] @
1. Pitanje: Ima li ovo veze sa temom servisiranja i evidencije ugovora ili je nešto drugo u pitanju?
2. Da li i pravna i fizička lica imanju taj OIB ili se kod pravnih zove nekako drugačije i ima drugačiju strukturu?
U srbiji je i dalje JMBG za fizčka lica sa 13 karaktera, a firme imaju PIB sa 9 kraktera.

Odgovor mi treba osim za razumevanja situacije i iz razloga moderacije (povezivanja tema).

Hajde da dodam i ovo.

Da bi se definisala lista kandidata za atribute, mora se dati odgovor na pitanje šta je interes posmatranja. Da li će po nekoj osobini objekat biti entitet ili atribut, tj. koju će ulogu imati, zavisi od pogleda koji se želi predstaviti. Evo jednog primera.




[/url]

[Ovu poruku je menjao Getsbi dana 05.11.2022. u 18:37 GMT+1]
[ Carduel @ 05.11.2022. 17:30 ] @
1. Da, u prvom ugovoru, kad se uređaj dodijeli korisniku, navodi se i ovaj podatak gdje korisnik obavlja svoju djelatnost, da li je prostor u njegovom vlasništvu ili je u najmu pa se traži OIB firme ili vlasnika (fizičke osobe).
2. Imaju i fizičke i pravne osobe OIB (Osobni identifikacijski broj). Ukupno 11 znakova s tim da firme imaju i MBS (Matični broj subjekta), koji se sastoji od 9 znakova a to je broj pod kojim se vodi u sudskom registru.
[ Getsbi @ 05.11.2022. 17:56 ] @
Onda dodaj za Korisnika kolone: AdresaLokacije (Text), Vlasništvo (Yes/No), OIB (Text), MBS(Text), KvadraturaProstora (Text). Prema OIB i MBS se ponašaj isto kao i kod Ugovora prema KorisnikID i OperaterID. Jedno isključuje drugo. Kasnije se sve može izvući upitima za potrebe raznih izveštaja. Predpostavljam da ti za Operatera takvi podaci ne trebaju.
[ Carduel @ 05.11.2022. 18:13 ] @
Citat:
Getsbi: Onda dodaj za Korisnika kolone: AdresaLokacije (Text), Vlasništvo (Yes/No), OIB (Text), MBS(Text), KvadraturaProstora (Text). Prema OIB i MBS se ponašaj isto kao i kod Ugovora prema KorisnikID i OperaterID. Jedno isključuje drugo. Kasnije se sve može izvući upitima za potrebe raznih izveštaja. Predpostavljam da ti za Operatera takvi podaci ne trebaju.


U dokumentu se traži samo OIB vlasnika, MBS broj sam samo naveo da se zna za njegovo postojanje ali nije predmet praćenja.
[ Carduel @ 19.11.2022. 23:48 ] @
Citat:
Getsbi:
Jednom obrisani broj tipa Autonumber više ne može da se upotrebi. Čini mi se da mora da se prazni cela tabela, ako se ne varam.

Pogledaću sutra fajl.


Naletio sam negdje na internetu pa ne znam koliko je vezano za ovu konstataciju.

http://allenbrowne.com/ser-40.html
[ Getsbi @ 20.11.2022. 18:07 ] @
Ako je nad poljem tipa AutoNumber (bilo da je Random ili Increment) postavljen PK onda ne možeš ni da ga brišeš. U slučaju da je potrebno resetovanje takvog brojača iz nekog razloga onda prvo skinuti PK sa tog polja, a to podrazumeva i prethodno raskidanje relacije prema spoljnoj tabeli. Potom se to polje sa tipom AutoNumber obriše, pokrene se File, Options, Current Database, čekira se opcija Compact on Close i zatvori fajl. Nakon toga je fajl spreman za resetovanje tipa Autonumber.
Pre svakog pokušaja savetujem da se uradi backup prethodnog stanja.

P.S.

AutoNumber koristite kod tabela koje su samostalne ili služe za testiranje, kada želite da sistem vodi računa o primarnom ključu i liši vas svake obaveze da ga unosite i o njemu razmišljate. Međutim, ova opcija nije dobra kod povezanih tabela jer povezivanje traži da polja na obe strane veze (primarni i preneseni ključ) budu istog tipa i veličine.
[ Carduel @ 23.11.2022. 16:01 ] @
Pozdrav,

u ovom videu se govori o vraćanju autonumbera u slučaju da se ošteti.

youtube.com/watch?v=Tfao6lH_EeA

a u ovom da li je dobar ili ne kao primarni ključ.

Navodi: AutoNumbers se lakše koriste od prirodnih ključeva ili teksta. Access ih održava automatski i pružaju stabilniju bazu podataka od Natural Keysa. Općenito, AutoNumbers štedi prostor na disku i povećava performanse baze podataka. Oni smanjuju ukupne troškove vlasništva. Dostupne su i druge opcije za pružanje korisniku vidljivih identifikatora za zapise, kao što su brojevi narudžbi, kako ne bi odustali od poslovne inteligencije, međutim Autonumber bi trebao biti primarni ključ za VEĆINU tablica koje izradite, uz nekoliko iznimaka.

https://www.youtube.com/watch?v=IcugLd6ORZM

Ovo sam postavio iz razloga što ovaj predavač bi 'izginuo' braneći autonumber. :D