Centar za edukaciju-BiH


Stranice (3):1,2,3

#1 16.03.2011 14:27
Zuko Van mreze
Clan
Registrovan od:13.09.2010
Postovi:382


Predmet:sql upit u VBA-modu
Nisam hito da uzimam staru temu mada je vezana za prenos MIP-1023 u WML formatu, prenos sam uradi i validacija mi je prošla ok. Radi se o sljedecem kad uradim upit direktno na tabelu sa uslovima mjeseca uradi kako treba ali pošto u tabeli imama više firmi pa mi da podatke za sve uposlenike, ali kada hoću da napravim recordsett na Query koji izdvaja podatke iz tabele radnika u kojoj imam i sifru firme javlja mi gresku " too few parameters, expected 2" da ima previse parametara.
Query koj sam napravio izgleda ovako:

u SQL-u:

SELECT TLD.jmb, TLD.Mjesec, Tradnik.Sifra_Preduzeca, TLD.Osnovna_plata, TLD.Masa_staza, TLD.Neto_plata, TLD.Neto_plata_stvari, TLD.Neto_ukupni, TLD.Bruto_plata, TLD.Bruto_plata_stvari, TLD.Bruto_ukupni, TLD.sindikat, TLD.FS, TLD.PornaLD, TLD.PIO, TLD.ZO, TLD.OON, TLD.Olakšice, TLD.SumaBrutoDoprinosa, TLD.Plata2
FROM TLD LEFT JOIN Tradnik ON TLD.jmb = Tradnik.JMB
WHERE (((TLD.Mjesec)=[forms]![test]![mjesec1]) AND ((Tradnik.Sifra_Preduzeca)=[forms]![test]![sifrafirme]));

