Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 11 odgovora
  • 4.207 pregleda

Najnovija ↓

dva kriterijuma u dlookup funkciji 19.03.2008. u 23:08 · pre 226 meseci #1
Pozdrav svima.Kako da u funkciji dlookup postavim dva kriterijuma za dobijanje željenog rezultata? Recimo imam tabelu tbl cene u kojoj imam polja šifra,naziv,cena,broj cenovnika,datum cenovnika.Kako da dodelim nekom polju (recimo polje cena) na podformi glavne forme vrednost koja se dobija recimo za šifru artikla čija je cena iz cenovnika broj ,koji je ukucan u unbound text polju na samoj podformi.Nadam se da sam bio jasan.Pokušao sam sa sledećim kodom ,ali ništa:
Code:
 Dim strFilter As String
                                  Dim strFilter2 as String    
                  strFilter = "šifra= " & Me![artikal]
                   strFilter2="broj cenovnika"= & Me!cenovniktext ' polje na podformi u koji se ukucava broj cenovnika koji se želi primeniti.
      Me!cenaf = DLookup("cena", "[tblcene-datum]", strFilter AND strFilter2)

U brejk modu za strFilter dobijam rezultat recimo 10,za strFilter2 recimo 2 ,ali mi za Me!cenaf daje rezultat 0,a treba recimo 45.To je cena iz cenovnika broj 2 za šifru 10.U čemu je problem?
Potpis
Jednog dana...
Re: dva kriterijuma u dlookup funkciji 20.03.2008. u 09:00 · pre 226 meseci #4
Kriva ti je sintaksa

----> AND
i moraš obratiti pažnju koji je tip podataka , ako je string onda metneš u uvjet apostrof '
i kod naziva tablica nije preporucljivo koristiti - bolje je _

Dim strFilter As String
Dim strFilter2 as String
strFilter = "šifra= " & Me![artikal]
strFilter2="broj cenovnika"= & Me!cenovniktext ' polje na podformi u koji se ukucava broj cenovnika koji se želi primeniti.
Me!cenaf = DLookup("cena", "[tblcene-datum]", strFilter AND strFilter2)

ja bi to ovako napisao

Me!cenaf = DLookup("cena", "[tblcene-datum]", "sifra='" & Me![artikal] & "' AND broj cenovnka='" & Me!cenovniktext & "'" )
Re: dva kriterijuma u dlookup funkciji 20.03.2008. u 10:43 · pre 226 meseci #5

U primeru ( Dlookup.MDB) sam napisao kod koji treba da radi,ali neće.Prepoznaje artikal i broj cenovnika ali vraća vrednost 0 Tj poruku Type mysmatch.Mislim da je u pitanji tip podataka za polja artikal (Number) i za broj cenovnika (Number).U kodu kad napišem da je strFilter As String i strFilter2 As String,filter prepoznaje broj cenovnika i artikal,a ako stavim da su strFilter i strFilter2 tipa Integer onda vraća vrednost 0 odmah na početku koda : strFilter = "artikal=" & Me. artikal.A kod koji je Trtko dole napisao ne radi.
Potpis
Jednog dana...
Re: dva kriterijuma u dlookup funkciji 20.03.2008. u 14:18 · pre 226 meseci #6
Polje na formi sa kojeg vučeš broj cenovnika se zove Combo10, a ne cenovniktext. Ako nekog, kome je ime Milisav, pozoveš sa: "Žiko vrati mi broj cenovnika", hoće li se to dogoditi? I poskidaj apostrofe ako su numerici u pitanju.
Potpis
https://mzahorjanski.wixsite.com/mzahorjanski
https://www.fiverr.com/miroljubzahorja?up_rollout=true
https://www.youtube.com/@miroljubzahorjanski


Re: dva kriterijuma u dlookup funkciji 20.03.2008. u 14:32 · pre 226 meseci #7
Ako ste otvorili primer,videćete da je u kodu tako i napisano: "broj cenovnika=" & Me.Combo10,ali opet neće da radi.
Potpis
Jednog dana...
Re: dva kriterijuma u dlookup funkciji 20.03.2008. u 15:01 · pre 226 meseci #8
Vidim to u kodu. Ono što sam napisao odnosilo se na kod u postu i komentar da Trtkov kod ne radi. Malo sam se našalio u vezi pogrešnih naziva. Ne zameri. Ti možda uspevaš da dođeš do : "......Prepoznaje artikal i broj cenovnika ali vraća vrednost 0 Tj poruku Type mysmatch." Ja ni dotle ne mogu da dođem jer po izlasku iz polja artikal na formi dobijam sledeću poruku sa slike.

