Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » Access » Pomoć oko sintaxe SQL i Procedure
mario 27.04.2011 08:58
Predmet:Re: Pomoć oko sintaxe SQL i Procedure

Hvala. Ovo je super.
Kada sam htio napraviti ovaj pregled krenuu sam preko Queria i to je bilo sve ok. Grupiram preko datuma i to šljaka. Međutim to se pokazalo malo težim kad imam više tablica s različitim datumima.
Datumi se neki poklapaju, a neki ne. (npr.DatumPiljenja=DatumTiplanja<>DatumSpajanja),
a htio bih da budu u istom redu kada se datumi poklapaju
Datum    VrijemPiljenja    VrijemeTiplanja    VrijemAluminija
26.4.2011     100     50     
27.4.2011     80         60
28.4.2011         80 80
Da to radim u ORACLU napisao bih mu sql koji bi napravio datume u nekom zadanom periodu between :dat_od and :dat_do, a na njega bi prikačio preko qyeria ostale tablice s tim da bi se prikazivali samo oni datumi za koje postoje podaci u tablicama .Šaljem Vam primjer jednog triggera da vidite kako to izgleda na nivou Oracl Forme. To je trigger koji kontrolira šifru_artikla.
To kako sam zamislio izgleda slićno kao u formi1_1. Tu je problem što se mora napisati takvih polja
bar 14 i pitanje je kako izbjeći npr.nedjelju. Je li moguće u queriu napisati to isto ako ima više tablica. U prilogu je ova forma i primjer SQL iz ORACLE na nivou jednog Fielda i sliku moje forme u oraclu za prodaju u maloprodaji.
Pozdrav
Prilozi:
primjer.zip (Velicina datoteke:321.83 KB)

zxz 27.04.2011 09:32
Predmet:Re: Pomoć oko sintaxe SQL i Procedure

Citat:
Da to radim u ORACLU napisao bih mu sql koji bi napravio datume u nekom zadanom periodu between
Between naredba postoje i u accessovom Sql-u. Skoro sve naredbe SQL-a su iste u Oracle MsSQL MySQL pa i u access bazi.
Ne moras nista stavljati u zagrade ako stvarno ne treba zagrada ali kada pravis query sa vizardom onda on to stavi i gdje treba i gdje netreba.
Zagrade se stavljaju u oba slucaja na ista mjesta tj. kada hoces da odvojis nesto od neceg drugog ili da spojis.
Pisanje procedura je različito Pa tako MsSql-u mozes pisati procedure na nivo same baze a u accessu za to ti sluzi vb i msvaku proceduru mozes pozivati direktno iz samog SQl-a.
Mi SQL saljemo bazi kao string i baza ga izvrsava te vraca rezultat. Ostali objekti forme i kontrole na njima se razlikuju od programskog jezika do programskog jezika.
Kod tebe je tabela pogresno kreirana.
Mogao si imati jednu tabelu Zahvata u kojoj bi bilo dva polja:
Zahvat_ID Naziv_Zahvata
1 Vrijeme pilanja
2 Vrijeme timplanja itd...

Sad bi u ovoj tabeli imao:
Datum
ZahvatiID
Vrijeme

Ovim nacinom postizes i to da nisi ogranicen zahvatima te ukoliko se pojavi novi sam korisnik ga moze dodati a postizez i konzistentnost.

Naravno da se moze napraviti i ovako kako si ti to zamislio ali mislim da je ovo mnogo ispravnije.

mario 27.04.2011 15:22
Predmet:Re: Pomoć oko sintaxe SQL i Procedure

Ja se s Vama slažem da bi to bilo bolje. Radim par formi koje su specifićne po radnim mjestima i univerzalnu formu. U svakoj formi ima puno podataka i mislio sam da ne prekrcam tablice-bazu. Uopće nemam pojma do koje količine podataka baza funkcionira.
Na taj sistem što ste predložili sam išao kad su u pitanju šifarnici, prava djelatnika na prijave za stroj.
U jednom tekstu ste dobro napisali da je najteži dio posla sve prvo dobro osmisliti.
Da u tablicama imam samo vremena, i datume to bi bilo okej., međutim u svakoj tablici ima i drugih podataka kao što su. Rad,Nal, VrstaMaterijala,Brojkomada,duzinaTraka, a na žalost ti podaci nisu jednoznaćni za svaki stroj.
U tablicama osim tih općih podataka procese koji su vezani na određeni stroj
Pila - piljenje, kantiranje :PilaNalozi - poceta, gotovo, user,pauze
proizvodnja - pripremu, tiplanje, spajanje, montažu :ProizvodnjaNalozi - pocetak, gotovo,pauze
CNC
ALuminij
itd. Za svaku sugestiju koja dobro dođe unaprijed zahvaljujem
U prilogu sam posalo par slika kako te forme izgledaju i njihove međusobne veze.
Pitanje.1. Na koji način se resetira automatski ID u tablicama odnosno vraća na nulu.
To se vjerojatno nalazi u nekoj od sistemskih tablica.
Pokušavam što više proučavati Vaše primjere iz Škole, i drugih Tema da što manje gnjavim.
Pozdrav
Prilozi:
ScreenShot018.zip (Velicina datoteke:1.20 MB)