ovako sam ga prenio u VB(mislim kao i sve, da je u redu(jer kompajler nejavlja geršku):
SQL = "select * from s1"

i kada setujem RS3 javlja gore navedenu grešku

Set Rs3 = Db.OpenRecordset(SQL)ž

sad neznam dali mi je SQL naredba u VB dobro napisana

Molim za pomoć
Pozdav,

Nedim
↑  ↓

#2 16.03.2011 14:49
miro35 Van mreze
Clan
Registrovan od:05.01.2009
Postovi:608


Predmet:Re: sql upit u VBA-modu
Ovako ja imam u svojoj funkciji:
Set Rs1 = Db.OpenRecordset("Select distinct sifra FROM qry1022", dbOpenDynaset)
Set Rs2 = Db.OpenRecordset("SELECT * FROM PodaciOPrihodimaDoprinosimaIPorezu WHERE sifra='" & Rs1!sifra & "' order by Mjesec")
Možda najbolje da probaš na samom query staviti ono Forms!frmMIP1023!Firma (npr)
Isto tako staviš za mjesec isto na query i onda
staviš ovako recordset u VB-u:
Set rs2 = db.OpenRecordset("SELECT * FROM qryISPISMIP1023 ", dbOpenDynaset)
i onda pišeš: rs2!TLD.Mjesec
Miro
↑  ↓

#3 16.03.2011 15:07
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: sql upit u VBA-modu
Sta ti je ovo polje njesec?
jeli datum broj ili strinG.
Sifra_Preduzeca pretpostavljam da je broj.
Ako nije napisi.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#4 16.03.2011 15:31
Zuko Van mreze
Clan
Registrovan od:13.09.2010
Postovi:382


Predmet:Re: sql upit u VBA-modu
Mjesec je ključno polje iz tabele mjeseca gdje imam rb(ključ) po mjesecima od 1..12 naziv (ime mjeseca) i dani (broj dana u mjesecu). sifra_preduzeca jeste nuber

a za miru
sve sam ja ovo gorwe probao kad setujem rs3 ovako
Set Rs3 = Db.OpenRecordset("SELECT * FROM TLD WHERE mjesec = " & Forms!test!Mjesec1 & " ORDER BY TLD.Mjesec, TLD.DatumLD, TLD.jmb")
radi samo sto mi daje sve uposlenike za mjesec
a kad dam
Set Rs3 = Db.OpenRecordset(SQL)
onda mi javlja gresku iz posta 1

a napravio sam query u kome izdvajam iz tabele TLD (tabela ld), preko tabele tadnika gdje je upisana sirfa preduzeca(taj query radi ok), ali dad u VB napravim SQL i pozovem taj query nece

SQL = "select * from s1" mislio sam da je greska u sintaksi pa sam stavio na kraju ; (a znam da netreba), ali kad nece onda sve probaš
Pozdav,

Nedim
↑  ↓

#5 16.03.2011 16:00
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: sql upit u VBA-modu
Dim SQL as string
Dim SQLUslov as string
dim Uslov1 as integer
Dim Uslov2 as integer

Uslov1=[forms]![test]![mjesec1]
uslov2=[forms]![test]![sifrafirme]
SQL="SELECT TLD.jmb, TLD.Mjesec, Tradnik.Sifra_Preduzeca, TLD.Osnovna_plata, TLD.Masa_staza, TLD.Neto_plata, TLD.Neto_plata_stvari, TLD.Neto_ukupni, TLD.Bruto_plata, TLD.Bruto_plata_stvari, TLD.Bruto_ukupni, TLD.sindikat, TLD.FS, TLD.PornaLD, TLD.PIO, TLD.ZO, TLD.OON, TLD.Olakšice, TLD.SumaBrutoDoprinosa, TLD.Plata2
FROM TLD LEFT JOIN Tradnik ON TLD.jmb = Tradnik.JMB "' --->nakraju jedno prezno mjesto

SQLUslov="WHERE " & uslov1 & " AND " & uslov2

SQL=SQL & SQLUslov
Set Rs3 = Db.OpenRecordset(SQL)
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#6 16.03.2011 16:29
Zuko Van mreze
Clan
Registrovan od:13.09.2010
Postovi:382


Predmet:Re: sql upit u VBA-modu
Nije dobro ovaj sql da mi sve zaposlene u bazi, a ne izdvoji samo one za zadanu firmu.
SQL="SELECT TLD.jmb, TLD.Mjesec, Tradnik.Sifra_Preduzeca, TLD.Osnovna_plata, TLD.Masa_staza, TLD.Neto_plata, TLD.Neto_plata_stvari, TLD.Neto_ukupni, TLD.Bruto_plata, TLD.Bruto_plata_stvari, TLD.Bruto_ukupni, TLD.sindikat, TLD.FS, TLD.PornaLD, TLD.PIO, TLD.ZO, TLD.OON, TLD.Olakšice, TLD.SumaBrutoDoprinosa, TLD.Plata2
FROM TLD LEFT JOIN Tradnik ON TLD.jmb = Tradnik.JMB "' --->nakraju jedno prezno mjesto

kada u sql zadam i polje TLD.sifra firme, ponovo da istu grešku kao u prvom postu da

a mozes li mi reci što ovaj sql gdje kazem select * from s1 (jer u query-u s1 je sve kako mi treba) nece da radi
Pozdav,

Nedim
Ovaj post je ureden 1 puta. Posljednja izmjena 16.03.2011 16:31 od strane nzuko. ↑  ↓

#7 16.03.2011 19:01
roko Van mreze
Clan
Registrovan od:02.02.2009
Postovi:236


Predmet:Re: sql upit u VBA-modu
Zašto ne provaš stvoriti upit kroz Query pa stvi upit šifru neke firme i šifru nekog mjeseca pa pogledš upit kroz SQL View i vidiš gdje si falio
možda LEFT JOIN postane INNER JOIN ili nešto treče
mislim da je problem u vrsti podataka pa možda upit treba na neki drugi način pozvati
ili je možda TLD.sifra firme text
↑  ↓

#8 16.03.2011 19:03
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: sql upit u VBA-modu
Ma daj zakaci to i kazi sta hoces?
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#9 16.03.2011 19:06
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: sql upit u VBA-modu
Citat:
SQL="SELECT TLD.jmb, TLD.Mjesec, Tradnik.Sifra_Preduzeca, TLD.Osnovna_plata, TLD.Masa_staza, TLD.Neto_plata, TLD.Neto_plata_stvari, TLD.Neto_ukupni, TLD.Bruto_plata, TLD.Bruto_plata_stvari, TLD.Bruto_ukupni, TLD.sindikat, TLD.FS, TLD.PornaLD, TLD.PIO, TLD.ZO, TLD.OON, TLD.Olakšice, TLD.SumaBrutoDoprinosa, TLD.Plata2
FROM TLD LEFT JOIN Tradnik ON TLD.jmb = Tradnik.JMB "'

sql bez uslova

sad na njega dodajes uslov
Citat:
SQLUslov="WHERE " & uslov1 & " AND " & uslov2
stim da je uslov1 i uslov2 memorijske u kojima je ucitan uslov sa forme
sada sastavis ova dva stringa
SQL=SQL & SQLUslov

i ovo je sad sql koji trebas pokrenuti.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#10 16.03.2011 19:06
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: sql upit u VBA-modu
Citat:
SQL="SELECT TLD.jmb, TLD.Mjesec, Tradnik.Sifra_Preduzeca, TLD.Osnovna_plata, TLD.Masa_staza, TLD.Neto_plata, TLD.Neto_plata_stvari, TLD.Neto_ukupni, TLD.Bruto_plata, TLD.Bruto_plata_stvari, TLD.Bruto_ukupni, TLD.sindikat, TLD.FS, TLD.PornaLD, TLD.PIO, TLD.ZO, TLD.OON, TLD.Olakšice, TLD.SumaBrutoDoprinosa, TLD.Plata2
FROM TLD LEFT JOIN Tradnik ON TLD.jmb = Tradnik.JMB "'

sql bez uslova

sad na njega dodajes uslov
Citat:
SQLUslov="WHERE " & uslov1 & " AND " & uslov2
stim da je uslov1 i uslov2 memorijske u kojima je ucitan uslov sa forme
sada sastavis ova dva stringa
SQL=SQL & SQLUslov

i ovo je sad sql koji trebas pokrenuti.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

Stranice (3):1,2,3


Sva vremena su GMT +01:00. Trenutno vrijeme: 12: 18 pm.