.

Verovatno je nešto loše "sečen" fajla kad je pravljen primer.Nešto fali, a ne znam šta.
Potpis
https://mzahorjanski.wixsite.com/mzahorjanski
https://www.fiverr.com/miroljubzahorja?up_rollout=true
https://www.youtube.com/@miroljubzahorjanski


Re: dva kriterijuma u dlookup funkciji 20.03.2008. u 16:43 · pre 226 meseci #9
Greška »Data type mismatch in criteria expression« pri izvođenju DLookup funkcije ukazuje da je sva prilika da
ne može da se upoređuju numerički tipovi vrednosti ili polja (kao što je šifra u mom primeru) te stoga upotrebi funkciju CStr( ) kao u primeru:

DLookUp("[naziv]", "rb_artikli'', "CStr([sifra])='" & CStr(Me![sifra]) & "'")

Dakle probaj Trtkovu varijantu ali sa ispravnim nazivima sa forme i pretvaranjem numerika u stringove sa CStr().
Rado bih proverio na tvom primeru ali primer kod mene ne radi.
I savet. Šifre kao što su Artikal i broj cenovnika nemoj da definišeš sa Double već sa Long Integer. Double nije ceo broj, već je predviđen za računanje sa duplom tačnošću.
Potpis
https://mzahorjanski.wixsite.com/mzahorjanski
https://www.fiverr.com/miroljubzahorja?up_rollout=true
https://www.youtube.com/@miroljubzahorjanski


Re: dva kriterijuma u dlookup funkciji 20.03.2008. u 21:09 · pre 226 meseci #10
Sve sam probao,ali jednostavno ne ide.Kada u funkciji dlookup postavim samo jedan kriterijum:dlookup("cena","tblcenedatum", "šifraartikal=" & Me.artikal) funkcija radi,ali kad pokušam i sa drugim kriterijumom,jednostavno NEĆE!!!Evo Getsbi novi primer,nadam se da ćeš moći da ga otvoriš i da mi pomogneš.Pozdrav.
Potpis
Jednog dana...
Re: dva kriterijuma u dlookup funkciji 20.03.2008. u 21:44 · pre 226 meseci #11
Evo ga kod koji radi NAPOKON:Me.fcena = DLookup("cena", "[tblcenedatum]", "šifraartikla= " & Me![artikal] & "And brojcenovnika= " & Me!Combo8).Hvala svima.
Potpis
Jednog dana...
Re: dva kriterijuma u dlookup funkciji 20.03.2008. u 21:50 · pre 226 meseci
izmenjeno 1 put, poslednji put Getsbi 20.03.2008. u 22:17
  1. Getsbi20.03.2008. u 22:17zapis iz teksta poruke
#12
Drago mi je da je proradilo jer kod mene i ovaj drugi fajl ima istu grešku koju sam poslao na slici.
Taman sam hteo da ti pošaljem samo ovaj red koda koji je u skladu sa onim što sam gore pominjao da se nekad upoređivanje numeričkih vrednosti mora uraditi sa CStr() funkcijom ne bi li se zaobišla greška »Data type mismatch in criteria expression« pri izvođenju DLookup funkcije.

Me.fcena = DLookup("cena", "tblcenedatum", "CStr(sifraartikla)='" & CStr(Me![artikal]) & "' AND Cstr(brojcenovnka)='" & CStr(Me!Combo8) & "'")


Poboljšanju situacije je doprinelo verovatno i upotreba Long Integer umesto Double na poljima iz uslova.
Polje fcena u tabeli prepravi sa Long Integer na Currency ili Number Single.
Potpis
https://mzahorjanski.wixsite.com/mzahorjanski
https://www.fiverr.com/miroljubzahorja?up_rollout=true
https://www.youtube.com/@miroljubzahorjanski


Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme