[ bojan_mil @ 13.02.2008. 09:02 ] @
Naime, imam query koji filtrira podatke na osnovu tri Comboboxa sa forme. Dakle u polje criteria querija sam uneo comboboxove i sve lepo radi kada odaberem vrednosti iz sva tri. Zanima me sta da dodam u polje criteria da bi mogao da vrsim filtriranje tako da ne moram koristiti sva tri comboboxa vec da mi za nekorisceni combobox ispisuje sve recorde u queriju koji podrazumevaju sve vrednosti iz nekoriscenog comboboxa.
Hvala...
[ Trtko @ 13.02.2008. 09:11 ] @
Mozes to u kodu provjeriti , ja sam si to ovako rijesioi
a vjerojatno se da i u samome sqlupit sa naredbom switch


If Not IsNull(partneru) Or partneru = "" Then
If uvjet = "" Then
uvjet = "stavke.s_kupca='" & partneru.Column(0) & "' and stavke.statk='U'"
Else
uvjet = uvjet + " And stavke.s_kupca='" & partneru.Column(0) & "' and stavke.statk='U'"
End If
End If

If Not IsNull(iznkom) Or iznkom = 0 Then
If uvjet = "" Then
uvjet = "cstr(zaglav.iznos)='" & CStr(iznkom) & "'"
Else
uvjet = uvjet + " And cstr(zaglav.iznos)='" & CStr(iznkom) & "'"
End If


Dim sglutmp As String
If uvjet <> "" Then

sglutmp = "SELECT Zaglav.Broj_komp as brkomp INTO KojeTmp FROM Zaglav INNER JOIN Stavke ON Zaglav.Broj_komp = Stavke.Broj_komp Where " + uvjet + " GROUP BY Zaglav.Broj_komp"

Else
sglutmp = "SELECT Zaglav.Broj_komp as Brkomp INTO KojeTmp FROM Zaglav INNER JOIN Stavke ON Zaglav.Broj_komp = Stavke.Broj_komp GROUP BY Zaglav.Broj_komp"
End If
[ bojan_mil @ 13.02.2008. 09:43 ] @
A jel postoji nesto jednostavnije, recimo da ukoliko se ne koristi combobox, ne postoji ni kriterijuma za taj combobox u queriju.
[ domaci_a_nas @ 13.02.2008. 12:54 ] @
Ja sam upravo iz tog razloga napravio funkciju:


Public Function ED(WhCom As ComboBox) As String
If Nz(WhCom, 0) = 0 Then
ED = " > "
Else
ED = " = "
End If
ED = ED & Nz(WhCom, 0)
End Function

Znači ako ti je filter combo = 0, funkcija će vratiti uslov > 0, prakično filter nema uticaja, ako je filter combo <> 0, onda će se vratiti uslov = filter combo

I onda bi ti uslov bio nešto StrSQL = Ed(Combo1) & " And " & ED(Combo2) & " And " & ED(Combo3)....
[ graovacb @ 13.02.2008. 18:20 ] @
Pogledaj posthttp://www.elitesecurity.org/t309733-Printanje-rezultata-pretrage, mislim da je ista stvar u pitanju.
[ sapet @ 14.07.2012. 09:49 ] @
Funkcija sto je postavio domaci_a_nas mi odgovara u potpunosti , ali imam nevidljivi problem.
kad unesem rucno uslov >0 radi, ali preko funkcije salje poruku kao u prilogu.
Znam da mi je resenje pred nosom, ali sam zabagovao, pa mi treba mala gurka.
Pozdrav.
[ izonic @ 14.07.2012. 10:33 ] @
Citat:
Znači ako ti je filter combo = 0, funkcija će vratiti uslov > 0, prakično filter nema uticaja, ako je filter combo <> 0, onda će se vratiti uslov = filter combo

I onda bi ti uslov bio nešto StrSQL = Ed(Combo1) & " And " & ED(Combo2) & " And " & ED(Combo3)....


