Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Uslov na Queries od funkcija

[es] :: Access :: Uslov na Queries od funkcija

[ Pregleda: 2404 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Gjoreski 001
Aleksandar Gjoreski

Član broj: 181315
Poruke: 53
79.141.120.*



Profil

icon Uslov na Queries od funkcija07.06.2010. u 10:32 - pre 154 meseci
Pozdrav svima.
Imam edno query koe treba da ima uslov od funkcija koja dava rezultat "10 or 20 or 31" i taka redosledno kade sto broevite se edinstveni i se od ID poleto.
Koga ke ja dodadam funkcijata vo Queryto kako uslov mi dava poraka Data type mismatch in criteria expresion .
Dajte nekoj predlog
Z34GAL
 
Odgovor na temu

SLOJ.1973

Član broj: 130198
Poruke: 870
*.dynamic.isp.telekom.rs.



+41 Profil

icon Re: Uslov na Queries od funkcija07.06.2010. u 11:30 - pre 154 meseci
Okači primer.
Jednog dana...
 
Odgovor na temu

Gjoreski 001
Aleksandar Gjoreski

Član broj: 181315
Poruke: 53
79.141.120.*



Profil

icon Re: Uslov na Queries od funkcija07.06.2010. u 12:04 - pre 154 meseci
eve primer


Z34GAL
Prikačeni fajlovi
 
Odgovor na temu

SLOJ.1973

Član broj: 130198
Poruke: 870
*.dynamic.isp.telekom.rs.



+41 Profil

icon Re: Uslov na Queries od funkcija07.06.2010. u 14:00 - pre 154 meseci
Grešku prijavljuje jer ti je polje navedeno u query-ju ID_Naracka tipa broj,a polje txtNaracki je tipa tekst.Nemam sada vremena,pokušaću kasnije da odradim primer.
Jednog dana...
 
Odgovor na temu

Zoran.Eremija
Zoran Eremija
SYSTEM ANALYST
Freelancer
Beograd

Član broj: 251342
Poruke: 855
...148.91.adsl.dyn.beotel.net.

Sajt: zoraneremija.wix.com/erem..


+47 Profil

icon Re: Uslov na Queries od funkcija07.06.2010. u 14:35 - pre 154 meseci
Mozda je ovo resenje...
Prikačeni fajlovi
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Uslov na Queries od funkcija07.06.2010. u 14:43 - pre 154 meseci
Nece moci ovako. Ti hoces da se keru izvrsi za izabrane "Tekovni Naracki", one koje izaberes na listi. Znaci, kveri bi zigledao nekako ovako:

SELECT ...
FROM tblNaracki
WHERE Naracki_ID IN (21,22,23)

E, sad, ovaj uslov IN je promenljiv. Ne mozes ga poslati kveriju onako kako si zamislio. Moras da promenis ceo SQL izraz za taj kveri.


Moze na dva nacina:

A)Komplikovani nacin, s puno programiranja, tesko za debugging, ali ljudi to vole da rade. Ovako nekako:

1) Izaberes listu Naracki_ID, na formi

2) Napravis funkciju koja vraca strWhere, ovako:
Code:

"strWhere = "WHERE  tblNaracki.Izvrsena  = False 
         AND  tblNaracki.ID_Naracka IN ( 23, 22, 21, 20)
         AND tblNaracki.Data_Naracka  BETWEEN ( Now() - 1 ) AND ( Now() ) "


3) sastvi SQL izskaz za ceo kveri, ovako, u nekoj funkciji, strSQL():
Code:

strSQL = ""
strSQL = strSQL & "SELECT tblKomitenti.Komitent_Ime, " & vbCrLf
strSQL = strSQL & "       tblNaracki_Artikli.Artikal, " & vbCrLf
strSQL = strSQL & "       SUM(tblNaracki_Artikli.Kolicina) AS SumOfKolicina " & vbCrLf
strSQL = strSQL & "FROM   (tblKomitenti " & vbCrLf
strSQL = strSQL & "        INNER JOIN tblNaracki " & vbCrLf
strSQL = strSQL & "          ON tblKomitenti.ID_Komitent = tblNaracki.Komitent) " & vbCrLf
strSQL = strSQL & "       INNER JOIN tblNaracki_Artikli " & vbCrLf
strSQL = strSQL & "         ON tblNaracki.ID_Naracka = tblNaracki_Artikli.Broj_Naracka " & vbCrLf
strSQL = strSQL & strWhere & vbCrLf
strSQL = strSQL & "GROUP  BY tblKomitenti.Komitent_Ime, " & vbCrLf
strSQL = strSQL & "          tblNaracki_Artikli.Artikal " & vbCrLf
strSQL = strSQL & "ORDER  BY tblNaracki_Artikli.Artikal"


4. promeni SQL za tvoj kveri, ovako
Code:

dim db as DAO.Datbase
dim qdef as DAO.Querydef

set db = currentdb()

set qdef = db.querydefs("qryNaracki_Komitenti")

qdef.SQL = strSQL()


5. Sad si spreman da odradis Docmd.OpenQuery "qryNaracki_Komitenti"


Ima i prostije resenje, bez programiranja. To u sledecem postu, dok vidim sta je lakse, da se opisuje resenje ili da ga samo napravim pa gledaj.



[Ovu poruku je menjao Zidar dana 07.06.2010. u 16:16 GMT+1]
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Uslov na Queries od funkcija07.06.2010. u 15:15 - pre 154 meseci
Vidim da ti je Zoran dao elegantno resenje. Umesto kverija, otvara formu koja filtrira ID_Naracka. Na isti nacin moze da se umesto forme otvori report. I kod je minimalan. Svaka cast.

Evo i moje resenje, u principu slicno Zoranovom. Filtriranje se izvodi izvan kverija qryNaracki_Komitenti. Tu je glavni stos.

a) Zahteva se pomocna tabela, tblNaracki_Lista, koja se napuni filtriranim podacima
b) Lista na formi se izbaci, umesto nje se stavi subforma koja dolazi iz pomocne tabele
Na subformi se cekiraju rekordi koje zelis da vidis u kveriju
c) pomocna tabela se ubaci u kveri qryNaracki_Komitenti, uz uslov tblNaracki_Lista.Izabran = TRUE

Jedini kod je formin OnOpen event, gde se tabela tblNaracki_Lista prvo isprazni pa napuni filtriranim podacima (Izvrsena = False , Data_Naracka BETWEEN Now() - 1 AND Now()

Kveri qryNaracki_Komitenti sada mozes da upotrebis kako hoces, kao osnovu za izvestaj ili formu.




Prikačeni fajlovi
 
Odgovor na temu

[es] :: Access :: Uslov na Queries od funkcija

[ Pregleda: 2404 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.