zxz 27.04.2011 17:21
Predmet:Re: Pomoć oko sintaxe SQL i Procedure

Dosta toga je uradjeno i bilo sta da se krene zahtijevalo bi mnoge promjene.
Imas ovdje dva primjera baza za proizvodnju pa mozes vidjeti koncept.
Id mozes restartovati ako pobrises podatke iz tabele i odradis kompakt baze ili pak pobrises polje te napravis novo.

Par puta sam napomenuo da se tabele nemogu napraviti za jedno popodne.
Treba prvo izuciti i pokupiti sav materijal koji se tice samog rada jer mi uglavnom pravimo program za ljude koji vec rade taj posao koji samo treba prilagoditi da se to sto se prije radilo rucno radi na racunaru.
U vecini slucajeva krene se u izradu aplikacije a nezna se nista o tome.
Druga stvar koju treba znati a to je baze podataka.
Tabele poed relacijske veze 1 na vise mogu biti vezane i 1-1 medjutim to rijetko kada vidim.
Nikada ne treba stavljati u naziv polja neki podatak koji nije stalan odnosno podatak ili grupa podataka koji bi se u dogledno vrijeme mogli i mijenjati.
Primjer:
Nemozemo stavljati polja za imena artikala.
Sta ce se desiti ako treba dodati novi artikal. To bi iziskivalo i promjenu aplikacije.
U tvom slucaju su to zahvati. Pilanje Timplanje itd..
Sutra neka dodje do prosirenja proizvodnje doci ce i do novih zahvata i to korisnik nece moci dodati.
Forme nisu nosioci podataka one sluze samo za unose i prglede podataka.
tabele su te koje cuvaju podatke a podaci su bogatstvo a ne aplikacija.
Ona se moze i promijeniti.
Ukoliko imamo kao sto si gore naveo za neke objekte nesrodna polja onda se napravi jos jedna tabela u kojoj se prenese kljuc objekta i jos 2 polja se dodaju.
jedno polje bi bilo opisno a drugo vrijednost toga opsia.
Primjer:
Strojjevi:
StrojId
NazivStroja
Tip
tez
duz
sirina

Druga tabela:
DodatniPodaci.

StrojID
Naziv
Opis

StrojID brojOrtaja a u opis 3200
StrojIID SNagaMotora 65
StrojID JedmjSnage KW
StrojID vrsta pogona Elektro
StrojID BrojNaplatka 13 itd..

Znaci drugi red bi bio kao naziv polja a u drugom vrijednost.

mario 27.04.2011 19:02
Predmet:Re: Pomoć oko sintaxe SQL i Procedure

Hvala na odgovoru. Sve što ste rekli stoji.
Imao sam nedavno priliku vidjeti jedan Austrijski program, koji radi na osnovu nespecifiranih poslova. Proučavajući ga došao sam do zaključka da bi samo za unošenje svih podataka trebao 1 djelatnik koji bi se samo tim bavio.
Kod mene je malo specifićna situacija što se tiće par osnovnih strojeva, znamo točno koji podaci su nam potrebni. Mogao sam napraviti podjelu kao što ste naveli međutim to bi zahtjevalo puno radnih naloga (do 10) po jednom glavnom nalogu (30-50 dnevno), ukupno 70-80. Zbog toga sam to tako koncipirao da u samo 4 forme se može sve napraviti, bar za glavne strojeve. Svaki od strojeva ima dvije tablice tzv glavne tablice koje su povezane ID + pomoćne (spremaju se samo ID-ovi-vrstaStroja, Sifarnici, Materijali, useri, pauze,vrstaPosla itd.).
Mi u firmi pola ovih stvari unosimo preko Excel tablica. Sad radim na tablicama koje će biti univerzalne za sve one poslove koji su stalni i koji se svakodnevno mogu dodati-promjeniti,
a ne iziskuju puno podataka (čišćenje, održavanje, rad na manjim strojevima, pakiranje, otprema itd.) . Složio sam pregled vremena kao u Formi1_1 za 30 dana, s tim da prepoznaje kada je nedjelja. Tu ste mi puno pomogli. Tu bi se dalo još popraviti da zna da za taj dan nema naloga, ali na tome ću kasnije raditi. Imat ću još par pitanja u vezi sintaxi u proceduranma SQL, ali Vas više neću gnjaviti
Pozdrav

mario 28.04.2011 18:23
Predmet:Re: Pomoć oko sintaxe SQL i Procedure

