[ JamesG @ 10.01.2007. 20:01 ] @
Pozdrav svima

Koristim VB6 i access 2003,
Interesuje me da li neko zna kako primjeniti SQL izraze u kombinaciji sa Adodc kontrolom (update, delete, insert...)
Poznato mi je rucno bez adodc data kontrole recimo :
rs.execute "sql izraz"
kako isto napraviti sa adodc-om?
E sad drugi problem je :

Imam dva datagrida
Prvi za izvor ima neku tabelu(dataGrid1 - Tabela1), a drugi se filtrira (Datagrid1 - rowColChange procedurom )
t.j. koristim opet SQL izraz ubačen u string var. strSQL

Znaci povezivanje dvije tabele preko Adodc-a sa inner Join SQL komandom (ako me ista razumijete:))
Problem nastaje kada zelim dodati novi upis u tabelu1 (datagrid1) zbog toga jer je strSQL prazan
Kako da "ponistim" datagrid1.RowColChange strSQL kada dodajem novi rekord u tabelu1???
Koja konfuzija, hvala u naprijed ako iko odgovori na ova pitanja...?!?
[ Marko_L @ 16.01.2007. 06:27 ] @
Ne sećam se kad sam zadnji put radio sa Adodc kontrolom :), tako da niasm siguran kako izvršiti Execute metodu preko nje, ali zašto bi to radio. Jednostavno napraviš neku funkciju koja će da odradi execute i posle njenog pozivanja pozoveš Adodc1.Refresh. što se tiče drugog problema, ako sam te dobro shvatio, treba ti neki flag koji će da sprečava izvršavanje query-ja kada upisuješ podatak. To može biti jedna boolean varijabla, recimo upis, pa onda kad upisuješ podatke staviš upis = true a na početku RowColChange procedure staviš If upis = true then exit sub.
[ Eurora3D Team @ 16.01.2007. 12:44 ] @
Evo ti primer koda za SQL upite sa ADODC
Code:
Ad1.RecordSource = "SELECT * FROM WTable WHERE Word='" & WList.Text & "'"
Ad1.Refresh

Stavi negde ispred i conection string za povezivanje sa bazom (adresa baze je u variabli base) ako nije predhodno definisan.
Ad1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & base & ";Persist Security Info=False"
Evo ti i neki primer za upisivanje i brisanje redova. To se radi sa Recordset objektom ADODC-a. Recordset mozes da zamislis kao novu tabelu u memoriji dobijenu SQL filtriranjem baze. Pokazivac moze da se krece dole-gore kroz redove sa .MoveNext , .MovePrevious itd.

Upisivanje vrednosti u kolone trenutnog reda

Code:
With Ad1.Recordset
'!Word = nWord ' 3 kolone za upis ispred imena se stavlja !
!WPicture = WImg.Text
!WCon = CInt(WCon.Text)
.Update 'Obavezno uradi update
.Close
End With


Brisanje trenutnog reda

Code:
With Ad1.Recordset
.Delete
.Update
.Close
End With


Pozdrav

Marko_L : Dodati code tagovi

[Ovu poruku je menjao Marko_L dana 16.01.2007. u 23:53 GMT+1]
[ JamesG @ 24.01.2007. 01:01 ] @
Hvala na pomoći "Eurora3d team" bile su mi poznate metode updat,delete... sa Adodc-om koje si postavio
mene je interesovalo isključivo execute što sam i riješio, možda i vama bude trebalo pa evo primjer koji radi ok:
(strSql - naravno definisani string)
strSql = "INSERT INTO tblUgrArt(NalogID, ArtikalID, Kolicina, Ukupno, Greska) VALUES ('" & Form4.txtNalogID & "', '" & Adodc2.Recordset("ArtikalID") & "', '" & Text3 & "', '" & Text6 & "', '" & Combo1 & "')"
Adodc3.Recordset.ActiveConnection.Execute strSql

Takođe hvala Marko_L , upotrijebio sam tvoj savjet i funkcioniše super, a ja se spetljo s glupostima "set strSql = nothing"
pa uvijek neka greška....
Još jednom hvala!!!