Može li se ODBC konekcijom likovati sa MySQL-om još nešto osim tabela ? (neki upit sa prosledjenim parametrom na primer )
Veza sa MySQL-om
Zaključano
Zakačeno
Probaj pass-thru query. Pass-thru query se izvrsava na serveru na koji si zakacen, u sintaksi tog servera. Ako je tvoj server MySQL, onda u pass thru upises kakvu god hoces MySQL naredby i to se izvrsi na MySQL. Accesu se samo prosledi rezultat. Mozes da pozivas i stored procedures. Ja ne znam MySQL, a li u MS SQQL to izgleda ovako nekako:
EXECUTE uspMyStoredProcedure @Ime = 'abcd', @Broj = 3
U Accesu treba da sastavis string koji izgleda tacno kao tvoaj MySQL naredba, postavis da to bude qdef.sql za pass thru query i onda ga izvrsis. Ima znaci nekoliko koraka, potrebno je menjati u letu SQL izkaz za querydef (tvoj kveri) i izvrsiti ga na kraju.
Nije totalno jednostavno, ali nije ni pretesko, i nije za amatere, ali ni ti nisi amater
EXECUTE uspMyStoredProcedure @Ime = 'abcd', @Broj = 3
U Accesu treba da sastavis string koji izgleda tacno kao tvoaj MySQL naredba, postavis da to bude qdef.sql za pass thru query i onda ga izvrsis. Ima znaci nekoliko koraka, potrebno je menjati u letu SQL izkaz za querydef (tvoj kveri) i izvrsiti ga na kraju.
Nije totalno jednostavno, ali nije ni pretesko, i nije za amatere, ali ni ti nisi amater
Probao sam Pass-thru query i to je to ali
Kako da kreiram Pass-thru query kodom ???
Kako da kreiram Pass-thru query kodom ???
Korak 1: Napravi pass thru kveri rucno - kreiras obican kveri, pa mu dodelis da je pass-thru, ne mora da ima nikakav SQL statement unutra. Dodaj mu ODBC conection rucno. Neka se taj kveri sacuva pod imenom qpasMySQL
U kodu, kad ti treba da izvrsis pass-thru sa konkretnim podacima onda radis ovako:
:-)
U kodu, kad ti treba da izvrsis pass-thru sa konkretnim podacima onda radis ovako:
Code:
sub OpenPassThru
dim db as DAO.database
dim qdef as DAO.QueryDef
dim strSQL as string
set db = currentdb
set qdef = db.QueryDefs ("qpasMySQL")
strSL = 'SELECT.... ovde dodje komanda koja terba da se izvris u MySQL'
qdef.SQL = strSQL 'ovim si dodelio tvom postojecem kveriju novu definiciju
'sada otvoris taj kveri kako to odgovara, moze preko recordseta a moze i kao query
dim rs AS DAO.Recordset
set rs = db.openrecordset ("SELECT * FROM qpasMySQL")
' a moze i ovako:
DoCmd.OpenQuery QueryName:="qpasMySQL"
'Na kraju zatvoris db, rs i qdef objekte
ON ERROR RESUME NEXT
rs.close
set qdef = nothing
set db = nothing
set rs = nothing
end sub
sub OpenPassThru
dim db as DAO.database
dim qdef as DAO.QueryDef
dim strSQL as string
set db = currentdb
set qdef = db.QueryDefs ("qpasMySQL")
strSL = 'SELECT.... ovde dodje komanda koja terba da se izvris u MySQL'
qdef.SQL = strSQL 'ovim si dodelio tvom postojecem kveriju novu definiciju
'sada otvoris taj kveri kako to odgovara, moze preko recordseta a moze i kao query
dim rs AS DAO.Recordset
set rs = db.openrecordset ("SELECT * FROM qpasMySQL")
' a moze i ovako:
DoCmd.OpenQuery QueryName:="qpasMySQL"
'Na kraju zatvoris db, rs i qdef objekte
ON ERROR RESUME NEXT
rs.close
set qdef = nothing
set db = nothing
set rs = nothing
end sub
:-)