Poštovanje, evo mene opet. Uspio sam prebaciti određeni dio u stariju verzijz. Sve tablice i forme se nisu mogle prebaciti.
Sad možete malo pogledati kakoto izgleda.
Imam jedan problem, kod tmpVar koje sam jučer napomenuo. Radim logiranje po pojedinom stroju odnosno i pauzr su uključene u to.
U formi LoginStroj1 (GlavniMeni) imam polje RadnoMj(Stroj) u kojem biram vrstu stroja. Nakon toga polje User gdje bi se trebalo pokazati samo oni Useri koji mogu na tom stroju raditi. U tablici SifarnikUser određujem na kojem stroju može tko raditi. User polje je definirano preko Queria koje ima filrter TmpVar(stroj), poslije update polja Radno.Mj.
Primjer. Biram Raskrajač pojave se dva user u izboru i to je OK Tmp,Var=1
Nakon toga se izabere drugi stroj i pojavi se opet User koji je definiran za taj stroj, što je OK.,
međutim i na prvom polju se promijeni user jer je sad novi Tmp.User=3. To je sasvim logićno i jasno.
Otvorio sam polje u formi Proceduramjesto(radnoMjesto) koja u to pilje smješta ispravan ID od stroja.
Sad je pitanje na koji način da to polje iskoistim u queriu za User, odnosno mogu li se u procedurama stvarati TmpVar, koji će se koristiti u drugim aplikacijama. Glupo pitanje znam da može. Primjer. Na 1 stroj se prijavljuju 2 Usera , ili na različitim strojevima se u isto vrijeme prijavljuju različiti useri. Postoji li neki način da se TmpVar (globalne varijable) vežu na taj način.
Primjer. Forma4
- glavni radnik na pili, i pomoćni se upisuju da su počeli raditi na stroju u donjem dijelu.
Pomoćni se samo prijavljuje i upisuje pocetak, pauza,Gotovo
Glavni upisuje pocetak., gotovo u donjem dijelu dok u gornjem upisuje po pojedinom nalogu
pocetak,pauza,gotovo. Pritom se upisuje i User u taj dio tablice.
Fakat sam zakoplicirao stvar s ovim objašnjenjima. Nisam siguran hoćete li se u ovome moći snaći.
Ako bar ništa komentar.
Pozdrav

Pozdrav
Prilozi:
Pitanje1111.zip (Velicina datoteke:582.03 KB)

zxz 29.04.2011 16:51
Predmet:Re: Pomoć oko sintaxe SQL i Procedure

Ako ima neko ovu vecu verziju accessa neka pogleda ovo.

mario 29.04.2011 22:01
Predmet:Re: Pomoć oko sintaxe SQL i Procedure

Napravio sam i snimio u nižoj verziji ono što sam htio pitati.
U formi LoginStroj1 imam polje RadnoMj(Stroj) u kojem biram vrstu stroja. Nakon toga polje User gdje bi se trebalo pokazati samo oni Useri koji mogu na tom stroju raditi. U tablici SifarnikUser određujem na kojem stroju može tko raditi. User polje je definirano preko Queria koje ima filrter po polju BrojStroja (iz procedure).
Primjer. Biram Raskrajač pojave se dva user u izboru i to je OK Stroj=1
Nakon toga se izabere drugi stroj i pojavi se opet User koji je definiran za taj stroj, što je OK.,
međutim i na prvom polju se promijeni user jer je sad novi Stroj=2. To je sasvim logićno i jasno.
Otvorio sam polje u formi Proceduramjesto(radnoMjesto) koja u to pilje smješta ispravan ID od stroja.
Sad je pitanje na koji način da to polje iskoistim u queriu za User, odnosno mogu li se u procedurama stvarati TmpVar, koji će se koristiti u drugim aplikacijama. Glupo pitanje znam da može. Primjer. Na 1 stroj se prijavljuju 2 Usera , ili na različitim strojevima se u isto vrijeme prijavljuju različiti useri. Postoji li neki način da se TmpVar (globalne varijable) vežu na taj način, odnosno
da kad se prijavljuju na pauzu da se preko TmpVar. vezu Useri
Napomena vise djelatnika če koristiti jedno računalo i biti će istovremeno prijavljeni na različitim Rad.Mjestima i u isto vrijeme ih više biti na pauzi.
Pozdrav
Prilozi:
Database40.zip (Velicina datoteke:48.30 KB)

mario 13.05.2011 16:21
Predmet:Re: Pomoć oko sintaxe SQL i Procedure

Može mi neko reći zbog čega ne mogu snimiti formu, odnosno kada je hoću snimiitii ništa se ne događa, a prilikom zatvaranja neće se snimiti.

Hvala

mario 13.05.2011 16:24
Predmet:Re: Pomoć oko sintaxe SQL i Procedure

Nadopuna kad kažem neće se snimiti mislim prilikom promjene na samoj formi a ne spremanje podataka.