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ć za Query
pmiroslav 18.05.2012 08:17
Predmet:Pomoć za Query

Dobro jutro

Trabao bih Query koji bi mi izvlačio zavrÅ¡ene artikle po određenom nalogu.
Imam tablicu 'PROCESOP' koja služi kao tablica za popis radnih operacija na određenom proizvodu (poziciji)

ID - Å ifra proizvoda
BROJ_OP - Redni broj radne operacije na proizvodu
KTO1 - Å ifra konta odnosno radne jedinice
RAD_MJE1 - Oznaka radnog mjesta gdje se radna operacija izvršava

Tablica 'tblREalizacija' služi da se u nju unosi koliko je kojih proizvoda napravljeno po određenom rednom broju operacije.

NalogID - ID radnog naloga
IDdijela - Å ifra proizvoda
Broj_op - Redni broj radne operacije na proizvodu
datun - datum izrade
Komada - Broj izrađenih komada

Q_Realizacija sumira koliko je čega napravljeno po određenom radnom nalogu

E sad meni bi trebao Query koji bi mi iz 'tblRealizacija' ili 'Q_Realizacija' izdvojio samo one proizvode koji su došli do zadnje radne operacije koja je zadana u tablici 'PROCESOP'
Znači iz primjera:

NalogID = 3597
IDdijela = 0007682
u tablici 'PROCESOP' zadano 6 radnih operacija
ako u Q_Realizacija ima također 6 operacija prikaži ga, ako je manje ne.

Nadam se da je jasno.
Prilozi:
PrimjerQuery.rar (Velicina datoteke:16.70 KB)

zxz 18.05.2012 15:04
Predmet:Re: Pomoć za Query

Ovom Query-u daj ime: QSumaOP
PreuzmiIzvorni kôd (SQL):
  1. SELECT PROCESOP.ID, SUM(PROCESOP.BROJ_OP) AS SumaOP
  2. FROM PROCESOP
  3. GROUP BY PROCESOP.ID

A ovaj nazovi kako hoces:
PreuzmiIzvorni kôd (SQL):
  1. SELECT Q_Realizacija.IDdijela
  2. FROM QSumaOP INNER JOIN Q_Realizacija ON QSumaOP.ID = Q_Realizacija.IDdijela
  3. WHERE ((([SumaOP]-[Broj_Op])=0));

pmiroslav 18.05.2012 18:40
Predmet:Re: Pomoć za Query

Izgleda da se nismo razumjeli. Ja trebam rezultat koji se dobije sa 'Q_Zavrseno' iz donjeg primjera, ovo sam pitao da vidim dali se isti rezultat može dobiti na jednostavniji naćin, tj da ne moram koristiti 3 querya.

1. Query = Q_ZadnjaOperacija
PreuzmiIzvorni kôd (SQL):
  1. SELECT PROCESOP.ID, MAX(PROCESOP.BROJ_OP) AS MaxOfBROJ_OP
  2. FROM PROCESOP
  3. GROUP BY PROCESOP.ID;
2. Query = Q_Realizacija
PreuzmiIzvorni kôd (SQL):
  1. SELECT tblRealizacija.NalogID, tblRealizacija.IDdijela, tblRealizacija.Broj_op, SUM(tblRealizacija.komada) AS SumOfkomada
  2. FROM tblRealizacija
  3. GROUP BY tblRealizacija.NalogID, tblRealizacija.IDdijela, tblRealizacija.Broj_op
  4. ORDER BY tblRealizacija.IDdijela;
3. Query = Q_Zavrseno
PreuzmiIzvorni kôd (SQL):
  1. SELECT Q_Realizacija.NalogID, Q_Realizacija.IDdijela, Q_Realizacija.SumOfkomada AS Gotovi_Artikli
  2. FROM Q_Realizacija INNER JOIN Q_ZadnjaOperacija ON (Q_Realizacija.IDdijela=Q_ZadnjaOperacija.ID) AND (Q_Realizacija.Broj_op=Q_ZadnjaOperacija.MaxOfBROJ_OP);

Nadam se da nisam dosadan.

pmiroslav 19.05.2012 08:26
Predmet:Re: Pomoć za Query

Sada sam primjetio da i sa tvojim rješnjem dobijem što mi treba samo u prvom Queryu treba ispraviti

umjesto
SELECT PROCESOP.ID, Sum(PROCESOP.BROJ_OP) AS SumaOP
treba biti
SELECT PROCESOP.ID, Max(PROCESOP.BROJ_OP) AS SumaOP

zxz 19.05.2012 09:38
Predmet:Re: Pomoć za Query

Zasto bi bio dosadan neznam hehe.
Znaci ne treba nista ovdje vise.
Jesam li u pravu?

pmiroslav 19.05.2012 11:43
Predmet:Re: Pomoć za Query

Možda će trebati, ovo je za početak.