Ovo nije dobro rjesenje po meni.
Ukoliko stavis napr >0 kada u stvari nema kriterija prakticno si postavio kriterij i to usporava cijeli proces.
Sjecam se davno jednom jedan moj prijatelj se dosjetio te u polja pretrage po defaultu stavio zvjezdice a u kriterij Like ime polja kriterija.
To je radilo sa par stotina redova, medjutim kada se paza napunila na nekoliko stotina hiljada redova to je pocelo toliko sporo raditi da se moralo intervenisati.
Bez koda nema dobre pretrage oddnosno kreiranja dinamickog SQL-a
[ sapet @ 14.07.2012. 14:32 ] @
Kako god ali ne mogu da postavim uslov iz combobox-a.
On ima stanja 0,1,2,3,4....
Na vrednost 0 trebaju mi svi podaci, a na vrednost >0 samo tu vrednost.
Na formi bih imao 2 i vise takvih combobox-ova.
Evo uproscenog primera. Stvarno mi ne ide.
[ izonic @ 14.07.2012. 15:28 ] @
Evo, ako trazis samo po ovom polju i iz ove tabele.
List box ti je multiselekt pa mozes birati jedan po jedan ili nista.
[ sapet @ 14.07.2012. 15:42 ] @
Hvala na trudu, ali mi ne cini posao.
Naime, tabela ima dosta podataka, a stampa treba da ima mogucnost odabira po zelji podataka.
Na formi imam vise combobox-ova, tako da mi listbox nedaje preglednost koju hocu da imam.
Vecina combobox-ova su podeseni na sve podatke, odnosno vrednost im je 0,
ali mora omogucavati korisniku da eventualno izabere pojedinacne podatke iz box-a.
Filter podataka je zbirni iz vise combobox-ova.
Kad resim jedan resicu i vise njih. Nadam se.
[ izonic @ 14.07.2012. 17:58 ] @
Citat:
Naime, tabela ima dosta podataka, a stampa treba da ima mogucnost odabira po zelji podataka.
Na formi imam vise combobox-ova, tako da mi listbox nedaje preglednost koju hocu da imam.

Cekaj ne razumijem te " Mugzcnost odabira po zelji podataka" Sta ti to znaci.
Bolje napisi Koju tabelu pretrazujes i po kojim poljima a ostalo cu ja napraviti.
Kako sam te razumio prije hoces da mozes odabrati prvu drugu trecu ili cetvrtu cjelinu ili sve zajedno ili pak napr. drugu i četvrtu.
To sve mozes list box ti je multi selekt kako sam naveo.
Znaci u njemu mozes odabrati jedan ili vise redova ako odaberes sve redove dobit ces sve podatke.

[ sapet @ 14.07.2012. 18:10 ] @
Ovako:

iz jednog combobox-a hocu odabir sve (vrednost 0) ili samo jednu drugu vrednost (1 ili 2 ili 3...)
Ako mi combo daje npr. gradove, hocu da biram SVE gradove - to je jedna mogucnost, ili druga je samo Sarajevo ili samo Beograd.
Kada sam rekao da imam vise combo-a mislio sam da korisnik odabere podatke npr.
iz jednog odabere Sarajevo,
iz drugog odabere neki drugi podatak iz iste tabele nap. ulica Marsala Tita i dobijam lica iz Sarajeva i to iz trazene ulice jer ta ulica postoji i u drugim gradovima itd. Na taj nacim mislim da mogu da kombinujem trazene podatke.

U svakom slucaju za svaki combo vazi isti kriterijum odabira: sve ili samo jedna vrednost na formi - query - report.

Valjda nisam zakomplikovao?
[ izonic @ 14.07.2012. 20:26 ] @
Evo ti primjer
[ srdrazic @ 14.07.2012. 21:03 ] @
Samo mu umesto text box-a stavi combo box, ako može tako da radi .
Dobro rešenje.

Evo postavio sam ja combo boxove ako ne smeta.

Ovaj drugi fajl sam ja ovako zamislio rešenje.

[Ovu poruku je menjao srdrazic dana 14.07.2012. u 22:16 GMT+1]
[ sapet @ 14.07.2012. 21:28 ] @
OK, radi. Hvala lepo. Nije problem da postavim combo, to sam i uradio.
SQL lepo i brzo radi nego sam pokusavao sa query-jem na koji sam podesio izvestaj za stampu
i mogucnost da dobijeni rezultat izvezem u Excel. To sada pokusavam sa ovim resenjem.
U svakom slucaju veliko hvala za trud na ovoj nesnosnoj vrucini.
[ izonic @ 14.07.2012. 21:44 ] @
Na frmEvidencija napravi jos jedan komandni taster sa koga ces pozivati izvjestaj.
Primjer:
Private Sub Command109_Click()
DoCmd.OpenReport "RptClanovi", acViewPreview
End Sub

Na on open izvjestaja stavi:
Me.RecordSource = Forms![frmEvidencija]![frmClanovi].Form.RecordSource

Nije dobro staviti combo jer ima puno podataka.
[ sapet @ 14.07.2012. 21:58 ] @
Citat:
srdrazic:

Ovaj drugi fajl sam ja ovako zamislio rešenje.

[Ovu poruku je menjao srdrazic dana 14.07.2012. u 22:16 GMT+1]


Ovo resenje sam jednom prilikom koristio i skroz ga smetnuo s uma. Upravo mi sada radi posao kako sam zamislio.
Kod nas se kaze "nastupila krecana" - mislim na mozak.
Hvala obojici, u svakom slucaju na pomoci.