pmiroslav 25.07.2012 09:36
Predmet:SQL kriterij molim pomoć

na subformi imam Combo koji se zove IDPozicije.
RowSource comba je:
PreuzmiIzvorni kôd (SQL):
  1. SELECT PROCES.ID, PROCES.PozKratica, PROCES.NAZIV
  2. FROM tblNalog INNER JOIN (PROCES INNER JOIN ArhivaNalog ON PROCES.ID = ArhivaNalog.IDdijela) ON tblNalog.nalogID = ArhivaNalog.nalogID
  3. WHERE (((tblNalog.nalogID)=[Forms]![frmEvidencijaRadnici]![subEvidencija].[Form]![IDnaloga]))
  4. ORDER BY PROCES.PozKratica;

Znači uslov je da se selektiraju podaci iz tablice 'PROCES' vezano uz zadani kriterij.

tblNalog.nalogID)=[Forms]![frmEvidencijaRadnici]![subEvidencija].[Form]![IDnaloga]

Zanima me dali je moguće napraviti kriterij koji ako po zadanom kriteriju nema ni jednog podatka, prikaže sve rekorde iz tablice 'PROCES' ?

miro35 25.07.2012 14:15
Predmet:Re: SQL kriterij molim pomoć

evo baš se mislim kako bi to trebalo
U Vb-u bi trebalo nešto kao: If (NekiKriterij = " ")Then
Me.Combo.RowSorce = Select From ...
Else
Me.Combo.RowSorce = Select From ...
End If

dex 25.07.2012 15:11
Predmet:Re: SQL kriterij molim pomoć

Vise kao ideja

umesto

tblNalog.nalogID)=[Forms]![frmEvidencijaRadnici]![subEvidencija].[Form]![IDnaloga]

peobaj sa

tblNalog.nalogID) IN Nz([Forms]![frmEvidencijaRadnici]![subEvidencija].[Form]![IDnaloga],
SELECT ProcesID FROM Proces)

mada mislim da funkcija Nz ne moze da vrati recordset kao rezultat.

Mislim da bi trebalo kao dugi argument funkcije Nz uzeti nesto sa Concatenate, ali ja to ne umem da slozim gramaticki ispravno

pmiroslav 25.07.2012 16:25
Predmet:Re: SQL kriterij molim pomoć

Uspi sam nakako ovako kao što je predložio miro35.
Na Combu 'IDnaloga' na After update stavio sam uslov

If IsNull(Dlookup("nalogID","ArhivaNalog","nalogID = "& IDnaloga)) Then
Me.Combo.Rowsource = SELECT FROM...
Else
Me.Combo.Rowsource = SELECT FROM...
End if

zxz 25.07.2012 21:58
Predmet:Re: SQL kriterij molim pomoć

PreuzmiIzvorni kôd (SQL):
  1. SELECT PROCES.ID, PROCES.PozKratica, PROCES.NAZIV
  2. FROM tblNalog INNER JOIN (PROCES INNER JOIN ArhivaNalog ON PROCES.ID = ArhivaNalog.IDdijela) ON tblNalog.nalogID = ArhivaNalog.nalogID
  3. WHERE tblNalog.nalogID=[Forms]![frmEvidencijaRadnici]![subEvidencija].[Form]![IDnaloga] OR
  4. [Forms]![frmEvidencijaRadnici]![subEvidencija].[Form]![IDnaloga] IS NULL
  5. ORDER BY PROCES.PozKratica;