[ vedranp @ 05.11.2006. 12:49 ] @
Zasto ovaj upit izbacuje gresku?


Syntax error in INSERT INTO statement

stvarno ne rezumem sta ovde sintaksno nije dobro?

baza.Execute "INSERT INTO MesecniPromet(sifra) " & _
"(SELECT DISTINCT sifra FROM DnevniPromet)" & _
" UNION " & _
"(SELECT DISTINCT sifra FROM MesecniPromet)"
[ goranvuc @ 05.11.2006. 16:32 ] @
Verovatno ti fali SPACE karakter izmedju "MesecniPromet" i "(sifra)", pa je to uzrok.
[ vedranp @ 07.11.2006. 16:45 ] @
Nije problem do spejsa.

recimo
upit1 = "INSERT INTO MesecniPromet (sifra) SELECT DISTINCT sifra FROM " & _ "DnevniPromet"
baza.Execute upit1

ovo radi ok ali ako dodam union nece
bez zagrada tj.

upit1= "INSERT INTO MesecniPromet (sifra) " & _
" SELECT DISTINCT sifra FROM DnevniPromet " & _
" UNION " & _
" SELECT DISTINCT sifra FROM MesecniPromet"
baza.Execute upit1

izbacuje
Syntax error in FROM clause

molio bih nekog ako uoci gresku da mi sto pre javi u frci sam.
Pretpostavljam da je nesto u sintaksi prilikom koriscenja UNION.

[ goranvuc @ 07.11.2006. 17:08 ] @
Sad sam tek primetio sta radis.

INSERT INTO ne moze u MS Access-u kao izvor podataka imati UNION Query.

Resenje je da posebno sacuvas UNION kao Query, a onda iz njega da radis insert.
[ vedranp @ 16.12.2006. 22:25 ] @
1)Treba da napravim upit koji ce u tabelu mesecni_promet ubaciti sve artikle iz tabele
dnevni promet koji imaju razlicitu sifru i cenu od onih koji vec postoje u dnevnom_prometu.

Ovako bi to izgledalo skolski ali u accessu ne moze:

upit1 = "INSERT INTO MesecniPromet (sifra,cena)
SELECT (sifra,cena) FROM DnevniPromet
INTERSECT
SELECT (sifra,cena) FROM MesecniPromet)"

baza.Execute upit1

Gorane, mozes li da mi napises kao si to zamislio?

2)
Kako da povezem aplikaciju sa FoxPro ili MySQl bazom.
Koji je connection string za njih.

Mislio sam da uzmem neke od ovih baza mozda one dopustaju ovakve upite.

Za access je blo:
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "/baza.mdb;Persist Security Info=False"
Set baza = New ADODB.Connection
baza.Open constr

[ goranvuc @ 16.12.2006. 22:48 ] @
Za ono pod 1)

Mislio sam da je jasno o cemu pricam, ali ...

Treba da SQL
Code:

SELECT sifra FROM DnevniPromet 
UNION
SELECT sifra FROM MesecniPromet

sacuvas kao Query pod nekim imenom, npr UNIJA, a onda selektujes/insertujes iz njega isto kao iz bilo koje tabele
Code:

INSERT INTO MesecniPromet (sifra) SELECT sifra FROM UNIJA


Nisam bas ulazio u smislenost postavljenog problema, valjda znas sta radis.
[ vedranp @ 17.12.2006. 16:45 ] @
Sto se tice smisla to je ok!
Razumeo sam ja tebe sta si mislio nego nisam mogao to da implementiram, pa
sam mislio da mi to parce napises konkretno u VB ako nije problem:)

Da se zadrzim na onom prvom primeru sa uniom, u ostalom nije uopste bitno koji je primer nego da odradim neke skupovne operacije tipa UNION, EXEPT ili INTERSECT...
Ustvari ja samo hocu da napravim uniju dve stvari i da je stavim u neku drugu tabelu...

Jesi li mislio ovako:

baza.Execute "CREATE VIEW unija AS SELECT sifra FROM Artikli UNION sifra FROM MesecniPromet"

///Ovde prijavljuje gresku da u podupit ne moze da sadrzi UNIONS.....

baza.Exeute "INSERT INTO MesecniPromet (sifra) SELECT sifra FROM unija"

Kako to sa Query?

Pozdrav i hvala unapred!
[ goranvuc @ 17.12.2006. 20:26 ] @
Citat:
vedranp:
Jesi li mislio ovako:

baza.Execute "CREATE VIEW unija AS SELECT sifra FROM Artikli UNION sifra FROM MesecniPromet"

///Ovde prijavljuje gresku da u podupit ne moze da sadrzi UNIONS.....

Cekaj, ako si napisao kao ovo sto citiram, naravno da javlja gresku.

Napisao si
Code:

"CREATE VIEW unija AS SELECT sifra FROM Artikli UNION sifra FROM MesecniPromet"

a treba
Code:

"CREATE VIEW unija AS SELECT sifra FROM Artikli UNION SELECT sifra FROM MesecniPromet"

ajde prvo to proveri.
[ vedranp @ 18.12.2006. 20:13 ] @
Napisao sam kao ti, ono SELECT sam izostavio prilikom pisanja poruke.
Tako da to nije problem.
A primetio sam da INTERSECT ili EXCEPT uopste ne prepoznaje u bilo kakvom upitu.
recimo:
Adodc1.RecordSource = "SELECT sifra FROM artikli UNION SELECT sifra FROM MesecniPromet"
ovo radi a:


Adodc1.RecordSource = "SELECT sifra FROM artikli INTERSECT SELECT sifra FROM MesecniPromet"
a ovo nece.....
[ goranvuc @ 18.12.2006. 23:34 ] @
Jet ne poznaje INTERSECT kao kljucnu rec.
[ vedranp @ 21.12.2006. 14:34 ] @
Da li to znaci da ne postoji nacin da se ovo uradi?
[ Cudni_Cvarak @ 27.12.2006. 17:24 ] @
Hmm zanimljivo....


[Ovu poruku je menjao Cudni_Cvarak dana 17.01.2007. u 15:39 GMT+1]